[Python_2] Python 基礎(1)
阿新 • • 發佈:2018-10-20
方式 中文 無需 構造 字符串解析 print 乘法表 結束 遍歷字典
0. 說明
Python 基礎筆記,使用的版本為 Python 3.6.2
Python 的變量、字符串操作、list、元組、字典、循環、range、類型轉換、運算等操作。
1. 引號的使用
字符串使用單、雙引號輸出,‘‘‘或"""三引號也可以,後者通常用於多行文檔原生輸出。
# 雙引號 print("hello world") # 單引號 print(‘hello world‘) # (2.x ,號結尾不換行打印)(3.x end=""結尾不換行打印) print("hello world" , end="")
2. Python 腳本中文亂碼的解決之道
在 Python 腳本頭部添加 UTF-8 字符集聲明
#-*- coding:utf-8 -*-
Linux 下的腳本需要在頭部添加解釋器如下,使用 which is python 查看 Python 的位置。
#!/usr/bin/python
3. 變量
Python 變量不用聲明,開袋即食。
# 無需定義變量 x = 10 print(x)
4. 代碼塊
Python 的代碼塊以縮進四個字符表示
# 縮進作為代碼段 if True: print(1) print(2) else: print(0)
5. 手動換行
手動換行為 \
# 相當於 1+2+3 x = 1 + 2 + 3 print(x)
6. 註釋
單行註釋 & 多行註釋
# 單行註釋 """ 多行註釋 多行註釋 """
7. 字符串操作
s = "hello world" # 輸出指定位置的字符 print(s[0]) # ll,前包後不包 print(s[2:4]) # llo world print(s[2:]) # hell print(s[:4]) # hello worl print(s[:-1]) # hello world print(s[:])#重復幾遍操作 hello worldhello world print(s * 2) # 濾除兩邊的空格,等價於trim print(" hello world ".strip(" ")) # 濾除左邊的指定字符 print(" hello world ".lstrip(" \r\t\n")) # 濾除右邊的字符 print(" hello world ".rstrip("\r\n;")) # 字符串轉換函數 print(str(100))
7. 格式化操作
# 字符串格式化操作 info = "name is %s and age is %d"%("tom" , 12) print(info) # 如果變量多次出現,可以使用format方式 info = "name is {x} , welcome for {x}".format(x="tom") print(info)
8. 變量定義
# 變量必須初始化 a= 100 # 錯誤,沒有賦值 b # 同時定義多個變量並賦值 a , b , c = 1 , 2 ,3
9. 數據類型
# int a = 100 # float a = 100.0 # python3 沒有長整形 # 復數 a = 1 + 1j a = 0 + 1j print(pow(a, 2)) print(a * a) # 字符串 a = "hello world" print(a)
10. List
List表示列表或數組,可以重復,有序,等同於 Java 中的 List 集合,List 內容可以修改。
# []是列表 l = [1,2,3] print(l) print(l[0]) print(l[1:]) print(l[:-1]) print(l[-2:]) # 追加元素 l.append(4) print(l) # 判斷是否包含指定元素 print(l.__contains__(5)) # 重復操作 print(l * 2) # 修改元素 l[0] = 100 print(l)
in 操作
""" in 操作表示在集合中是否存在 """ list = [1, 2, 3] print(2 in list)
11. 循環
""" 循環,end="" 不換行打印 """ list = [1, 2, 3, 4, 5, 6] for e in list: print(e, end="") """ for 循環實現 99 乘法表格 """ rows = [1, 2, 3, 4, 5, 6, 7, 8, 9] cols = [1, 2, 3, 4, 5, 6, 7, 8, 9] for r in rows: for c in cols: if c <= r: print("%d x %d = %d\t" % (c, r, (c * r)), end="") print() """ while 循環實現 99 乘法表格 """ i = 1 while (i < 10): j = 1 while (j <= i): print("%d x %d = %d\t" % (j, i, (i * j)), end="") j += 1 print() i += 1
12. range 對象
range 是範圍對象,指定起始(包括)、結束(不包括)和步長。註意 range 在 Python3 和 Python2 是不同的.
""" range 快速構造數字序列,[)區間 Python3 的 range 返回值為一個可叠代的對象,可以用list() 將其轉換為 list 結果如下: [1, 2, 3, 4, 5, 6, 7, 8, 9] range(1, 10, 2) range(10, 1, -1) """ r1 = range(1, 10) # 步長1,必須是整數 r2 = range(1, 10, 2) # 步長2 r3 = range(10, 1, -1) # 步長-1 print(list(r1)) print(r2) print(r3)
13. 元組
元組類似於數據表中的一條記錄,每個組員有不同的類型,內容不能修改,使用()表示。
""" 元組,使用()表示,元組不可變 """ t = (1, "tom", 12) # t[0] = 100 錯誤,元素不能修改 print(t, end="") print(t[0:-1], end="") print() for e in t: print(e)
14. 字典
字典等同於 Java 中的 map,使用 KV 方式存儲。通過 Key 查找 Value。使用 {} 構造。
""" 字典,類似於 Java 的 map,以 KV 對表示 """ d = {1: "tom1", 2: "tom2", 3: "tom3", 4: "tom4"} d[1] d[1] = 100 # 包含k操作 print(3 in d) # 刪除元素 d.pop(1) print(d) # 遍歷字典,叠代所有的key for e in d.keys(): print(e) # 遍歷字典,叠代所有的value for e in d.values(): print(e) # 叠代所有的元組,字典看作是元組的集合。 for e in d.items(): print(str(e[0]) + ":" + e[1]) # 反解析字典每個元素的內容到kv中 for (k, v) in d.items(): print(str(k) + ":::::" + v)
15. 類型轉換
""" 類型轉換 """ # 轉換成字符串 str(x) print(str(100) + str(2)) # 轉換成整數 int("100") print(int("100") + 2) # 轉換成float類型 print(float("3.1415926")) print(float(10)) # 將字符串解析成數學表達式進行計算 express = "1 + 2 - 3 * 4 / 2" print(eval(express)) # set()不重復集合 s = set([1, 1, 1, 2, 2, 3]) print(s) # 列表、元組、字典轉成字符串 print(str([1, 2, 2, 3, 4, 5])) print(str((1, 23, 45))) print(str({1: "tom1", 2: "tom2"}))
16. 運算
# -*-coding:utf-8-*- """" 運算符 """ # 整除 print(1 / 2) # 取余 print(1 % 2) # 冪函數,2^3 print(2 ** 3) # 浮點數除法 print(1.0 / 2) # 整除 print(1.0 // 2) # 進制變換 print(hex(97)) # 轉換成16進制 print(oct(97)) # 轉換8進制 print(chr(97)) # 轉換成字符 """" 位運算 """ print(1 & 2) print(1 | 2) print(1 ^ 2) # 異或 print(~1) # 取反 print(1 << 1) # 有符號右移 print(-1 >> 1) """ 邏輯運算 """ print(1 < 2 and 2 > 3) print(1 < 2 or 2 > 3) print(not 1 < 2) """ 身份運算 """ a = [1, 2, 3, 4, 5] b = a[0:3] # 判斷是否是同一對象 print(a is b) # 判斷內容是否相同 print(a == b) """ 條件運算 """ age = 15 if age < 18: print("少年") elif age > 60: print("老年") else: print("中年")
[Python_2] Python 基礎(1)