VBA別館・Python別館
Python 変数遊び - Tak
2018/10/16 (Tue) 09:09:41
ここでは、変数に文字列を格納した時の機能を遊び感覚で覚えましょう。
fileを作るまでのことは有りません。 Python Shellで一行ごとで簡単に処理結果まで見ましょう。
ウインドーズに付属のDOSコマンドででもPythonが使えます。 図をご覧ください。
① 文字列の繰り返し
>>> text=''
>>> text +='Hello'
>>> text +='World'
>>> text
'HelloWorld'
-------------------
・textの値をckearしておく
・text +=は 連結するという演算子なので、HelloとWorldが連結されました。
Re: Python 変数遊び - Tak
2018/10/16 (Tue) 13:37:04
② 文字列の掛け算?
>>>text='Hello'
>>>text*3
>>>text
'HelloHelloHello'
>>>text*1
'Hello
>>>text*0
''
これは何をしているかと言いますと、変数*数値は繰り返しを意味しています。 だから*3とすれば、その変数に格納されていた文字列が3回繰り返されたのです。
図はOS付属のコマンドプロンプトを使って、pythonの処理を行っています。
コマンドプロンプトを立ち上げたら、pythonと入力して下さい。 これでpythonの処理が出来るようになります。
Re: Python 変数遊び - Tak
2018/10/16 (Tue) 17:03:14
③ 整数と浮動小数変数の足し算
>>> fig1=10
>>> fig2=2.12345
>>> fig1+fig2
12.12345
整数と小数点数値ですの、そのまま足し算・引き算はできます。
Re: Python 変数遊び - Tak
2018/10/16 (Tue) 20:19:05
④ 変数の型を調べる
整数、小数点数、文字列それに型変換などやっていると、今この関数の型は何だっけ? となります。
結論を言うと、変数の型を調べるにはtype()を使います。
>>> a=10
>>> b=3056
>>> c='Hello'
>>>type(a)
<class 'int'>
>>>type(b)
<class 'float'>
>>>type(c)
<class 'str'>
と正しい変数の型(class)が表示されます。
Re: Python 変数遊び - Tak
2018/10/17 (Wed) 06:50:03
⑤ ご存知len()の使い方
VBAでも出てきたlen()関数ですが、pythonのlen()は文字列の文字数を数えます。
ウインドーズ10付属のコマンドプロンプトで、文字列を表示させてみます。
・まずコマンドプロンプトを立ち上げたら、pythonと入れて下さい。 これでpythonの基本ソフトが読み込まれました。
・a=100-->len(a):文字列ではないのでエラー
・len(str(a)):aをstr(a)と文字列にしてやると、長さは3と出る
・a='He llo'(半角スペース有り):スペースも数えて6
・a='He llo'(全角スペース有り):6と表示される(変な表示('He\u3000llo')が入っているが全角も一個と数えられているようです)。 全角は\u3000で表すらしいですね。
------図の表示------------
C:\Users\tak11>python
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> a=100
>>> len(a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: object of type 'int' has no len()
>>> len(str(a))
3
>>> a='He llo'
>>> a
'He llo'
>>> len(a)
6
>>> a='He llo'
>>> a
'He\u3000llo'
>>> len(a)
6
>>>
Re: Python 変数遊び - Tak
2018/10/17 (Wed) 07:51:21
⑦ 変数クイズ
次の問題を考えて下さい。
>>>int(1.1421999)
?
>>>str(100)
>>>len('こんにちは')
?
答えは次回。