常用數據類型及操作
簡介
最近在學習python,了解一下智能語言的使用及腳本開發,在此做記錄方便后期鞏固和回溯,個人感覺python的語法和結構與Lua很相似
數據類型
- Number :數值類型(不可變數據),包含:int,float,bool,complex(復數)
- String :字符串類型(不可變數據),使用單引號''或雙引號""都可以
- bool : 布爾類型
- List : 列表(可變數據)
- Tuple : 元組(不可變數據)
- Set :集合(可變數據)
- Dictionary :字典(可變數據)
- bytes :二進制
聲明或使用
聲明
python語法中,聲明變量不需要加入變量類型,并且在被賦值后才會創建變量對象,例如:
test1 = "Asd" #聲明test1變量為字符串
test2 = 1 #聲明test2變量為數值類型
test3 = True #聲明變量test3為bool類型,python3中,bool是int的子類型,True==1,False==0
test4 = ['abcd',1,2,30.1] #聲明變量test4為列表類型
test5 = ('abcd',1,71.1) #聲明變量test5為元組類型,當聲明只包含一個元素的元組時,需要在元素后面加入逗號:test=(1,)
test6 = {"asd","bcs"} #聲明變量test6為集合類型,當聲明空集合時需要使用set(),例如:test=set()
test7 = {'name':'runoob','code':1} #聲明test7為字典類型
test8 = bytes("hello",encoding="utf-8") #聲明變量test8為bytes類型
def testFunc(): #聲明變量testFunc為函數
return;
使用
1. 字符串
字符截取
Python 使用反斜杠 \ 轉義特殊字符,如果你不想讓反斜杠發生轉義,可以在字符串前面添加一個 r,表示原始字符串
- 反斜杠可以用來轉義,使用r可以讓反斜杠不發生轉義。
- 字符串可以用+運算符連接在一起,用*運算符重復。
- Python中的字符串有兩種索引方式,從左往右以0開始,從右往左以-1開始。
- Python中的字符串不能改變。

str = 'Runoob' # 定義一個字符串變量
print(str) # 打印整個字符串
print(str[0:-1]) # 打印字符串第一個到倒數第二個字符(不包含倒數第一個字符)
print(str[0]) # 打印字符串的第一個字符
print(str[2:5]) # 打印字符串第三到第五個字符(不包含索引為 5 的字符)
print(str[2:]) # 打印字符串從第三個字符開始到末尾
print(str * 2) # 打印字符串兩次
print('Ru\nnob')
print(r'Ru\nnob')
格式化
- 常用格式化方式與C語言的格式化大致相似,都是使用%s、%d等
- f-string格式化,類似于C#中的$(python3.6之后才可使用)
print ("我叫 %s 今年 %d 歲!" % ('小明', 10))
test = {"list":[1,2,3,4]}
print(type(test))
for k,v in test.items():
print(f"K:{k} V:{v}")
2. 字典、列表、元組、集合
#字典,可以使用for循環,但是需要注意會返回key和value,所以需要兩個變量去接收
test = {"list":[1,2,3,4]} #字典
print(type(test)) #輸出:<class 'dict'>
test1 = test
test2 = test.copy()
del test2["list"]
print(test) #輸出:{'list': [1, 2, 3, 4]}
print(test1) #輸出:{'list': [1, 2, 3, 4]}
print(test2) #輸出:{}
#列表,可以使用for循環
test = [1,2,3,"aasd"]
print(type(test)) #輸出:<class 'list'>
test1 = test
test2 = test.copy()
del test2[2]
print(test) #輸出:[1, 2, 'aasd']
print(test1) #輸出:[1, 2, 'aasd']
print(test2) #輸出:[1, 2, 3, 'aasd']
#元組,不支持修改元素,但是元素中如果包含列表或字典可以修改列表或字典里的值,可以使用for循環
test = ("a","b",3,4,8)
print(type(test)) #輸出:<class 'tuple'>
print(test) #輸出:('a', 'b', 3, 4, 8)
#集合,沒有索引不能通過索引值獲取內容,可以使用for循環,集合的創建與字典類似,但是需要注意空集合創建要用set(),'{}'是空字典
test = {"aabb","asdcd"}
print(type(test)) #輸出:<class 'set'>
test1 = test
test2 = test.copy()
test.add("abcd")
test2.update("hhh")
test1.remove("asdcd")
test2.discard("acd")
print(test) #輸出:{'aabb', 'abcd'}
print(test1) #輸出:{'aabb', 'abcd'}
print(test2) #輸出:{'asdcd', 'aabb', 'hhh'}

浙公網安備 33010602011771號