Python基礎(一):注釈、変数、演算子、入出力文など

9905 ワード

コメント
  • 単一行注釈:#を使用して単一行注釈
  • を行う.
    #       
    
  • 複数行注釈:''' '''または""" """を使用して複数行注釈
  • を行う.
    '''
           
           
    '''
    
    """
           
           
    """
    
  • 特別注釈:中国語サポート
  • # encoding=utf-8
  • # coding-utf-8
  • # _*_coding:utf-8_*_(推奨書き方)

  • 変数#ヘンスウ#
  • 定義:
  • 変数名=値
  • 変数1、変数2=値1、値2
  • 変数1=変数2=値
  • a = 10
    
    b, c = 5, 2
    
    d = e = 10
    
  • 変数が生成された理由:
  • メンテナンスが便利で、1箇所が変更され、至る所で
  • が変更された.
  • 省スペース
  • 注意事項:
  • 変数は1つの値
  • しか参照できません.
  • ネーミング仕様:
  • 文字の下線は、数字で始まる
  • は使用できません.
  • 見名知意
  • アルパカの名前
  • 非キーワード
  • 大文字と小文字の区別
  • 変数名使用前に必ず
  • を割り当てる.

    データ型
  • データ型:プログラム処理のデータに対して、整数、浮動小数点数、文字列などの
  • の分類を行う.
  • データ型を区別する理由
  • 記憶領域を区別する:異なるサイズの空間を使用して異なるタイプの値を記憶し、できるだけ空間浪費を減らす
  • .
  • 異なるデータ型の特性に基づいて、異なるデータ処理を行う
  • 6+6:数値加算結果12
  • "6"+"6":文字列接合、結果は"66"

  • データ型の一般的な分類:
  • Numbers(数値タイプ)
  • Bool(ブールタイプ)
  • String(文字列)
  • List(リスト)
  • Set(集合)
  • Tuple(タプル)
  • Dictory(辞書)
  • NoneType(空のタイプ)
  • 取得データの種類:type( )、例えばtype(6)、type(「6」)
  • 静的タイプ:変数タイプが定義されると、a=10などの変更はできません.aのタイプはIntであり、Strタイプに変更することはできません.すなわち、Intタイプのデータのみを参照し、他のデータタイプのデータ
  • を参照することはできません.
    a = 10     # a    Int
    a = "10"   #                ,   
    
  • ダイナミックタイプ:変数は定義後、a=10などのタイプを変更できます.この場合、aはIntタイプ、a=「10」、この場合aはStrタイプ
  • です.
    a = 10     # a    Int
    a = "10"   #     Str
    
  • 強タイプ:データ定義後、タイプは簡単には変更されません.例えば、a=「1」、b=a+1を実行します.この場合、aのタイプはIntにはなりません.1も「1」にはなりません.だから、
  • を実行します.
    a = "1"
    b = a + 1  #    ,   
    
  • 弱タイプ、データ定義後、タイプが変化します.例えばa="1"、b=a+1を指定します.この場合、1のタイプがStrになる可能性があります.最後のbの結果は11
  • です.
    a = "1"
    b = a + 1  #    ,     b = "11"
    

    Pythonは強いタイプの、ダイナミックなタイプの言語です
    演算子
  • 演算子
  •  : "+"        
        a = 1 + 2,    a = 2
     : "-"        
        b = 5 - 3,    b = 2
     : "*"        
        c = 2 * 3,    c = 6
     : "**"       
        d = "3 ** 5",    d = 243
     : "/"        
        e = 5 / 2,   : e = 2.5
      : "//"      
        f = 5 // 2,   : f = 2
      : "%"       
        g = 5 % 2,   : g = 1
      : "="       
        h = 3, i = 5
       : "()"    
        j = 3 + 2 / 2 + 1, j = 5。    k = 3 + 3 / (2 + 1), k = 4。
    
  • 複合演算子
  • +=: 
        a = 10, a += 5,   : a = 15           a = a + 5
    -=:
        a = 10, a -= 5,   : a = 5            a = a - 5
    *=:
        a = 10, a *= 5,   : a = 50          a = a * 5
    /=:
        a = 10, a /= 4,   : a = 2.5         a = a / 4
    %=:
        a = 10, a %= 4,   : a = 2           a = a % 4
    **=:
        a = 10, a **= 2,   : a = 100        a = a ** 2
    //=:
        a = 10, a //= 4,   : a = 2          a = a // 4
    
  • 比較演算子
  • 比較演算子の結果はBoolタイプの値であり、値はそれぞれTrueとFalse
  • である.
    >:
        a = 10 > 2,        a = True
    <: b="10" c="10">: Python2    ,     !=, Python3     <>
        d = 5 <> 5,        d = False
    >=:
        e = 5 >= 5,        e = True
    <=:
        f = 5 <= 6,        f = False
    ==:
        g = 3 == 3,        g = True
    
    is:       ,   id( ),       
        num = 10, id(10)
        h = [1]
        i = [1]
        result = h is i,   : result = False
    
           : 
        num = 10
        j = 5 < num < 20,   : j = True          : j = num > 5 && num < 20
    
  • 論理演算子
  • not:  ,   ,   ->  ,   ->  ,        !
        a = True,  b = not a,     : b = False
        c = False, d = not c,     : d = True
    
    and:  ,   , and   ,      ,       ,        &&
        e = True and False,       : e = False
        f = True and True,        : f = True
         :     ,     
    
    or:  ,   , or   ,           ,         
        g = True or False,        : g = True
        h = False or False,       : g = False
         :     ,     
    
     Bool    ,     ,  OC  ,     ,     
        print(False or 1),        : 1
        print(bool(1)),           : True
        print(bool(0)),           : False
        print(False or ""),       : False
        print(3 and 1),           : 1
        print(1 and 3),           : 3
    

    入力
    Python2:
  • raw_input
  • 形式:result=raw_input(「プロンプト」)
  • 機能:
  • は、ユーザがEnter
  • を押すまでユーザの入力を待つ.
  • は、ユーザが入力内容を「文字列」として受信変数
  • に渡す.

  • input
  • 形式:result=input(「プロンプト」)
  • 機能:
  • は、ユーザがEnter
  • を押すまでユーザの入力を待つ.
  • は、ユーザが入力内容を「コード」として処理する
  • である.


    eval関数、文字列をコードとして実行する
    result = eval("1+1"),    result = 2
    
  • だからPython 2のinputraw_input + evalの機能組合せ
  • に相当する.
    Python3
  • input:Python 2のraw_に相当input
  • 形式:result=input(「プロンプト」)
  • 機能:
  • は、ユーザがEnter
  • を押すまでユーザの入力を待つ.
  • は、ユーザが入力内容を「文字列」として受信変数
  • に渡す.


    しゅつりょく
    Python2
  • 印刷:print文
  •      :
    print  5
    
          :
    num = 5
    print num
    
          :
    num1 = 10
    num2 = 20
    num3 = 30
    print num1, num2, num3
    
         :
    name = "  "
    age = 18
       : print "   %s,    %d"%(name, age)
          :      ,    18
       : print "   {0},    {1}".format(name, age)
          :      ,    18
    
           :
    file = open("text.py", "w")         :    ,      :   
    print >>file, "xxxxxx"              :     ,      :     
    
         :         ","         
    print 1,
    print 2
      : 1 2
    
      "-"        
    print "-".join(["a", "b", "c"])
      : a-b-c
    

    Python3
         :
    print(123)
    
          :
    num = 123
    print(num)
    
          
    num1 = 1
    num2 = 2
    num3 = 3
    print(num1, num2, num3)
    
         :
    name = "zhangsan"
    age = 18
    print("     %s,    %d"%(name, age))
    print("     {0},    {1}".format(name, age))
    
         :
    f = open("test.py", "w")
    print("xxx", file=f)
    
         :
    print("xxx", end=""), end     
           ,           :
    print("1", "2", "3", sep="&&"),    :1&&2&&3
    
        :
    print("xxx", fluse=True)
    

    補足:プレースホルダ
  • フォーマット:%[(name)][flags][width][.precision]typecode
  • (name):指定する名称に対応する値を選択する(辞書のkeyに従って対応するvalueを取り出す)
  • .
    dictionary = {"age": 18, "name": "zhangsan"}
    print("     %(name)s,    %(age)d" % (dictionary))
      :      zhangsan,    18
    
  • width:表示の幅を示す
  • num = 5
    print("%3d" % num),   : "  5",          5        ,           
     :          3 ,            3 
    
    num1 = 3
    print("%5d" % num),   : "    5",      
           5,   3     1   ,          
    
  • flags:主にwidthと配合して使用し、主に4つの作用がある:
  •    :    ,      
    num = 5
    print("%3d" % num),   : "  5",      
    
       : -(  ),      
    print("%3d" % num),   : "5  ",      
    
       :   ,              ,        
    num = 5
    print("% d", num),   : " 5",          ,          
      :print("%    d", num),   : " 5",        
    
       : 0,     ,   0  
    num = 5
    print("%02d"),   : 05
          ,         
    minutes = 5
    seconds = 8
    print("%02d : %02d" % (minutes, seconds)),   : 05 : 08
    
  • . precision:浮動小数点数を示す後精度
  •       2 :
    num = 10.32131
    print("%.2f" % num),   : 10.32
    
          3 :
    print("%.3f" % num),   : 10.321
    
          
    print("%.0f" % num),   : 10
    
          7 :
    print("%.7f" % num),   : 10.3213100
    
    typecode、必須項目、主なフォーマット
    数値:
  • i/d:証明書、浮動小数点数を10進数整数
  • に変換
    num = 10.321
    print("%d" % num),   : 10
    
  • o:整数を8進数
  • に変換
    num = 10
    print("%o" % num),   : 12
    
  • x:整数を16進数
  • に変換
    num = 10
    print("%x" % num),   : a
    
  • e:整数、浮動小数点数を科学計数法
  • に変換する
    num = 1111111111
    print("%e" % num),   : 1.111111e+09
    
  • E:整数、浮動小数点数を科学計数法
  • に変換する
    num = 1111111111
    print("%e" % num),   : 1.111111E+09
    
  • f:整数、浮動小数点数を浮動小数点数にフォーマットし、6桁の小数
  • を保持する
    num = 5
    print("%f" % num),   : 5.000000
    
    num1 = 5.312231232
    print("%f" % num1),   : 5.312231
    
    num2 = 5.312
    print("%f" % num2),   : 5.312000
    
  • g:整数を自動的に調整し、浮動小数点数を浮動小数点数に変換し、6桁を超え、科学計数法
  • num1 = 23.321000
    print("%g" % num1),   : 23.321
    
    num2 = 231.32
    print("%g" % num2),   : 231.32
    
    num3 = 100.1111111
    print("%g" % num3),   : 100.111
    
    num4 = 100111111111
    print("%g" % num4),   : 1.00111e+11
    
  • G:gと同じ
  • 文字列
  • s:受信オブジェクトの_を取得するstr__メソッドの戻り値を指定位置
  • にフォーマットする
  • r:受信オブジェクトの_を取得するrepr__メソッドの戻り値を指定位置
  • にフォーマットする
  • c:整数、数字を対応するuniode対応の値に変換し、範囲:0<=i<=1114111、py 27のこれまで0-255
  • %%
  • 文字列にフォーマットIDが存在する場合、%%を使用してパーセント
  • を表す必要がある.
    num = 90
    print("%d%%" % num),   : 90%
    

    注意:Pythonには整数をバイナリに変換するフォーマットは存在しません.Pythonには%bというフォーマットは存在しません.