2.1 變量與常量
2.1.1 變量
變量:可以改變的量。
- python中創(chuàng)建變量無需聲明,賦的值什么類型,該變量就是什么類型;
- python中變量先賦值才能使用,賦值后python里面只會在內(nèi)存創(chuàng)建一個值,該變量指向內(nèi)存的這個值;
?
變量名命名規(guī)則:
- 數(shù)字、字母、下劃線的任意組合( 前提是:數(shù)字不能放在名字開頭 );
- 變量名不能是關鍵字(如int、char、str);
- 取名推薦使用駝峰體(myBookCount),且容易明白含義;
?
如圖2-1所示,在python中,如果count、value變量都賦值50,那么這兩個變量同時指向50,就意味著50被引用了兩次,引用計數(shù)為2,使用del 可刪除變量,每刪除一個引用50 的變量,引用計數(shù)減1,引用計數(shù)為 0 ,會被python的垃圾回收機制定期自動回收釋放空間。
count、value變量同時指向50,但兩者相互獨立。若對其任意一個變量重新賦值,都不影響另一個變量的值,例如count 重新賦值為52 ,則count會指向52,而value 依舊指向50。
?
***python程序中,對變量的賦值是改變該變量指向的空間,而C程序中,對變量的賦值是改變該變量指向空間的值。
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖2-1
?
2.1.2 局部變量和全局變量
局部變量:在某個函數(shù)中第一次被創(chuàng)建并被賦值,只在該函數(shù)中有效,在該函數(shù)外使用則報錯。
全局變量:在函數(shù)外創(chuàng)建并賦值,有效范圍是在整個.py文件中從被創(chuàng)建開始到程序結束均有效,但函數(shù)內(nèi)無法使用。
***(1) 若想在函數(shù)內(nèi)部使用全局變量,使用關鍵字global 聲明;
***(2) 若函數(shù)fun()中嵌套函數(shù)fun2(),fun2()要是用fun()中的局部變量temp,那么需要在fun2()中使用關鍵字nonlocal 指定上一級變量(python3中才有),如下程序:
# -*- coding: utf-8 -*-
count = 0 #全局變量,到程序執(zhí)行結束都有效
value = 0 #全局變量,到程序執(zhí)行結束都有效
def fun():
temp = 99 #局部變量
global value #函數(shù)內(nèi)修改全局變量的值
value += 1
def fun2():
nonlocal temp #指定上一級變量在該函數(shù)中使用
temp += 1
?
2.1.3 常量
常量:不可以改變的量。
常量名命名規(guī)則:
- python 中,對常量并沒有明確的定義方式;
- 通常默認用全大寫字母表示常量(人為表示方式),實際還是變量;
更多文章、技術交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
