[Python は Python ではありません] 変数 | 演算子 | 型変換

Ⅰ.変数

0x00 変数とは何ですか?

変数とは、変化する数値のことです。

変数は物を入れる箱、
変数はデータを格納する入れ物です。変数名を通じてデータを取得しますが、データを変更することもできます。

インターネット上にはこれを言っているチュートリアルがたくさんありますが、これは間違いです。Python では、変数はボックスではなく、ラベルが付けられた値です。

例:

a = 10
b = a

考えてみましょう。Python では何が起こるでしょうか?

写真で表すとこんな感じになります

意外なことに、Python の変数に格納されるのは、C\C++ のように格納された値ではなく、データが格納されているアドレスです。

信じられない人もいるかもしれませんが、ここで完全に信じてもらうための例を示します。

id関数とは何ですか?

ヘルプ機能を使用してヘルプを取得します

 参考訳:

有关模块内置函数id的帮助:



id(obj,/)

返回对象的标识。



这保证在同时存在的对象中是唯一的。

(CPython使用对象的内存地址。)

少し話が逸れてしまいましたが、引き続き本題に戻ります。

0x01 変数の割り当て

Python は動的変数です 動的変数とは何ですか?

つまり、変数の属性は変更できますが、変数宣言はありません。

Python での変数の割り当てには = 演算子を使用できます。構文は次のとおりです。

变量名 = 值

例を見てみましょう

n = 666 # int类型

f1 = .0 # float类型,等价于0.0
f2 = 0. # 等价于0.0

s = "623" # 字符串类型

b = True # 布尔类型

0x02 命名規則

Python ではどんな名前でも受け入れられるわけではありません

ルールは次のとおりです。

  • 変数名には文字、数字、アンダースコアのみを含めることができます。
  • 変数名は文字またはアンダースコアで始める必要があります。
  • 変数名に、if、while、for などの Python キーワードを使用することはできません。
n@ = 10 # 错误:使用了特殊符号
变量 = 666 # 正确:Python允许使用中文作为变量名
1n = 888 # 错误:使用了数字作为开头
_n = 999 # 正确:下划线可以作为开头

 0x03 命名規則

一般に、プログラミングには次の 4 つの命名規則があります。

ハンガリー語の命名法

ハンガリー語の命名法はマイクロソフトのハンガリー人によって発明された初期の仕様であり、IDE がまだ非常に遅れていた時代の産物です。当時はコードが多かったので、変数の型を決めるのが非常に面倒でした。今と違ってIDEがプロンプトを出すので、このような命名規則が作られました。今ではあまり使っている人はいないかもしれませんね。 . 非常に体系的だが簡単な命名規則。

この命名規則では、接頭辞の文字が変数タイプの略語である必要があり、残りの部分は英語または変数の英語略語で、単語の最初の文字が大文字である必要があります。

のように:

inumber = 666
sName = "666"

キャメルケースの命名法

キャメル ケースの命名法は、スモール キャメル ケースの命名法とも呼ばれます (したがって、当然、大きなキャメル ケースの命名法もあります...)。

この命名規則では、最初の単語の最初の文字を小文字にし、後続の他の単語の最初の文字を大文字にする必要がありますが、シンプルで大雑把ですが、学習と使用が簡単です。

myAge = 18
myName = ""

パスカルの命名法

パスカル命名法。キャメルケース命名法とも呼ばれます。

キャメルケースとの最大の違いは、各単語の最初の文字が大文字になることです。

MyAge = 18
MyName = ""

 

名称に下線を引く

アンダーラインの命名法は、キャメルケースの命名法ほど高く評価されていませんが、それでもハイライトです。これは特にマクロ定義と定数で使用され、すべての大文字の単語を区切るためにアンダースコアが使用されます。

命名規則も非常に単純で、単語をアンダースコアで接続する必要があります。

my_age = 18
my_name = ""

 しかし、命名規則を使用することにこだわるのであれば、それが間違いなく役立つことには疑いの余地がありません。

                                                                                                        - 重要じゃない

0x04 アンパック操作

Python には糖衣構文があり、その構文は次のとおりです。

变量A, 变量B, ... = 值1, 值2, ... # 等价于 变量A = 值1
                                 # 变量B = 值2 

これが開梱作業です。

なぜ糖衣構文なのか?

C++ にはアンパック操作がないため、変数を交換するには

auto Temp = a;
a = b;
b = Temp;

しかし、Python では 1 行のコードしか必要としません。

a, b = b, a

あなたがハンサムかどうかを尋ねるだけです

解凍操作にはさまざまな用途があり、後で頻繁に使用します。

0x05 呼び出し変数

コード内で変数名を直接使用できます。

a = 10
print(a) # 输出: 10

0x06 変数の削除

プログラム内の一部の変数は不要になりましたが、依然としてメモリを占有します。

何をするか?

もちろん彼を削除してください!

Python で変数を削除するには、del キーワードを使用します。

構文は次のとおりです。

del 变量名 # 如果有多个变量需要删除用,号隔开即可

のように:

a = 10
del a
print(a)

 削除後は変数が使用できないことがわかります。

0x07 変数スコープ

Python では、変数のスコープは、その変数にアクセスできるコードのブロックを指します。Python には 3 種類の変数スコープがあります。

  • ローカル変数: 関数内で定義され、関数内でのみアクセスできます。
  • グローバル変数: 関数の外部で定義され、プログラム全体からアクセスできます。
  • ネストされたスコープ変数: 関数内の関数で定義され、この関数およびネストされた関数内でのみアクセスできます。

ローカル変数とグローバル変数を使用した例を次に示します。

python
x = 5  # 全局变量

def my_func():
    x = 10  # 局部变量
    print("x = ", x)

my_func()
print("x = ", x)

上記の例では、関数 my_func() 内の変数 x はローカル変数です。関数が呼び出されると、Python は関数内に x という新しい変数を作成し、その値を 10 に設定します。この変数は、関数が返されるときに破棄されます。関数の外では、変数 x は依然としてグローバル変数であり、その値は 5 のままです。

これらのコードを理解する必要はありません。概念を理解するだけで十分です。

Ⅱ. オペレーター

0x00 演算子とは何ですか?

この章ではPythonの演算子を中心に説明します。4 +5 = 9 という簡単な例を考えてみましょう。この例では、4 と 5 はオペランドと呼ばれ、「+」記号は演算子です。
Python 言語で一般的に使用される演算子:

  • 算術演算子
  • 比較 (関係) 演算子
  • 代入演算子
  • 論理演算子

次に、Python 演算子を 1 つずつ学習していきます。

0x01 Python 算術演算子

Python の二項算術演算子のリストは次のとおりです。

オペレーター 文法 効果
+ a + b aとbを追加します
- a - b aからbを引く
* a * b aとbを掛けます
/ a / b  aをbで割る
%

a%b

または、a を b で割った余りを計算します。
// a // b a を b で割った整数部分を取得します
** a ** b a の b 乗を求める

二項算術演算子の構文は次のように構成できます。

值1 运算符 值2
a = 21
b = 10
c = 0

c = a + b
print("1 - c 的值为:", c)

c = a - b
print("2 - c 的值为:", c)

c = a * b
print("3 - c 的值为:", c)

c = a / b
print("4 - c 的值为:", c)

c = a % b
print("5 - c 的值为:", c)

# 修改变量 a 、b 、c
a = 2
b = 3
c = a**b
print("6 - c 的值为:", c)

a = 10
b = 5
c = a//b
print("7 - c 的值为:", c)

0x02 Python 比較演算子

オペレーター 効果
== Equals - オブジェクトが等しいかどうか
!= 等しくない - オブジェクトが等しくないかどうか
> より大きい - 左の値が右の値より大きいかどうか
< 未満 - 左側の値が右側の値より小さいかどうか
>= 以上 - 左辺値が右辺値以上であるかどうか
<= 以下 - 左側の値が右側の値以下かどうか

構文は次のとおりです。

左值 比较符 右值

ここではこれ以上のネタバレはやめておきます。if 判断については時期が来たら話します

0x03 論理演算子

論理演算子のリストは次のとおりです。

論理演算子 効果
ない True の場合は False を返し、False の場合は True を返します
そして AND - 左辺値と右辺値の両方が True の場合は True を返し、それ以外の場合は False を返します
または または - 左辺値と右辺値のいずれかが True の場合は True を返し、それ以外の場合は No を返します。

構文は次のとおりです。

左值 逻辑运算符 右值

ここではネタバレはありません。if 判定については後ほど説明します。

0x04 代入演算子

リストは次のとおりです。

代入演算子 効果
= それについて話す必要はありません
+= a = a+b と同等
-= a = ab と同等
...

残りは類推によって推定されます。

Ⅲ.型変換

0x00変換型関数

 インターネットから

0x01 変換型の役割

入力関数の戻り値がstrで他の型が必要な場合は変換関数が便利です。

0x02 入力された数値の合計を計算します

まず 2 つの変数を定義します

a = input("请输入a的值:")
b = input("请输入b的值:")

次に、それらをint型に変換します

a, b = int(a), int(b)

それらを再度加算します。

c = a + b

cの値を出力します

print("a + b =", c)

完全なコード:

操作結果:

(文字化けは関係ありません)

おすすめ

転載: blog.csdn.net/m0_73552311/article/details/132838801