5 Variables
5.1 overview
5.2 variable names
5.2.1 規則
-
python中對variable name的要求是:
- 只能是由alpha-numeric + underscores所組成(A-z, 0-9, _)
- 開頭不能是數字,只能英文或底線
- case-sensitive,大小寫有差拉
- 只能是由alpha-numeric + underscores所組成(A-z, 0-9, _)
# 合法的variable name
= "John"
myvar = "John"
my_var = "John"
_my_var = "John"
myVar = "John"
MYVAR = "John"
myvar2
# 不合法的variable name
2myvar = "John"
-var = "John"
my= "John" my var
5.3 一次assign多個variables
5.3.1 多個value,assign給多個variable
= "Orange", "Banana", "Cherry"
x, y, z print(x)
#> Orange
print(y)
#> Banana
print(z)
#> Cherry
5.3.2 同一個value,assign給多個variable
= y = z = "Orange"
x print(x)
#> Orange
print(y)
#> Orange
print(z)
#> Orange
5.3.3 unpack a collection
- 在python中,collection包含list, tuple, dictionary, set
- 那我可以把這些collection中的各個element,assign給各個variable,例如:
= ["apple", "banana", "cherry"]
fruits = fruits
x, y, z print(x)
#> apple
print(y)
#> banana
print(z)
#> cherry
- 而這招最常用的還是用在tuple上:
= ("apple", "banana", "cherry")
fruits = fruits
x, y, z print(x)
#> apple
print(y)
#> banana
print(z)
#> cherry
5.4 Assignment Operators
- Python有許多assignment operators,整理如下:
Operator | Example | Same As |
---|---|---|
= |
x = 5 | x = 5 |
+= |
x += 3 | x = x + 3 |
-= |
x -= 3 | x = x - 3 |
*= |
x *= 3 | x = x * 3 |
/= |
x /= 3 | x = x / 3 |
%= |
x %= 3 | x = x % 3 |
// |
x //= 3 | x = x // 3 |
**= |
x **= 3 | x = x ** 3 |
- 備註:
-
x % 3
的意思是,我要取餘數
-
x // 3
的意思是,我要取商
-
x ** 3
的意思是,x的3次方
-
5.5 variable scope
5.5.1 Global Variables
想把function中的variable(e.g. x這個variable),拉到global environment,就先用
global x
來宣告我的x是屬於global的,之後在這個function內把value給assign到x,就會放在global environment裡:來看看沒宣告的例子:
= "awesome"
x
def myfunc():
= "fantastic"
x print("Python is " + x)
myfunc()#> Python is fantastic
print("Python is " + x)
#> Python is awesome
- 再看看有宣告的例子:
= "awesome"
x
def myfunc():
global x
= "fantastic"
x print("Python is " + x)
myfunc()#> Python is fantastic
print("Python is " + x)
#> Python is fantastic