Python中的變數
阿新 • • 發佈:2021-05-07
變數
- 變數是一個儲存位置(地址)
每個變數都有名字並且包含一個值
- 注意:
- 1.Python中會通過賦值給變數來自動判定資料型別
- 2.print(item1, item2, item3, …, itemN) 如果某項是一個數字,數字就會被自動轉化為顯示一個字串
變數的命名
-
Python變數命名的基本原則:
- 必須以字母或下劃線開頭,其他字元只能是字母、數字以及下劃線
- 不能使用特殊符號,如?、%、$、#、^、&、逗號等
- 變數名對大小寫敏感
- 不能使用if或class這樣的保留字
-
檢視Python中的所有關鍵字
import keyword
print(keyword.kwlist) -
可以提高品位和編輯習慣的兩條軍規:
-
使用描述性的名字,見名知意
-
使用小寫字母開頭表示變數、全大寫字母表示常量、大寫字母開頭表示自定義型別
-
其他語言也常用的命名規則
nick_name = “符合Python命名規則的暱稱變數”
nickName = “使用駝峰命名規則的暱稱變數”
NickName = “首字母大寫,在Python中適合命名一個新的自定義型別”
NICK_NAME = “全部字母大寫,稱為帕斯卡命名法,一般用來命名常量”
-
定名常量
-
Python中沒有常量機制,一切靠程式設計師自覺!!!
-
變數的值在程式的執行過程中有可能改變,但是定名常量(常量)代表永遠不會變的固定資料
-
使用常量的好處:
1.不用為了使用同一個值而多次重複輸入
3.描述性的識別符號能夠提高程式的可讀性
資料型別
-
數字是自然界計數活動的抽象,更是數學運算和推理表示的基礎
- 確定性:指程式能夠正確且無歧義地讀取資料所代表的型別含義
- 高效性:指程式能夠為數字運算提供較高的運算速度及較少的儲存代價
-
支援的數字型別
- 整數型別:int
- 浮點數型別:float
- 複數型別:complex
標準資料型別
Python3.中有六個標準的資料型別
# 不可變型別
num = 1234 # 整型變數
print("num第一次賦值的地址:", id(num)) # id()函式可以返回某個變數的記憶體地址
num = 4321
print("num第二次賦值的地址:", id(num)) # id()函式可以返回某個變數的記憶體地址
# 元組型別 - 元組元素確定之後不能改變
point_fairy = (160, 80, 60, 70)
print(point_fairy[0])
# 可變型別:列表(第五章講解)、集合、字典
list1 = [1, 2, 3, 4, 5] # 列表比元組更加靈活,可以增加或是刪除元素
list1.append(112) # 增加元素
list1.remove(1) # 刪除元素
print(list1)
set1 = {1, 2, "3", "4", 5.5}
set1.add("今天吃了嗎?")
print(set1)
# 字典:通過 鍵 - 值 對的方式表示資料
dict1 = {
"姓名": "尹天仇",
"職業": "少莊主",
"出處": "水月洞天",
"性別": "男"
}
print(dict1["姓名"])
print(dict1["職業"])
print(dict1["出處"])
print(dict1["性別"])
使用整型物件
-
變數在使用前必須被建立
phone = 110 print("你好!是", phone, "嗎?")
-
可以從控制檯輸入:
phone = input("請輸入一個號碼:") print("你好!", phone, "為您服務!")
-
字串只能連線字串
-
解決方案1:把使用者輸入的字串轉換成整型
phone = input("請輸入一個號碼:") print(type(phone)) phone = int(phone) # 將變數phone轉換成int型別,再賦值給phone變數 print("你好!請撥打", phone + 10, "這個號碼。")
-
解決方案2:使用更加強大的eval函式 – 是Python的直譯器
phone = eval(input("請輸入一個號碼:")) # 將使用者輸入的字串轉換成數字型別 print("喂,", phone + 9, "嗎?我是", phone)
-
整數型別
- 整數型別公有4種進製表示
# 不同進位制的整數型別 num1 = 1024 # 十進位制 num2 = 0x12EF # 0x/0X 開頭是十六進位制數字 num3 = 0o1177 # 0o/0O 開頭的是八進位制數字 print("num1的十六進位制為:", hex(num1)) # hex函式將十進位制轉換為十六進位制 print("num的十六進位制為:", hex(id(num1))) del num1 # Python中刪除某個變數的引用 delete -> del # 演示Python用於計算 print("2的32768次方 = \n", 2 ** 32768) # 求數字的位數 - 先將數字轉換成字串,在使用len()函式返回字串的長度 import time start = time.time() # 統計計算的時間 print("2的3276811次方一共有", len(str(2 ** 3276811)), "位。") print("耗時:", time.time() - start)
浮點型
-
Python要求所有浮點數必須帶有小數部分,用以區分浮點型和整數型別
-
浮點數有兩表示方法:
- 十進位制表示法:0.0, -88., -2.14,
- 科學計演算法:96e4, 4.2e-3, 9.8E4
# 浮點型別 num1 = 9.18E5 # 科學計數法 print(num1) import sys # 引入系統模組,檢視浮點型別的基本資訊 print(sys.float_info) # 浮點型有個特點,15位小數內為有效小數 - 一旦超過16位,就會存在誤差 num1 = 3.1515926575879242 # 小數點後一共有16位 print("num1 = ", num1) import decimal # decimal - 數字模組 num1 = decimal.Decimal('3.15159265758792422222333333') # decimal.Decimal 數字模組中定義的數字型別,且只能使用單引號 print(num1)
變數的記憶體管理**
變數與資料型別小結
-
變數
- 變數是一個儲存位置,每個變數在使用前都必須賦值,變數賦值以後該變數才會被建立
- 在 Python 中,變數就是變數,它沒有型別,我們所說的"型別"是變數所指的記憶體中物件的型別
-
Python中的資料型別
- 不可變資料類:數字、字串、元組
- 可變資料類:列表、集合、字典
-
Python中的數字型別
- 整數型別、浮點型別和複數型別
-
注意:
- 1.Python可以同時為多個變數賦值,如a, b = 1, 2
- 2.一個變數可以通過賦值指向不同型別的物件
- 3.整數和浮點數混合運算時,結果是浮點數
- 4.整數或浮點數與複數運算時,結果是複數