第 2 章: Python の変数とデータ型

1. バイナリおよび文字エンコーディング

  • ビットの記憶内容は 0 と 1 で、ビットはコンピュータ内の最小の記憶単位です。

  • データ: 各記号 (英語、数字、記号など) は 1 バイトのレコードを占め、各中国語は 2 バイトを占めます。

  • バイナリ変換: 1B(バイト)=8b(ビット) ; 1KB=1024B

  • [オンライン ASCII テーブル]( ASCII テーブル | ルーキー チュートリアル (runoob.com) )

  • 文字エンコーディングの開発

文字エンコーディングの開発

2. Python の識別子と予約語

2.1 予約語

  • 予約語とは何ですか
    • Python によって特定の意味が割り当てられる単語がいくつかあり、これらの単語はオブジェクトに名前を付けるときに使用しない
  • 予約語を表示する
import keyword
print(keyword.kwlist)
  • 予約語とは何ですか
['False', 'None', 'True', '__peg_parser__', 'and', 'as', 
 'assert', 'async', 'await', 'break', 'class', 'continue', 
 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 
 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 
 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 
 'try', 'while', 'with', 'yield']

2.2 識別子

  • 識別子とは何ですか
    • 変数、関数、クラス、モジュール、その他のオブジェクトは識別子に基づいて名前が付けられます
  • 識別子の命名規則
    • 文字、数字、アンダースコアのみを含む_
    • 数字で始めることはできません
    • 予約語は使用できません
    • 大文字と小文字を厳密に区別する

3. Python の変数とデータ型

3.1 変数

  • 変数とは何ですか

    • 変数は、必要なデータを入れるメモリ内のラベル付きボックスです。

      • name = "Python"
        
      • その中には: name - 変数名、= -代入演算子Python - 値

  • 変数の構成要素

    • 識別: オブジェクトが保存されているメモリ アドレスを識別し、組み込み関数 id(obj) を使用して取得します。
    • Type: オブジェクトのデータ型を示します。組み込み関数 type(obj) を使用して取得できます。
    • 値: オブジェクトに格納されている特定のデータを示します。値は関数 print(obj) を使用して出力できます。
  • メモリ分析グラフ

    可変メモリ解析図

  • コード分​​析

    • コードの書き方
    name = '巧克力酸奶'
    print('标识', id(name))
    print('类型', type(name))
    print('值', name)
    
    • 出力結果
    标识 2830801861584
    类型 <class 'str'>
    值 巧克力酸奶
    

3.2 変数の多重代入

  • 複数の代入の後、変数は新しいスペースを指します。
  • メモリ図

変数の多重代入

  • コード分​​析

    • コードの書き方
    name = "玛利亚"
    print(id(name))
    name = "楚留香"
    print(name)
    print(id(name))
    
    • 結果分析
    2151611071440
    楚留香
    2151611071728
    

3.3 データ型

  • 一般的なデータ型
データの種類 文字表現
整数型 整数 98
浮動小数点型 浮く 3.1415926
ブール型 ブール 真/偽
文字列型 str 「人生は短すぎる、私はPythonを使う」
  • type() 関数を使用してデータ型を出力します。

3.3.1 整数型

  • 英語は integer であり、intと略され、正の数、負の数、およびゼロを表すことができます。
  • 整数のさまざまな基数表現

ウィンドウ プラットフォームは、Win+R入力後calc、すぐに計算機をディスパッチできます。

16進数 基数 数日ごと 症状の発現
10 進数 (デフォルト) 0、1、2、3、4、5、6、7、8、9 10 120
バイナリ 0,1 2 0b101011
8進数 0、1、2、3、4、5、6、7 8 0o166
16進数 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 16 0x76
  • コードデモ

    • コードの書き方
    # 整数类型,正数,负数,0
    n1 = 90
    n2 = -90
    n3 = 0
    print(n1, type(n1))
    print(n2, type(n2))
    print(n3, type(n3))
    # 正数可以表示为二进制,十进制,八进制,十六进制
    print("十进制", 118)
    print("二进制", 0b1010111)
    print("八进制", 0o176)
    print("十六进制", 0x78A2)
    
    • 結果分析
    90 <class 'int'>
    -90 <class 'int'>
    0 <class 'int'>
    十进制 118
    二进制 1010111
    二进制 87
    八进制 126
    十六进制 30882
    
    Process finished with exit code 0
    

3.3.2 浮動小数点型

  • 英語はfloat で、浮動小数点数は整数部と小数部で構成されます。

  • 浮動小数点ストレージは非決定的です

    • 浮動小数点数を使用して計算する場合、小数点が不確かになる場合があります
    • 解決策:モジュールの 10 進数をインポートする
  • コードデモ

    • コードの書き方
    a = 3.14159
    print(a, type(a))
    # 小数点位不确定
    n1 = 1.1
    n2 = 2.2
    n3 = 2.1
    print(n1 + n2)
    print(n1 + n3)
    # 解决方案:**导入模块decimal**
    from decimal import Decimal
    print(Decimal("1.1")+Decimal("2.2"))
    
    • 結果分析
    3.14159 <class 'float'>
    3.3000000000000003
    3.2
    3.3
    
    Process finished with exit code 0
    

3.3.3 ブール型

  • 英語名 boolean ( boolと省略)は、true または false の値を表すために使用されます。

  • True は true、False は false

  • ブール値は正の数値に変換できます

    • 本当——>1
    • 偽—>0
  • コードデモ

    • コードの書き方
    f1 = True
    f2 = False
    print(f1, type(f1))
    print(f2, type(f2))
    
    # bool型可以转成整型运算
    print(f1 + 1)
    print(f2 + 1)
    
    • 結果分析
    True <class 'bool'>
    False <class 'bool'>
    2
    1
    
    Process finished with exit code 0
    

3.3.4 文字列型

  • 文字列は不変の文字列とも呼ばれます

  • 一重引用符' '、二重引用符" "、三重引用符を使用して定義できます''' ''。' または""" """

  • 一重引用符と二重引用符で定義された文字列は1 行に入力する必要があります

  • 三重引用符で定義された文字タイプは、複数の連続した行に分散できます。

  • コードデモ

    • コードの書き方
    str1 = '人生苦短,我用Python'
    str2 = "人生苦短,我用Python"
    str3 = """人生苦短,
    我用Python"""
    str4 = '''人生苦短,
    我用Python'''
    
    print(str1, type(str1))
    print(str2, type(str2))
    print(str3, type(str3))
    print(str4, type(str4))
    
    • 結果分析
    人生苦短,我用Python <class 'str'>
    人生苦短,我用Python <class 'str'>
    人生苦短,
    我用Python <class 'str'>
    人生苦短,
    我用Python <class 'str'>
    
    Process finished with exit code 0
    

3.4 データ型変換

  • データ型変換が必要な理由
    • 異なるデータ型のデータを結合する場合に必要
  • データ型変換の関数
関数名 効果 予防
str() 他のデータ型を文字列に変換する 引用符を使用して変換することもできます str(123)
123'
int() 他のデータ型を整数に変換する 1.テキストおよび 10 進数の文字列は整数に変換できません
。 2.浮動小数点数は整数に変換されます: 消去と丸め
int('123')
浮く() 他のデータ型を浮動小数点数に変換する 1.テキスト クラスは整数に変換できません。
2.整数は末尾が .0 の浮動小数点数に変換されます。
float('9.9')
float(9)
  • データ変換の図

データ型変換図

  • コードデモ

    • コードの書き方
    name = '张三'
    age = 20
    
    print(type(name), type(age))
    # 说明name和age的数据类型不相同
    # print('我叫'+name+'今年'+age+'岁')
    # TypeError: can only concatenate str (not "int") to str
    print('我叫' + name + ',今年' + str(age) + '岁')
    
    print('------------str():将其他类型转换成str类型--------------')
    a = 10
    b = 198.8
    c = False
    print(type(a), type(b), type(c))
    print(str(a), str(b), str(c), type(str(a)), type(str(b)), type(str(c)))
    
    print('------------int():将其他类型转换成int类型--------------')
    s1 = '128'
    f1 = 98.1
    s2 = '76.77'
    ff = True
    s3 = 'Hell0'
    print(type(s1), type(f1), type(s2), type(ff), type(s3))
    print(int(s1), type(int(s1)))  # 将str转换成int类型,字符串为 数字串
    print(int(f1), type(int(f1)))  # 将float转换成int类型,截取整数部分,舍掉小数部分
    # print(int(s2), type(int(s2)))  # ValueError: invalid literal for int() with base 10: '76.77'mm,字符串为小数串
    print(int(ff), type(int(ff)))
    # print(int(s3), type(int(s3))) ValueError: invalid literal for int() with base 10: 'Hell0',字符串必须为整数数字串才能转换
    
    print('------------float():将其他类型转换成float类型--------------')
    ss1 = '128.98'
    ss2 = '76'
    fff = True
    ss3 = 'Hell0'
    i = 98
    print(type(ss1), type(ss2), type(fff), type(ss3), type(i))
    print(float(ss1),type(float(ss1)))
    print(float(ss2),type(float(ss2)))
    print(float(fff),type(float(fff)))
    # print(float(ss3),type(float(ss3)))    # ValueError: could not convert string to float: 'Hell0'
    print(float(i),type(float(i)))
    
    • 結果分析
    <class 'str'> <class 'int'>
    我叫张三,今年20------------str():将其他类型转换成str类型--------------
    <class 'int'> <class 'float'> <class 'bool'>
    10 198.8 False <class 'str'> <class 'str'> <class 'str'>
    ------------int():将其他类型转换成int类型--------------
    <class 'str'> <class 'float'> <class 'str'> <class 'bool'> <class 'str'>
    128 <class 'int'>
    98 <class 'int'>
    1 <class 'int'>
    ------------float():将其他类型转换成float类型--------------
    <class 'str'> <class 'str'> <class 'bool'> <class 'str'> <class 'int'>
    128.98 <class 'float'>
    76.0 <class 'float'>
    1.0 <class 'float'>
    98.0 <class 'float'>
    
    Process finished with exit code 0
    

4. Python でのコメント

  • メモとは何ですか

    • コード内のコードの機能を説明する注釈付きテキストにより、コードの読みやすさが向上します。
    • コメントの内容は Python インタープリターによって無視されます。
  • 一般的な注釈の種類

    • 単一行のコメント --> **#** で始まり改行の終わりまで
    • 複数行コメント --> 個別の複数行コメントマークはなく、三重引用符で囲まれたコードを複数行コメントと呼びます。
    • 中国語のエンコード ステートメントのコメント --> ファイルの先頭に中国語のステートメントのコメントを追加して、ソース コード ファイルのエンコード形式を指定します
      • コーディング:gbk
      • コーディング:UTF-8
  • コードデモ

    • コードの書き方
    # 输出功能(单行注释)
    print('hello')
    '''嘿嘿,
    这里是多行注释
    啦啦啦啦啦'''
    

おすすめ

転載: blog.csdn.net/polaris3012/article/details/130464343