首先,我們知道Python 3 中,有6個標准的數據類型,它們分為可變和不可變。
不可變數據(3個):
可變數據(3個):
這是Python 3中的6個標准的數據類型,其中包括它們的基本用法和其常用的方法,下面都會列舉出來,以便日後學習參考。首先,我們需要了解一下運算符,因為這些數據類型常常用到這些運算等等。
詳見:Python 運算符
#字符串的形式:使用''或者""創建字符串
str1 ='this is str1'
print(str1)
# 1.upper() 將字符串中所有小寫字母轉換為大寫
#字符串.upper()
s1 = "hello Python"
print(s1.upper()) # HELLO PYTHON
#2.lower() 將字符串中所有大寫字母轉化為小寫
#字符串.lower()
s2 = "HELLO PYTHON"
print(s2.lower()) # hello python
#3.swapcase() 將字符串中大小寫字母進行互換
#字符串.swapcase()
s3 = "hello PYTHON"
print(s3.swapcase()) # HELLO python
#4.title() 將字符串中的字母進行標題化處理(每個單詞首字母大寫)
#字符串.title()
s4 = "hello python hello world"
print(s4.title()) # Hello Python Hello World
#5.capitalize() 將字符串中第一個字母變為大寫 首字母大寫函數
#字符串.captialize()
s5 = "hello python hello world"
print(s5.capitalize()) # Hello python hello world
# 1.isupper() 檢測字符串是否都是大寫字母組成
# 變量.isupper()
# 2.islower() 檢測字符串是否都是小寫字母組成
# 變量.islower()
# 3.istitle() 檢測字符串是否符合標題要求
# 變量.istitle()
# 4.isalnum() 檢測字符串是否由數字和字母及文字組成
# 變量.isalnum()
# 5.isalpha() 檢測字符串是否由字母和文字組成
# 變量.isalpha()
# 6.isdigit() 檢測字符串是否由10進制字符組成(數字) *
# True: Unicode數字,byte數字(單字節),全角數字(雙字節)
# False: 漢字數字
# Error: 無
# 變量.isdigit()
# 7.isnumeric()檢測字符串是否由數字字符組成(數字)
# True: Unicode數字,全角數字(雙字節),漢字數字
# False: 無
# Error: byte數字(單字節)
# 變量.isnumeric()
# 8.isspace() 檢測字符串是是否由空白字符(不可見字符)組成 *
# 變量.isspace()
# 1.startswith() 檢測字符串是否以指定的字符串開頭 *
# 變量.startswith('檢測的字符串')
# 2.endswith() 檢測字符串是否以指定的字符串結尾 *
# 變量.endswith('檢測的字符串')
# 1.center() 使用指定的字符將字符串填充到指定的長度,原有內容居中對齊
# 變量.center(填充長度)
# 變量.center(填充長度,填充字符)
# 2.ljust()使用指定的字符將字符串填充到指定的長度,原有內容靠左對齊
# 變量.ljust(填充長度)
# 變量.ljust(填充長度,填充字符)
# 3.rjust()使用指定的字符將字符串填充到指定的長度,原有內容靠右對齊
# 變量.rjust(填充長度)
# 變量.rjust(填充長度,填充字符)
# 4.zfill() zero fill 零填充效果(即長度不夠用0填充),內容靠右
# 變量.zfill(整個字符串的長度)
# 1.split() 使用特定的字符串切割字符串 *
# 變量.split(切割的字符)
# 變量.split(切割的字符, 切割次數)
# 2.join() 使用特定字符串將容器數據連接成一個字符串 *
# 特定字符串.join(容器)
# 1.strip() 去除字符串左右兩側指定的連續字符 *
# 變量.strip() 默認去除左右兩側空格字符
# 變量.strip(去除的指定字符串)
# 2.lstrip()去除字符串左側指定的連續字符
# 變量.lstrip() 默認去除左右兩側空格字符
# 變量.lstrip(去除的指定字符串)
# 3.rstrip()去除字符串右側指定的連續字符
# 變量.rstrip() 默認去除左右兩側空格字符
# 變量.rstrip(去除的指定字符串)
元組類似於列表,元組用()表示。內部元素用逗號隔開,元組是不可變的,不能二次賦值,相當於只讀列表。
t = (100,'xiaoming','hello',1.23)
print(t[0]) # 100
t[3] = 666 # 這是非法應用
# TypeError: 'tuple' object does not support item assignment
list = [10,'a']
list.append('b')
print(list)
# 結果: [10, 'a', 'b']
list = [10,'a']
list.insert(1,'b')
print(list)
# 結果: [10, 'b', 'a']
注意: append() 和 insert() 方法是列表方法,只能在列表上調用,不能在其他值上調用,例如字符串和整型。
list = [10,'a']
list = list + ['b']
print(list)
# 結果: [10, 'a', 'b']
list = [10,'a']
list.extend([20,'b'])
print(list)
# 結果: [10, 'a', 20, 'b']
注意: 追加append() 和 擴展extend() 方法的區別:append()方法是將數據類型的元素分解添加至列表內;extend()方法為將元素作為一個整體添加。
list = [10,'a']
list2 = list * 3
print(list2)
# 結果: [10, 'a', 10, 'a', 10, 'a']
list = [10,'a','b']
del list[1]
print(list) # 結果: [10, 'b']
del list
print(list) # 結果: <class 'list'>
list = [10,'a','b',30,'a']
list.remove('a')
print(list) #結果: [10, 'b', 30, 'a']
list.remove('c')
print(list)
# 拋出異常
# Traceback (most recent call last):
# [10, 'b', 30, 'a']
# File "C:Desktop/Test.py", line 10, in <module>
# list.remove('c')
# ValueError: list.remove(x): x not in list
如果知道要刪除的值在列表中的下標,del 語句就很好用。如果知道想要從列表中刪除的值,remove() 方法就很好用。
list = [10,'a','b',30]
print(list.pop(1)) # 結果: a
print(list) # 結果: [10, 'b', 30]
print(list.pop(6)) # 結果: IndexError: pop index out of range
# 正序
num = [2,5,-1,3.14,8,22,10]
num.sort()
print(num)
# 輸出: [-1, 2, 3.14, 5, 8, 10, 22]
print(sorted(num))
# 輸出: [-1, 2, 3.14, 5, 8, 10, 22]
# sort()和sorted()方法,兩者用法不一樣
# 逆序
# 指定reverse關鍵字參數為True
num = [2,5,-1,3.14,8,22,10]
num.sort(reverse=True)
print(num)
# 輸出: [22, 10, 8, 5, 3.14, 2, -1]
print(sorted(num,reverse=True))
# 輸出: [22, 10, 8, 5, 3.14, 2, -1]
關於sort() 方法應注意:num = [2,5,-1,3.14,8,22,10]
num = num.sort() # 錯誤操作
print(num)
str1 = [1,3,5,7,'hello','world']
str1.sort()
print(str1)
# TypeError: '<' not supported between instances of 'str' and 'int'
str1 = ['A','a','B','b','C','c']
str1.sort()
print(str1)
# 輸出: ['A', 'B', 'C', 'a', 'b', 'c']
# 按照普通的字典順序排序
str2 = ['A', 'a', 'B', 'b', 'C', 'c']
str2.sort(key=str.lower) # 將列表所有的項當成小寫
print(str2)
info = {
'name':'zz','age':18}
info['age'] = 20 # 鍵已存在,覆蓋
info['job'] = 'student' # 鍵不存在,新增
print(info) #結果: {'name': 'zz', 'age': 20, 'job': 'student'}
info = {
'name':'zz','age':18}
info1 = {
'name':'hh','sex':'男','money':8000}
info.update(info1)
print(info)
# 結果: {'name': 'hh', 'age': 18, 'sex': '男', 'money': 8000}
info = {
'name':'zz','age':18,'sex':'男'}
info.clear()
print(info) # 結果: {}
info = {
'name':'zz','age':18,'sex':'男'}
del info['name'] # 刪除鍵是'name'的鍵值對
print(info) # 結果: {'age': 18, 'sex': '男'}
del info # 清空字典
print(info)
# 拋出異常:
# Traceback (most recent call last):
# {'age': 18, 'sex': '男'}
# File "C:/Desktop/Test.py", line 26, in <module>
# print(info)
# NameError: name 'info' is not defined
這裡可以想一下,為什麼用clear()刪除字典不出現異常呢?info = {
'name':'zz','age':18,'sex':'男'}
print(info.pop('name')) # 結果: zz
print(info) # 結果: {'age': 18, 'sex': '男'}
info = {
'name':'zz','age':18,'sex':'男'}
pop_info = info.popitem() #隨機返回並刪除一個鍵值對
print(pop_info)
# 輸出結果可能為: ('sex', '男')
注意點:集合(set)是一個無序的不重復元素序列。
# 1.創建集合
info = set('hello')
print(info)
# 可能結果: {'l', 'e', 'o', 'h'}
Python 集合的添加有兩種常用方法,分別是 add() 和 update()。
info = {
'h', 'e', 'l', 'o'}
info.add('python')
print(info)
# 可能結果: {'h', 'e', 'python', 'l', 'o'}
info = {
'h', 'e', 'l', 'o'}
info.update('python')
print(info)
# 可能結果: {'n', 'e', 't', 'o', 'h', 'y', 'p', 'l'}
info = {
'h', 'e', 'python', 'l', 'o'}
info.remove('python')
print(info)
# 可能結果: {'e', 'l', 'h', 'o'}
你可能感興趣的文章: