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 # 兩個變數的記憶體地址相等,那麼他們的值一定相等