ホーム     戻る

第5章 数値と文字列の変換、付raw_input関数
   
 

"幕開け

森繁劇団の毎日開幕の前と、開幕の後にみんなで歌う劇団歌があつた。

ああ歓びも 悲しみも

苦しみも胸に秘め 胸に秘め

ベルが鳴る鳴る 幕開きだ

昨日を今日に 実らせよ

生きとし生ける この世なれ

作詞作曲森繁久弥だった。森繁さんも、もう一度スポットライトの中に立つ日がきっとある。と結ばれている.。
大遺言書・久世光彦。週間新潮16/7/15)"

事例で理解する

 
str(),eval()、ord()
 
 (1)文字列の変換

>>> var1 = 2                     数値
>>> var2 = ' 5 '                   文字列 ’’で囲まれている
>>> print var1 + var2               数値と文字列の加算してみる 
Traceback (most recent call last):       エラー表示
  File "<pyshell#9>", line 1, in <module>
    print var1 + var2

TypeError: unsupported operand type(s) for +: 'int' and 'str'
値と文字列の加算はできないのでエラーとなる。

 str()オブジェクトを文字列に変換する
     
>>> var1 =  2                         数値
>>> var2 = ' 5 '                       文字列
>>> print str(var1) + var2 

                                str() はオブジェクトを文字列に変換  
25 
                               
var1を文字列に変換して加算。文字2と文字5がプラスされて25と表示された。
 
n = 1000
nstr = str(n)
                                      数値を文字列に
print
nstr

1000
 
                                      文字から数値へ
nstr = '1000'
n = int(nstr)
n += 1
1001
print n eval()オブジェクトを数値に変換する

>>> print var1 + eval(var2)     
 7                             
>>> print eval('99.999')
99.999           
>>> print int(eval('99.999'))               int () は整数に変換する。
99                         整数として値が出力
>>> print 20                   数値
20
>>> print str(20)                
数値を文字列に変換
20
>>> print '20'                  文字列として入力
20
 
printコマンドは数値も文字列も見た目はどれも同じモノとして出力する。
 
参考
str = 'abcdefghijklmn'
for s in str:
  v = ord(s)
 print v
                   ord():ASCII文字をバイト値に変える

                       バイト値
                       が表示された
97
98
99
100
101
102
103
104
105
106
107
108
109
110
 

(2)raw_input ,input (prompt)関数
 

prompt
を出力表示し、入力を促し、入力一行を読み込んでそのまま返す
               関数。

ユーザとの対話的処理を行う。

次の例では raw_input () が関数。“何か入力してください。>”と「もしもし聞こえますか」と入力する文字列が引き数。
引数が変数に戻り値として代入。

次のprint str(s)は少し簡単で、printはコマンド文。str(s)は関数で、
ッコの中の引数 が戻り値としてコンピュータの中で文字列に変換。

 1 raw_input(prompt 関数
 

>>> s = raw_input("何か入力してください。> ")    sが変数。
何か入力してください。>  'もしもし聞こえますか'     ユーザ入力部分

>>> print str(s)              sに’もしもし聞こえますか’が代入。  
'もしもし聞こえますか'
 

 

>>> name = raw_input('今日は!君の名前は何かな?>')

今日は!君の名前は何かな?>Yamada         Yamadaと入力する。

print
'君の名前は' + name + ' だね、よい名前じゃないか! '

君の名前はChrisだね、よい名前じゃないか!
nameには、Yamadaが代入されている

print
'よろしく' + name

よろしくYamada

 2 input () 関数
受け取った文字を数値に変換。

>>> number = input()
123                   数値を入力する


>>>> print number * 100                

12300

 ***変数について注意ほか***

コンセプト

変数に名前を付けるときには、それが一目でなにを指しているかわかるようにする、

何か名前を入れる変数を作るとすれば、変数名はnameとして文字列を示す。

また年齢を入れる変数の場合にはageとして整数を示ます。

 変数名はローマ字表記より英文がよい。用語
メソッド :
 オブジェクト(対象物)を扱う操作:コマンド。
       関数の仲間。

関数fanction
:要求によって実行される文をまとめたもの
          関数を実行するための要求は「関数呼び出し」と呼ばれる。
          関数を使うと、()の中の[引き数]が関数に渡されて、関数機能が働
         いて、
                  [戻り値]として結果が出力される。
引き数argument:関数が実行される際に、関数に与える値のこと。
 
戻り値:関数の実行結果としてプログラム上に返ってくる値のこと。
 
関数の形式: 関数名前 (引数)
組み込み関数コマンド:起動しただけで利用できる関数。
拡張モジュールimport(取り込み)すると利用できる。
           import sys
関数呼び出し:関数のカッコ内に入れる項目がなくても、必ずかっこをつける。
         
  sys.exit()



  1. ホーム     戻る