python注釋-輸入輸出-基本數據類型-運算符
- 2019 年 10 月 7 日
- 筆記
python注釋
用處:注釋用來書寫一些解釋性資訊,對程式碼的邏輯作用等作出描述
單行注釋、多行注釋
1 # 這是行注釋,注釋內容與# 之間要空一格 2 3 print("hello world!") # 這是程式碼後的注釋,與程式碼之間要空兩格 4 5 6 ''' 7 這是多行注釋,用三個單引號引起來 8 ''' 9 10 """ 11 這是多行注釋,用三個雙引號引起來 12 """
與用戶交互
輸入
在python中用 input() 來獲取用的輸入資訊
python 2.x 中,input 獲取到的數據是什麼類型,傳給變數的就是什麼類型
而在python 3.x 中,input 獲取到的數據在變數中都會被存儲為字元串類型
python 2.x 中的 raw_input() 相當於3.x 中的 input(),獲取到的數據都存為字元串類型
# 獲取用戶輸入 name = input() # 指定提示資訊讓用戶輸入 name = input('Please input your name: ')
輸出
在python中用 print() 來輸出資訊給用戶
1 # 輸出資訊給用戶 2 print("Wellcome!") 3 # Wellcome! 4 5 # -----------------格式化輸出--------------------- 6 7 # 獲取用戶輸入的姓名與年齡並列印出來: My name is .... my age is ... 8 9 name = input('Please input your name: ') 10 age = input('Please input your age: ') 11 12 # 1---- , 分隔 13 print("My name is ", name, "my age is ", age) 14 15 # 2---- end = '' 取消換行多段拼接 16 print("My name is ", end = '') 17 print(name, end = '') 18 print(' my age is ', end = '') 19 print(age) 20 21 # 3---- %d %f / %s 佔位符(個數與位置必須一致) 22 print("My name is %s my age is %s" %(name, age)) 23 24 # 格式化輸出 25 # 空格補齊 % 4d --->輸出4位數,不足位數用空格補齊 26 print("**********************") 27 print("----% 4d----" %23) 28 print("----% 4d----" %123456) 29 # ********************** 30 # ---- 23---- 31 # ---- 123456---- 32 33 # 保留兩位小數 % 10.2f ---> 輸出 十位數,含兩位小數,不足的位數用 空格補齊 34 print("**********************") 35 print("***% 10.2f***" %3.1415926) 36 # ********************** 37 # *** 3.14*** 38 39 # 巧用 t 製表符對齊 (也可以用 % 2d 來做) 40 i = 0 41 j = 0 42 for i in range(1,10,1): 43 for j in range(1,10,1): 44 if j <= i: 45 print("%d * %d = %d t" %(i, j, i * j), end = '') 46 else: 47 break 48 j += 1 49 print("") 50 i += 1 51 52 # 1 * 1 = 1 53 # 2 * 1 = 2 2 * 2 = 4 54 # 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9 55 # 4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16 56 # ..............................
tips: %.2f 會四捨五入(a = 2.8365 print("%.2f" %a) --> 2.84 )

1 # int 2 a = 15.269 3 a = int(a * 100) 4 a = a / 100 5 print("%.2f" %a) 6 # 15.26 7 8 # -0.005 (零點零..幾看保留幾位) 9 a = 15.269 10 a -= 0.005 11 print("%.2f" %a) 12 # 15.26
# Python3.6新增了一種f-字元串格式化 # 格式化的字元串文字前綴為』f』和接受的格式字元串相似str.format()。它們包含由花括弧包圍的替換區域。替換欄位是表達式,在運行時進行評估,然後使用format()協議進行格式化。 # formatted string literals, 以 f 開頭,包含的{}表達式在程式運行時會被表達式的值代替。 a = 10 c = '121212' print(f'a = {a}') # a = 10 print(f'c = {c}') # c = 121212
python基本數據類型
int: 整數型,用於存儲諸如年齡、個數等數據,age = 18
python 2.x 中還有一個長整型( long )的類型,但在python 3.x 中int 是一個可自動擴展的數據類型
float: 浮點型,用於存儲價錢、月薪等數據,salary = 160000.00
str: 字元串型,用於存儲描述性資訊,如 jason = 「jason今年18歲,瘦高瘦高的」
# 字元串類型定義的幾種方式 a = 'halo' b = "thank you" c = ''' thank you ''' d = """ thank you very much ! """ # 字元串的相加運算 a = "hello " b = "world" print (a + b) # hello world 字元串相加 # 字元串的相乘運算 a = "hands your hand up! " print(a * 3) #hands your hand up! hands your hand up! hands your hand up!
list: 列表類型,用於存儲多個任意類型的數據,如 hobby = ['sing', ['jump', 'dance'], 'rap', 'basketball']
dict: 字典類型,用於多組數據,存儲數據有對應的描述,如 jason = {'name': "jason", 'age': 18}
key通常是描述性資訊,通常是字元串類型,是不可變類型
value可以是任意類型
字典存儲的元素是無序的,與列表不同,故不能用索引值來取值
1 # 取 sleep ----> list 的索引是從0 開始的 2 stu = [ 3 ['egon', 18, ['play',]], 4 ['alex', 18, ['play', 'sleep']] 5 ] 6 print(stu[1][2][1]) 7 # sleep 8 9 10 # 取出公司地點 11 info={ 12 'name':'egon', 13 'hobbies':['play','sleep'], 14 'company_info':{ 15 'name':'Oldboy', 16 'type':'education', 17 'addr':'shanghai qingpu e', 18 } 19 } 20 print(info['company_info']['addr']) 21 # shanghai qingpu e
bool: 布爾類型,用來存儲對錯是非類的數據,如 lily_older_than_tom = True, 只有 True 與 False 兩種值
tips: 如果變數名存儲的值是布爾值的話,那麼約定俗成的變數名統一用 is_ 開頭is_success、is_exist、is_delete、is_locked
complex:複數類型,(不了解), a = 1 – 2j
運算符
算術運算符
+、-、*、/ 、%: 常見的加、減、乘、除、取余運算符
python中 / 除法的精度不高,10 / 3 –> 3.3333335,但python有很多包可以解決這一問題
//、**: 整數除法(print(17 // 2) —> 8)、次方(print(2 **3) —> 8 , 2的3次方)
+=、-=、*=、/=…:增量運算, (a = 1 a += 2 print(a) –> 3)
1 print(10 / 3) 2 # 3.333333335 --> python的精度不高 3 4 print(11 % 3) 5 # 1
1 # 普通賦值 2 a = 10 3 4 # 鏈式賦值 5 a = b = c = 1000 6 print(a, b, c) 7 # 1000 1000 1000 ---> input中 , 會默認補空格 8 9 # ------------解壓賦值------------ 10 arr = [1, 2, 3, 4] 11 12 # 普通方法 13 a = arr[0] 14 b = arr[1] 15 c = arr[2] 16 d = arr[3] 17 print(a, b, c, d) 18 # 1 2 3 4 19 20 # 解壓賦值 21 a, b, c, d = arr 22 print(a, b, c, d) 23 # 1 2 3 4 24 25 # 解壓賦值 _ 26 a, _, _, d = arr 27 print(a, _, d) 28 # 1 3 4 29 30 # 解壓賦值 *_ ---> 可以巧用這個 *_ 31 a, *_, d = arr 32 print(a, _, d) 33 # 1 [2, 3] 4 34 35 # ------------交換值-------------- 36 m = 10 37 n = 20 38 39 # 普通方法 40 o = m 41 m = n 42 n = 0 43 print(m, n) 44 # 20 10 45 46 # 交叉賦值 47 m = 10 48 n = 20 49 m,n = n,m 50 print(m, n) 51 # 20 10
容器類型:能存儲多個值得都可以叫做容器類型
邏輯運算符(返回值位bool類型)
>、<、==、!= : 大於、小於、等於、不等於
and、or、not : 且、或、非 優先順序: not > and > or
1 a = 'asdf' 2 b = 'zg' 3 print(a > b) 4 # False python中的字元串比較是逐字母比較的, 'z' > 'a',所以字元串 b > a 5 6 a = 1 7 b = 1 8 print(a == b) 9 # True == 比較的是變數所對應的值是否相等 10 11 c = 288 12 d = 288 13 print(c is d) 14 # False is 比較的是兩個變數的記憶體地址是否相等 15 # 兩個變數的記憶體地址相等,那麼他們的值一定相等