ホーム     戻る

 付録1 逆引文字列文字列関数  ・・・するには 20131016
改訂中
白石かずこ 詩人

( 詩集「浮遊する母、都市から」 からコトバを拾う)

  昨日(夢の中で あなたをみました)
 死と生が ここでよく顔をあわせます
 ギンズバーグは だいぶ前に いきました。

 勝手に 天へ 浮遊するものよ いや応なく浮遊するものよ
 空は晴れている そのほかに なにを
 期待しよう ここでは 誰も 笑顔を 交すだけ

    サーニャ 夕食の時間だよ
 あぶないから 上へ あがってはいけませんよ

 20131015改訂中

     文字列について

 文字列などを出力するには「print」関数

>>> print( "ようこそ")

ようこそ
>>> print ("おいでやす")
おいでやす
>>> print( '1', '2', "3")
1 2 3
>>> print ("一","二","三")
一 二 三
文字列変数を使うには
同じ文字列が何度も出現する場合、変数sで引用。

s='特例適用なし'
 print(s)
特例適用なし

 文字列を途中で改行するには 

>>> print("セーヌは流れ,\n私は残る")
セーヌは流れ,
私は残る

トリプルクオーテーション :

>>> print( """多摩川の
  清く冷たくやはらかき
      水のこころを誰に語らむ""")

多摩川の
  清く冷たくやはらかき
      水のこころを誰に語らむ

a=""" 川崎市 
          高津区 
                  溝口 """

print(a)

>>>
 川崎市 
          高津区 
                  溝口 

 コメントを付けるには 

 def 分対時():              分を時に対する%に変えて表示する
     a=input('分を入力して下さい>')
     b=(a*100/60)
          b=int(b)
           return b
           print('パーセント')

字列の連結するには 
 
>>> print( "山本" + " 太郎")
    山本
 太郎
>>> print ("テレビ" + "ニュース")
    テレビニュース
>>> print("平成" +"22年"+"九月")

 平成22年九月

.joinメソッド

  • >>> ', '.join(['川崎市','高津区'])
    '川崎市, 高津区' 

    文字列の繰り返すには

    >>> print("*"*40)
    ****************************************

    >>> print("宿題を忘れるな"*3)
    宿題を忘れるな宿題を忘れるな宿題を忘れるな

    >>> ', '.join(['川崎市','高津区'])
    '川崎市, 高津区' 

    文字列の長さを取得するには

    組み込み関数「len」を使用すると、文字列の長さを取得。

    print (len("こんにちは"))
    5

    数値を文字列に変換(str) するには

    >>> print( str(2020)+"年")
          2020年

    >>> print ("円周率" + str(3.14159))

     円周率3.14159


    インデックスを指定して要素を取得 するには

    str = "人生即別離"

    print (str[0]  )   # 人
    print
    ( str[1]   )  # 生
    print
    ( str[2] )    # 即
    print
    (str[3] )    # 別
    print
    (str[4]  )   # 離

    str = "春寒し"

    print (str[0]  )   # 春
    print (str[1] )    # 寒
    print (str[2])     # し

    スライスを使った部分文字列の取得するには

    >>> s='abcde'
    >>> s[0:3]
    'abc'

        代入:メモリー内のデータを実際に保持しているオビジェクトにオブジェクト参照束縛すること。
        識別子:オブジェクト参照に与える名前は識別子 ifentifierあるいは名前nameと呼ぶ。

  •         
       
     id()
    オブジェクトを識別する整数値を返す。
        
        
    >>> x = 3
        >>> id(x)
        505300152    
        
    >>> x +=3
        >>>
    x
        6
        >>> id(x
    )
        5053002    
      

  • 文字列の有無を確認するには
    関数 in

    >>> s = "あいうえお"
    >>> 'あ' in s
    True
    >>>

    文字列の有無を確認し、そのインデックスをもとめるには
     
    メソッド . find

    >>> s = "あいうえお"
    >>> s.find('い')
    1
    >>> s.find('お')
    4

    >>> s.find('か')

    -1     存在しない        

    大文字小文を変換するには

    >>> s='qwerty'
    >>> s.lower()
    'qwerty'
    >>> s.upper()
    'QWERTY'

     大文字小文字を確認するには

    >>> s='qwerty'
    >>> s.islower()
    True 

    >>> s.isupper()
    False 

    空白文字を確認するには

    >>> s='  '
    >>> s.isspace()
    True

     文字列の出現回数を調べるには
    >>> s = "あいうえおうえ"
    >>> s.count('う')
    2

    print可能性を確認するには

    >>> s='abc'
    >>> s.isprintable()
    True

    文字列を分割する には

    split()     partition()    


    >>> address="tokyo,japan"   <address文字列型
    >>> address.split()         <splitメソッド
    ['tokyo,japan']
    >>> address.split(",")     
    <カンマで要素を区切つて分離する。

    ['tokyo', 'japan']

     >>> s='千里鶯啼 緑映紅'
    >>> s
    .split()
    ['千里鶯啼', '緑映紅']

    >>> s='千里鶯啼且緑映紅'
    >>> s.split('且')
    ['千里鶯啼', '緑映紅']
    .
      >>> s.partition('且')
    ('千里鶯啼', '且', '緑映紅')

     文字列を置き換えるには

    .replace()

    >>> s=('一杯一杯 一杯')
    >>> s.replace(' 一杯','復一杯')
    '一杯一杯復一杯'

    左寄せ、右寄せ、中央寄せするには

    >>> s=('夕陽無限好,只是子黄昏')
    >>> s.ljust(20)
    '夕陽無限好,只是子黄昏         '
    >>> s.rjust(20)
    '         夕陽無限好,只是子黄昏' 

    >>> s.center(30)
    '         夕陽無限好,只是子黄昏  

     0詰め文字列を作るには

    >>> s='123'
    >>> s.zfill(20)
    '00000000000000000123'

    文字列を.削除するには

     >>> s='ユトテモオマエハ寝ニクウゴザロオ'
    >>> s.strip('ユ')
    'トテモオマエハ寝ニクウゴザロオ'

    >>> s2=s.strip('ユ')
    >>> s2.strip('オ')
    'トテモオマエハ寝ニクウゴザロ' 

     

      プログラムに文字列リテラルを埋め込むには

     "" 
      ''
      >>> print(" ミラボウ橋の下      セーヌは流れ  ")


     ミラボウ橋の下      セーヌは流れ
     

    >>> print('私の恋も          また流れる')

    私の恋も          また流れる 

        
     
  • 文字列を改行するには
     
      2・\ バックスラッシュ 続く文章は次の行に継続する。
  • def kaigyo():
            hello = "This is a rather long string containing\n\
          several lines of text just as you would do in C.\n\
            Note that whitespace at the beginning of the line is\
            significant."
                print(hello)

    >>> kaigyo()
      This is a rather long string containing
     several lines of text just as you would do in C.
      Note that whitespace at the beginning of the line is  significant.

     
        一行に複数の文を書くには

     セミコロンの効果
      print("月");print("雪");a="花";print(a)
     
     >>>
     月

     雪
     花

       文字と数値の出力するには
       
     
    print("%s パイソン は ナンバー  %d" % (" パイソン",1))

      パイソンはナンバー 1

     文字列の入力を促すには。

        input関数

     user =input("login name")
          print(user)

         
    m.tobari

     num=input("your number ?")
     num=int(num)
     print(num)


     
    12345

      
          
     
     文字列の型を判定するには

    value and typse 値 と 型

    integer 整数 str 文字列 float 浮動小数点

    >>> a='今日は'
       >>> type(a)
    <class 'str'>
    >>> b=123

      >>> type(b)
    <class 'int'>

      >>> a=8.7
      >>> type(a)
      
    <class 'float'>

     
     >>> a='5.7'
    >>> type(a)
    <class 'str'>


                                            
    ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
                            

                   改行 %s  と  %d との書式は
                           

     >>> '今日は'
        
        '今日は'


      >>> '日本語'                           
        
        
     '日本語'

     >>> print ('日本語')

                         
     print文で内容出力
     日本語

     >>> "私はpythonが大好きだ"
         
         
      '私はpythonが大好きだ'

     >>> print('そのオペラは、大変長い時間をかけ
           て上演され
           \n観客もくたびれ果てました。')

     そのオペラは、大変長い時間をかけて上演さ
     れ
     観客もくたびれ果てました。
      

     

     ”””        ”””の形式は

     >>> print("""pythonは入力した通りに
          表現してくれますか。
         試してください。""")

         pythonは入力した通りに
          表現してくれますか。
         試してください。
      
     
    %s  と  %d と%を使うには

     

     >>> print('%s %d 才 になりました。'  %  ('私の孫
       は'
    ,8))

        私の孫は  8 才 になりました。

     data = "太郎;25, 次郎1:23、花子:21"
     print(data)

      太郎;25,次郎1:23、花子:21

      文字列と数値を処理するには
     
     >>> 都市 ='東京'

     >>> 気温 = 28

     >>> print('都市:',都市,'気温:',気温)

     都市: 東京 気温: 28

     される文字列の長さを受け取り、文字列を左
                          寄せ、右寄せにして余白をスペースで埋めるには。

    def 文字列2():
       print(' Jesus answerd. '.center(10))
       print('Those who drink this water '.center(30))
       print('will get thirsty again. '.center(40))
       print('but those who drink the water that'.center(50))
       print('I will give them '.center(3))
       print('will never be thirsty again'.center(30))

    >>> 文字列2()
     
    Jesus answerd.
     Those who drink this water  
            will get thirsty again.        
            but those who drink the water that       
    I will give them
     will never be thirsty again 

    >>> str ='税理士試験対策'
    >>> print(str.ljust(10))

    >>> str ='税理士試験対策'
       >>>
    print(str.ljust(10))

                       
    >>>
       税理士試験対策
      

    >>> print(str.center(50))
                        

                        税理士試験対策
                         
    >>> print(str.rjust(20))
                
                 
    税理士試験対策

    >>> print(str.ljust(10) + str.rjust(30))

    税理士試験対策
                            
      税理士試験対策

    ---------------------------------------------------------------

    大文字小文字を変換するには

    >>> letters.swapcase()  lettersをコピーして大文字
                    を小文字に小             
                   
                    文字を大文字にしたものを
                    返す
                        
                                     

    'AaBbCcDdEe'

    最初のアルファベット文字を大文字に残りを小文字にするには
                   
    >>> letters.capitalize() 最初のアルファベット文字を
                   大                
                   文字に                       
                   残りを小文字に。

    'Aabbccddee'

    -----------------------------------------------

     文字列から指定した文字の存否、位置の検出には
     
    >>> sentence  =  '永平寺 中尊寺 大徳
                 寺'

    >>> sentence.find('大徳')

    8

    >>> digits  = ' 123'

    >>> digits.find('23')  

    1  
                         
    要素2に存在    

    >>> digits.find('76')           
    要素は不存在   
         
    -1


    -----------------------------------------------

    --------------------------------------------------------------- 

     指定の文字列で、文字列を分割して、分割された文字列のリストを返すには

    s
    ='abcba'.split('b')
    print(s)
    ['a', 'c', 'a']
    s='abcba'.split('b',1)     <分割回数
    print(s)
    ['a', 'cba']
    s='abcba'.rsplit('b',1)     <右側から1回分割
    print(s)
    ['abc', 'a']
    s='ab cba'.split(' ')      <空白で分割
    print(s)
    ['ab', 'cba']
    s='ab cba hs'.split()     <何も指定しない
    print(s)
    ['ab', 'cba', 'hs']

    >>> y  =  ['山,川,海', '小川,大河,瀬', '水,氷,雪']

    >>> y[0]

    '山,川,海'

    >>> y[0].split(',')

    ['山', '川', '海']

    >>> y[1]

    '小川,大河,瀬'

    >>> y[1].split(',')

    ['小川', '大河', '瀬']

    for  item  in "山,川,海,小川,大河,瀬,水,氷,雪".split(",") :
        print (item)
     



    小川
    大河



      

     文字列の連結表示するには

     

    >>> x = ['近藤', '土方', '新撰組']
    >>> ch = ','
    >>> ch.join(x)
    '
    近藤,土方,新撰組'
    >>> ch = ':'
    >>> ch.join(x)
    '近藤:土方:新撰組'
    >>> ','.join(x)
    '近藤,土方,新撰組'

    --------------------------------------------------------------- 

       

    --------------------------------------------------------------- 

                                                     
     文を式として実行するには
     >>> x = 1   
     >>>
    eval('x + 1')
       2
       >>> eval('x')
       1

    >>> x = 1
    >>> y = 1
    >>> exec "x += 1; y -= 1"
    >>> x
    2
    >>> y
    0
    >>> print( eval("1 + 2 ") )
    3
    


    >>> exec("i=1")
    >>> i
    1
    


    >>> eval('"大, 中, 小".split(",")')

     ['大',  '中',  '小']

    任意の文字列をPythonの式として評価するには

          eval()の話。これは、Pythonの式を評価するための万能なツールだ。

    >>> eval('1 + 1 == 2')
    True
    >>> eval('1 + 1 == 3')
    False
    >>> eval('9567 + 1085 == 10652')
    True

     eval()関数が扱えるものはブール式だけではない。これはどんなPythonの式で 
        も、どんなデータ型でも扱う。

    >>> eval('"A" + "B"')
    'AB'
    >>> eval('"AAAAA".count("A")')
    5
    >>> eval('["*"] * 5')
    ['*', '*', '*', '*', '*']

    skip over this code listing>>> x = 5
    >>> eval("x * 5")        
    25
    >>> eval("pow(x, 2)")    
    25
    >>> import math
    >>> eval("math.sqrt(x)") 
    2.2360679774997898


       文字列を結合するには                +

     >>> s = '今日は'
     >>> s1 = 'よいお天気ですね。'
     >>> s2 = s + s1
      >>> s2
     
     '今日はよいお天気ですね。'

     

     文字列を繰り返し記述するには         *

     >>> s = 'python '

     >>> s = s * 3

     >>> s

      'python python python
    '

        

        
     
     

     配列「seq」のなかの文字列をもとの文字列にするに
                                     は

    >>> s = ['hello', 'jon', 'how', 'are', 'you']
    >>> ' '.join(s)

     'hello jon how are you'

     文字列を配列として扱う には         

     >>> d = '123456'
        >>> for i in range(len(d)):
                 print ([i],'',)

     
     [0]  [1]  [2]  [3]  [4]  [5]
     
     
     1文字をキャラクタ相当の数値に変換するには   
       
     
     >>> s = 'a,b,c,d,e,f'


     >>> s[2]
     
     'b'
     
     >>> ord(s[2])
     
     98

     文字列の開始文字を調べるには    

         .startswith()

     >>>  s = 'abcdef'
     >>> s.startswith('a')
     
     True

     
     >>> s.startswith('c')
     
     False

    文字列を取得し、ホワイトスペースを除去したものを返すには
                                    

     .strip()

     >>>  a ='    abc   '
     >>> s.strip()
     
     'abc'

     >>> s = 'abcdef   '
     >>> s
    .strip()

      'abcdef'

     文字列をコピーして,英数字以外のものをバックスライ
       ス付きで
      エスケープしたもの を返すには 
     
     >>> s  =  '戸張 tobari'
     >>>
    import re                  reモジュール
     >>> print(re.escape(s))
     
     \戸\張\ tobari


      >>> re.escape(s)

      '\\戸\\張\\ tobari'

     >>> s 'tobari'
     
     >>> re.escape(s)

      'tobari'

      

     文字列の一部を除去するには

    s='python ruby'

     >>> s.lstrip('p')
     
     'ython ruby'

     
     >>> s.rstrip('by')
     
     'python ru'


      >>> s.strip('p,y')
     
     'thon rub'

     元の文字列をタイトル・ケースにして返すには

     >>> s = 'PYTHON PYTHON PYTHON'
     >>> s
    .title()
     
     'Python Python Python'

       書式についてルールは

      class 書式:        クラス形式で作った書式の説明


        print('インデントは、スペース半角英数で4個')
        print('演算子の前後にスペース1個')
        print('関数名と()の間にはスペースなし')
        print('変数・引数等の区切りのカンマの後にスペース1
          個')
        print('if,for,while等の間にスペース1個 ')
        print('処理の切れ目に空行を置く')8うh
     

      class コメント:
        print('最小限 日付 作者名')
        print('ソースコードの先頭にまとめて書く')
        print('関数の呼び出す方を示すサンプルを書く')
        print('呼び出された関数の処理、引数、戻り値を書く')
        print('for if 文の処理の終わりにコメントを書く:c言語')
        print('未完成部分の明記、エラー処理の有無の明記')
        print('コメントはソースコードの大事な構成要素')
      (プログラミングのセオリー・矢沢久雄・技術評論社)

       
     
     文字列に文字列を挿入するには

     pen = "shweaizerer"
     #文字列の指定した場所に指定した文字列を挿入する
     # insert関数がない
     # 替わりにreplace関数を使う
     # penの文字列の一番目にcを加える
     new_pen1=pen.replace("h","ch")
     print(new_pen1)

     schweaizerer

     # new_pen1からiを削除する
     # del関数がないのでreplace関数を使う
     new_pen2=new_pen1.replace("i","")
     print(new_pen2)

     schweazerer

      
     >>> format = '今日は,%s. %s  は順調ですか?' 
                              
    %の左側に文字列右側にvalues
     >>> values = ('皆さん','仕事')
     >>>
    print(format  values)
     
     今日は,皆さん. 仕事  は順調ですか?

     >>> format = 'pi 少数点以下3桁: %.3f'
     >>>
    from math import pi
     >>>
    print (format % pi)
     pi 少数点以下3桁: 3.142

      例3

     

     >>> print('%s プラス %s イコール %s' (1,1,2))

      1 プラス 1 イコール 2

     例4

     
     print('卵の値段は:%d' % 45)

     >>>
     卵の値段は:45

     

     >>>  print ('合計  =  ',23  +  25)

          合計= 48              

        
     >>> print('7と56の合計は', 7  +  56)
          7と56の合計は 63

      from math import pi
     print('%10f' % pi)


      3.141593

     from math import pi
     print('%010.2f' % pi)

     0000003.14

     from math import pi
     print('%-10.2f' % pi)


     3.14  

     from math import pi
     print('%.2f' % pi)

     
     3.14

     print(('%  5d' % 10) + '\n' + ('% 5d' % -10 ))


       10
      -10

    ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

     ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

       
     
     
     
     

    ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

      
     

    ホーム     戻る
     

    ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

    ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

      

     ホーム     戻る

  • http://www.tobari-kaikei.com/hpeditor/ytextbox.html