小白進化記--Python3 --Python的資料型別
python的資料型別
回顧
命令: cp / cp -r 複製檔案/資料夾
mv 移動檔案/資料夾(改名字)
cat 顯示文字檔案的內容
tar 打包並壓縮 $ tar -czvf 資料夾 解包並壓縮 $ tar -xzvf a.tar.gz
mkdir 建立資料夾
rmdir 刪除資料夾
touch 建立檔案/更新檔案的修改時間
chmod 修改檔案許可權 (讀/寫/執行) rwx rwx rwx
sudo 獲取root使用者許可權, 用許可權來執行命令
df 檢視磁碟
top 工作管理員
ps 檢視pid 程序
------------------------------
python 應用領域 python版本 python V3 python V2
python的執行: $ python3 xxxxx.py
$ python3 <回車> # 互動模式 >>> >>> exit() / quit() / ctrl + d 字串,數字, 列表…
數字型別: 整型數 int 十進位制 : -100 0 99 9999999 11 十六進位制: 0x1234 0xABCD 0xabcd 0x11 八進位制 : 0o12345670 0o11 二進位制 : 0b11 浮點型數 float 3.14 .14 0.14 3. 3.0 314e-2 0.314e1 3.14E0 複數 complex (1 + 2j) 布林型數 bool True/False 1 / 0
字串: ‘’ “” 算術運算子: + - * / // % **
--------------------------------- Tady: 一.縮放ctrl + / ctrl + - 註釋 ctrl + / 二.啟動vscode的命令: $ code + 回車 $ code + 檔名 回車 $ code + 資料夾名 回車 三.變數 變數是關聯一個物件的識別符號 變數可以繫結一個物件,並可以通過變數名使用這個物件 識別符號的命名方法: 以字母或下劃線開頭,後跟字母下劃線或數字 說明: 識別符號區分大小寫 例項: a A a1 bbbb set_age _ _abcd __abcde a1b2 不合法的識別符號: 1a 123 $ABC python的關鍵字不能用作變數名: True,False,None,is,del,if,… 賦值語句 statements 符號 = 語法:變數名 = 表示式 或 變數名1 = 變數名2 = 變數名3 或 變數名1,,變數名2,…. = 序列 作用: 建立一個變數並繫結資料物件 改變一個變數的繫結的資料物件 例項: a = 10 b = 20 c = a + b # c 繫結30 a = b = c = 10000 # 同時改變三個變數的繫結關係,同時繫結在10000上 x, y = 100, 200 # 用x繫結100, 用y繫結200 賦值語句說明: 1.當變數不存在時,賦值語句會建立該變數,同時將變數繫結在賦值運算子右側的物件上 2.當變數存在時,改變此變數的繫結關係 3.一個變數只能繫結一個物件 4.多個變數可以同時繫結在一個物件上 如: a = 100 b = a # b也同時繫結在a繫結的那個100上
四.del語句 作用:用於刪除變數,同時解除與物件的關聯關係,如果可能釋放物件 語法:del 變數名1,變數名2,… 在互動模式下檢視當前作用域內的所有變數: >>>help(‘main’) 示例: a = 100 b = 200 x, y = 123, 456 del a del b, x, y # 同時刪除3個變數 自動化記憶體管理和引用計數: 每個物件都會記錄有幾個變數引用(繫結)自身,當引用的數量為0時,則這些對 象被銷燬,此種自動化記憶體管理的方法叫做"引用計數"
五. is 和 is not 運算子 作用: 判斷兩個物件是否是同一個物件,是返回True,不是返回False is not 與 is 的返回值相反 語法: x is y x is not y id函式: 作用: 返回一個物件在記憶體中的地址 說明: is運算子是根據id來進行判斷的 語法:id() 小整數物件池: Python中,整數-5至256永遠存在於小整數物件池中不會釋放,並可重複使用 複合賦值運算子: 運算子 說明 y += x 等同於 y = y + x y -= x 等同於 y = y - x y *= x 等同於 y = y * x y /= x 等同於 y = y / x y //= x 等同於 y = y // x y %= x 等同於 y = y % x y **= x 等同於 y = y ** x 比較運算子: < 小於 <= 小於等於 > 大於 >= 大於等於 == 等於 != 不等於 語法: 左表示式 < 右表示式 說明:比較運算子返回布林型別的值 例項:100 < 200 1 + 5 == 2 + 4 數值物件的建構函式(構建) float(obj) 用字串或數字轉換為浮點數,如果不給出引數,返回0.0 int(x, base=10) 或 int(x=0) 用數字或字串轉換為整數,如果不給出引數,返回0 base後面即為進位制,base=10就是十進位制,base=3就是三進位制…base的值必須大於等於2小於等於36 complex(r=0.0,i=0.0) 用數字建立一個複數(實部為r,虛部為i) bool(x) 用x建立一個布林值(True/False) 函式呼叫的語法: 函式名(傳參列表) 說明: 函式呼叫是一個表示式,一定會返回一個物件的引用關係(或者返回None) bool(x)返回假值的情況: 值 說明 None 空值 False 布林假值 0 0.0 0j 數字0 ‘’ 空字串 [] 空列表 () 空元祖 {} 空字典 … 預製(內建)的數值型函式 練習: 將數字 3.14 用變數 pi 繫結 pi = 3.14 將 pi 變數轉為整數 用變數 i 繫結 i = int(pi) 將 pi 變數與 i 變數相減,結果用變數 f 繫結 f = pi - i 1. 判斷f是否等於 0.14 不等於 2. 刪除所有的變數 (用互動模式來做) del f,i,pi 預置(內建) 的數值型函式 abs(x) 取x的絕對值 round(number[, ndigit]) 對數值進行”四捨五入“ndigit是小數向右取值的位數,負數表示向左取整 pow(x, y, z=None) 相當於x ** y 或 x ** y % z 示例: abs(-100) # 100 round(1234.56789) # 1235 round(1234.56789, 2) # 1234.57 round(1234.56789, 4) # 1234.5679 round(1234.56789, -2) # 1200.0 pow(5, 2) # 25 pow(5, 2, 10) # 5
help()函式檢視函式的幫助
>>>help(函式名) #檢視相應函式的幫助
語句statement
語句由一些表示式組成,通常一條語句可以獨立的執行來完成一部分事情並形成結果
多條語句寫在一行內要用分號(;)分開
``示例: code/statement.py
print("hello world")
x = 100 + 200
print(x)
# ------------以上是三條語句
print("hello world");x = 100 + 200;print(x)
\
顯示換行: 當語句太長時,一行無法擺放,用\(反斜槓)轉行 隱式折行: 所有的括號的內容換行,成為隱式折行,能用於隱式折行的括號有: () [] {} 示例:
x = 1 + (2 * 3 + 4) \
+ 4 + 5 + 6 + 8
print(x)
基本輸入輸出函式 基本輸入函式input 作用: 從一個標準輸入設定上讀取一個字串(不包含換行符) 格式: input(‘提示字串’) 說明: 返回使用者輸入的字串 '提示字串’可以為空 示例:
s = input("請輸入您要去的地方: ")
print("您輸入的是", s)
s = input("請輸入一個整數: ")
i = int(s) # 轉為整數
print(s, "加 1 = ", i + 1)
基本輸出函式print 格式: print(value, …, sep=’ ‘, end=’\n’, file=sys.studout, flush=False) 將一系列的值以字串形式輸出到標準輸出裝置上(預設為終端) 引數選項: sep: 兩個值之間的分隔符(預設為一個空格’ ‘) end: 輸出完畢後在末尾自動追加一個字串(預設為換行符’\n’) file: 流物件(預設為sys.stdout)x flush: 是否立即將流進行輸出 練習: 1. 輸入兩個整數,分別用變數x,y繫結 1) 計算這兩個數的和,並列印結果 2) 計算這兩個數的積,並列印結果 3) 計算 x 的 y 次方是多少?並列印
x = int(input("請輸入一個整數:"))
y = int(input("請輸入一個整數:"))
m = x * y
n = x ** y
print("x,y的和是:", m)
print("x的y次方是:", n)
2. 分三次輸入當前時間的小時,分鐘,秒數 再計算出距離凌晨0:0:0過了多少秒
h = int(input("請輸入現在是幾點:"))
m = int(input("請輸入現在是幾分:"))
s = int(input("請輸入現在是幾秒:"))
n = h * 3600 + m * 60 + s
print("現在離凌晨過了%d秒" % n)
3. 計算三險一金: 已知社保的繳費比率是: 專案 個人繳費比例 單位繳費比例 養老保險 8% 19% 工傷保險 0% 0.5% 醫療保險 2%+3元 10% 住房公積金 12% 12% 輸入您在北京的社保基數(如: 5000) 列印您和公司的個項繳費明細、個人總繳費金額、 單位繳費金額及國家拿到的錢是多少?
base = float(input("請輸入社保基數: "))
yanglao_gr = base * 0.08
yanglao_dw = base * 0.19
gongshang_gr = 0
gongshang_dw = base * 0.005
yiliao_gr = base * 0.02 + 3
yiliao_dw = base * 0.1 # 10%
gongjijin_gr = base * 0.12
gongjijin_dw = base * 0.12
print('個人養老:', yanglao_gr)
print('單位養老:', yanglao_dw)
print('個人工傷:', gongshang_gr)
print('單位工傷:', gongshang_dw)
print('個人醫療:', yiliao_gr)
print('單位醫療:', yiliao_dw)
print('個人公積金:', gongjijin_gr)
print('單位公積金:', gongjijin_dw)
total_gr = yanglao_gr + gongshang_gr + \
yiliao_gr + gongjijin_gr
total_dw = yanglao_dw + gongshang_dw + \
yiliao_dw + gongjijin_dw
print("個人繳費總金額: ", total_gr)
print("單位繳費總金額: ", total_dw)
print("國家總收費金額: ", total_gr + total_dw)