本系列主要學習Python的基本使用和語法知識,后續可能會圍繞著AI學習展開。
Python3 (1) Python語言的簡介
Python3 (2) Python語法基礎
Python3 (3) Python函數
Python3 (4) Python高級特性
Python3 (5) Python 函數式編程
Python3 (6) Python 模塊
Python3 (7) Python 面向對象編程
Python3 (8) Python 面向對象高級編程
Python3 (9) Python 錯誤、調試和測試
Python3 (10) Python IO編程
Python3 (11) Python 進程和線程
Python3 (12) Python 常用內建模塊
Python3 (14) Python 網絡編程
python基礎部分相對簡單,屬于動態語言,大小寫敏感,代碼塊通過縮進表示(約定4個空格鍵進行縮進,沒有格式化的功能),注釋采用“#”開頭,典型的腳本語言特征,文件以“.py”格式保存。
數據類型
1. 整數
python 中整數沒有大小限制,超出一定范圍就直接表示為 inf(無限大)
python 通常用十進制(-10000、1234)、十六進制(0xa2b3c4d5、0xff00)
python 整數的運算是精確的(10/3 = 3.3333333333333335,10//3 = 3 只取整數部分)
2. 浮點數
python 中浮點數沒有大小限制,超出一定范圍就直接表示為 inf(無限大)
python 中浮點數寫法有兩種 一般寫法(1.234)科學記數法(123.4e-2)
python 浮點數的運算會有四舍五入的誤差
3. 字符串
python 中字符串用 ''('abc')或者""("abc")表示 ,多行字符串用''' ''' ('''abc
def''')
python 中支持轉義符,也可以通過r'abc'或r'''abc'''來屏蔽轉義符
python 中支持占位符“ %d 整數 ”、“%f 浮點數”、“%s 字符串”、“%x 十六進制整數”
python 中支持 format() 格式化 “'我是 {0}, 體重{1:.1f}kg'.format('小明', 60.125)”
python 中字符串一般采用 “utf-8” 編碼,在文本首行進行申明,如下:
# -*- coding:utf-8 -*-
# 驗證 r 與多行字符串的顯示 并且屏蔽轉義符
print(r'''hello,\n
python''')
# 驗證占位符的使用
print('abc%sef%.1f'%('d',12.345))
# 驗證format()的使用
print('我是{0},體重{1:.1f}kg'.format('小明',60.125))
輸出結果:
hello,\n
python
abcdef12.3
我是小明,體重60.1kg
4. 布爾值
python 中布爾值用True、False 表示(注意是大寫)
python 中支持 "and"、"or"、"not" 運算
5. 空值
python 中空值用 “None” 表示是一個特殊的值,不同于“0”
6. 列表 list
Python內置的一種數據類型是列表:list。list是一種有序的集合,可以隨時添加和刪除其中的元素
list中的元素可以是不同的數據類型
#定義list
names = ['張三','李四','王五']
print(names)
#獲取list元素個數
print(len(names))
#獲取list某個元素
print(names[0])
#獲取list倒數某個元素
print(names[-1])
#追加元素到末尾
names.append('趙六')
print(names)
#指定位置插入元素
names.insert(1,'456')
print(names)
#替換指定位置的元素
names[0]= 123
print(names)
#刪除list末尾元素
names.pop()
print(names)
#刪除指定位置的元素
names.pop(0)
print(names)
#list中嵌套list
ages = [16,17,18]
names.insert(1,ages)
print(names)
#得到list中嵌套list的某個元素
print(names[1][0])
輸出結果:
['張三', '李四', '王五']
3
張三
王五
['張三', '李四', '王五', '趙六']
['張三', '456', '李四', '王五', '趙六']
[123, '456', '李四', '王五', '趙六']
[123, '456', '李四', '王五']
['456', '李四', '王五']
['456', [16, 17, 18], '李四', '王五']
16
7. 元組 tuple
元組:tuple。tuple和list非常類似,但是tuple一旦初始化就不能修改,沒有增刪改查的方法
#定義tuple
names=('張三','李四','王五')
print(names)
#定義 空的tuple
names = ()
print(names)
#定義 一個元素的tuple
names =('張三',)
print(names)
輸出結果:
('張三', '李四', '王五')
()
('張三',)
8. 字典 dict
Python內置了字典:dict的支持,全稱dictionary,在其他語言中也稱為map,使用鍵-值(key-value)存儲,具有極快的查找速度。優缺點與java的map一致
#定義dict
dicts = {'張三': 16, '李四': 17, '王五': 18}
print(dicts)
#根據key查找對應的value
print(dicts['張三'])
#替換key對應的value
dicts['張三']=20
print(dicts)
#判斷key是否存在
print('趙六'in dicts)
#通過get方法取value,key不存在可以設置默認值
print(dicts.get('趙六',-1))
輸出結果:
{'張三': 16, '李四': 17, '王五': 18}
16
{'張三': 20, '李四': 17, '王五': 18}
False
-1
9. 只存key的字典 set
set和dict類似,也是一組key的集合,但不存儲value。由于key不能重復,所以,在set中,沒有重復的key。
set可以看成無序和無重復元素的集合,可以做交集、并集等操作
# 定義Set
sets = set([1, 2, 4])
print(sets)
# 驗證Set元素的唯一性
repeatSets = set([1,2,4,2,4,1])
print(repeatSets)
#set中 添加一個key
sets.add(3)
print(sets)
#set中 移除一個key
sets.remove(1)
print(sets)
#set 做交集、并集操作
s1 = set([1,2,3])
s2 = set([3,4,5])
print(s1&s2)
print(s1|s2)
輸出結果:
{1, 2, 4}
{1, 2, 4}
{1, 2, 3, 4}
{2, 3, 4}
{3}
{1, 2, 3, 4, 5}
變量
python 中變量可以是任意數據類型
python 中同一個變量可以反復賦值,而且可以是不同類型的變量(動態語言的特性)
python 支持多種數據類型,在計算機內部,可以把任何數據都看成一個“對象”,而變量就是在程序中用來指向這些數據對象的,對變量賦值就是把數據和變量給關聯起來
常量
python 中通常用全部大寫的變量名表示常量 (PI = 3.14159265359)
條件語句
if...elif...
# if...else...
a = input("a: ") # int
b = input("b: ") # int
a = int(a)
b = int(b)
if (a > b):
print("max: ", a)
else:
print("max: ", b)
# if...elif...else...
score = input("score: ") # string
score = int(score)
if (score >= 90) and (score <= 100):
print("A")
elif (score >= 80 and score < 90):
print("B")
elif (score >= 60 and score < 80):
print("C")
else:
print("D")
輸出結果:
a: 10
b: 15
max: 15
score: 60
C
循環語句
for...in...循環
# for...in...
a = 0
for x in range(5):
a = a + x
print(a)
輸出結果:
0
1
3
6
10
while...循環
# while
n = 0
while n < 5:
n = n + 1
print(n)
輸出結果:
1
2
3
4
5
關鍵字
break、continue 使用方法與其他語言相同
參考
https://www.python.org
http://www.runoob.com/python3/python3-tutorial.html
https://www.liaoxuefeng.com