python基本資料型別及運算子
阿新 • • 發佈:2022-03-04
python基本資料型別及運算子
python基本資料型別之字典dict
字典:另一種可變容器模型,且可儲存任意型別物件 #字典的風格 每個鍵值 key=>value 對用冒號 : 分割 每個鍵值對之間用逗號 , 分割 整個字典包括在花括號 {} 中 ''' 元素是以K:V鍵值對的形式儲存 K是對V的描述性性質的資訊 一般都是字串 V是真是的資料類似於變數的值 可以是任意資料型別 ''' #程式碼示例: dict1 = { 'username': 'dlrb', 'age': 30, 'hobby': 'singing' } ''' 字典是不支援索引取值的 因為字典內部是無序的 '''
修改字典及新增字典資料
向字典新增新內容的方法是增加新的鍵/值對,修改或刪除已有鍵/值對如下 #程式碼例項: dict1 = { 'username': 'dlrb', 'age': 30, 'hobby': 'singing', 'school': 'hongqiao', 'class': 'class3' } #修改年齡為18 新增新資料科目英語 dict1['age'] =18 dict1['subject'] = 'english' #輸出結果: {'username': 'dlrb', 'age': 18, 'hobby': 'singing', 'school': 'hongqiao', 'class': 'class3', 'subject': 'english'}
刪除字典元素
#程式碼例項:
dict1 = {
'username': 'dlrb',
'age': 30,
'hobby': 'singing',
'school': 'hongqiao',
'class': 'class3'
}
#刪除字典中的hobby
del dict1['hobby']
#清空字典
dict1.clear()
#刪除字典
del dict1
字典內建函式
序號 | 函式 | 描述 |
---|---|---|
1 | cmp(dict1,dict2) | 比較兩個元素 |
2 | len(dict1) | 計算字典元素個數 |
3 | str(dict1) | 輸出字典可列印的字串表示 |
4 | type(variable) | 返回輸入的變數型別 |
字典內建方法
dict.clear() | 刪除字典內所有元素 |
---|---|
dict.copy() | 返回一個字典的淺複製 |
dict.fromkeys(s[,val]) | 建立一個新字典 s中元素做字典的鍵,val為所有鍵對應的初始值 |
dict.get(key.default=None) | 返回指定的值,不在字典中返回default |
dict.has_key(key) | 鍵在字典dict中返回true,不在返回false |
dict.items() | 以列表返回可遍歷的(鍵, 值) 元組陣列 |
dict.keys() | 以列表返回一個字典所有的鍵 |
dict.setdefault(key.default=None) | 和get()類似, 但如果鍵不存在於字典中,將會新增鍵並將值設為default |
dict.update(dict1) | 把字典dict1的鍵/值對更新到dict裡 |
dict.values() | 以列表返回字典中的所有值 |
pop(key[.default]) | 刪除字典給定鍵 key 所對應的值,返回值為被刪除的值。key值必須給出。 否則,返回default值。 |
poppitem() | 返回並刪除字典中的最後一對鍵和值。 |
python基本資料型別之元組tuple
Python的元組與列表類似,不同之處在於元組的元素不能修改
'''元組使用小括號,列表使用方括號'''
#程式碼示例:
tup1 = ('dlrb', 'glnz', 1997, 2000)
tup2 = (1, 2, 'a', 'sty', 879, 30.2, )
#訪問元組
print(tup1[0])
print(tup2[1:5])
''' 輸出結果:'''
dlrb
(2, 'a', 'sty', 879)
# 建立一個新元組
tup3 = tup1 + tup2
print(tup3)
''' 輸出結果:'''
('dlrb', 'glnz', 1997, 2000, 1, 2, 'a', 'sty', 879, 30.2)
元組內建函式
cmp(tuple1,tuple2) | 比較兩個元組元素 |
---|---|
len(tuple) | 計算元組元素個數 |
max(tuple) | 返回元組中元素最大值 |
min(tuple) | 返回元組中元素最小值 |
tuple(seq) | 將列表轉換為元組 |
python資料型別之集合set
該資料型別功能很單一 並且後續使用頻率較低
去重、關係運算
# 大括號括起來 內部存放多個元素 元素逗號隔開 不是k:v鍵值對
s = {1, 2, 3, 4, 5}
如果大括號定義空的資料 那麼預設是字典
python資料型別之布林值bool
布林值:
True
False
作用:True和False就像開關一樣決定for…in語句和while迴圈語句是否執行 #主要用於邏輯運算
針對布林值的變數名 一般採用is開頭
is_right = True
is_delete = False
is_alive = True
'''布林值預設為False的資料
0 None 空字串 空列表 空字典...
其他情況布林值都是True'''
python使用者互動
1.獲取使用者輸入
username = input("請輸入你的使用者名稱:")
password = input("請輸入你的密碼:")
age = input("請輸入你的年齡:")
2.輸出資料
print(username)
print(password)
print(age)
編寫方式
方式1 先寫print括號內寫需要列印的東西
方式2 先寫需要列印的東西之後使用句點符跟print之後tab
#括號內還支援一次性列印多個數據 逗號隔開即可
print(username,password,age)
格式化輸出
提前定義好模板 之後修改特定的區域即可
1. 變數可以用%s表示。s表示string。結尾用% (n,n1,n2)。
2.可以使用.format(變數,變數,變數)。
#程式碼示例1:
cost = '本月您的總消費是%s,用於生活消費%s,用於教育費用%s,用於娛樂消費%s,其他消費為%s'
print(cost % (9999 1111 2222 3333 3333))
輸出結果:
'''本月您的總消費是9999,用於生活消費1111,用於教育費用2222,用於娛樂消費3333,其他消費為3333'''
#程式碼示例2:
username = input("請輸入你的使用者名稱:")
password = input("請輸入你的密碼:")
age = input("請輸入你的年齡:")
print('my username is %s my password is %s my age is %s' %(username,password,age))
'''輸出結果:'''
請輸入你的使用者名稱:dlrb
請輸入你的密碼:adds132
請輸入你的年齡:18
my username is dlrb my password is adds132 my age is 18
,
"""佔位符:%s %d"""
%s可以給任意資料佔位
%d只能給數字佔位
運算子
乘(*) 除(/) 整除(//) 取餘(%) 等於(==) 冪(**)
#注:Python2.x 裡,整數除整數,只能得出整數。如果要得到小數部分,把其中一個數改成浮點數即可
等於(==) 不等於(!=) 大於(>) 小於(<) 大於等於(>=) 小於等於(<=)
#鏈式賦值
x = y = z = 100
#增量賦值
x += 100 x -= 100 x *= 100 x /= 100
# 交叉賦值
m, n = n, m
print(m, n)
''' 讓m指向n指向的值 讓n指向m指向的值'''
#解壓賦值(重要)
name_list = ['jason', 'kevin', 'tony', 'jerry']
name1, name2, name3, name4 = name_list
'''變數的數量必須跟序列元素的數量一樣'''
#程式碼示例:
list1 = [1, 2, 3, 55, 666, 7754,15641]
a,b,*_ =list1
print(_,a,b)
*_,a,b =list1
print(a,b)
"""
單獨的下劃線作為變數名 意思是為了符合語法 但是指向的值用不到的情況
"""
python邏輯運算子
and | 連線多個條件必須都滿足 結果才是True |
---|---|
or | 連線多個條件只要有一個滿足 結果就是True |
not | 將條件翻轉 True變為False False變為True |
#注:三者混合使用的時候是有優先順序 認為編寫可以強制規定好順序
python成員運算、身份運算
#成員運算
判斷個體在不在某個群體內
name_list = ['dsad', 'fdfa', 'fdf', 'ddd', 'ffaw', 'ods', ]
print('dsad' in name_list) # True
print('cccc' in name_list) # False
#身份運算
is:判斷兩個資料的記憶體地址是否一致
==:判斷兩個資料的值是否一致
程式碼示例:
a = 3
b = 3.0
c = "3"
print(a == b) #True
print(a is b) #False
print(a is c) #False
print(b is c) #False