1. 程式人生 > 其它 >資料型別的內建方法(上)

資料型別的內建方法(上)

資料型別的內建方法

# 資料型別是用來記錄事物狀態的,而事物的狀態是不斷變化的(如:一個人的年齡增長(操作int型),單個人名的修改(操作str型別),學生列表中增加學生(操作;list型別)等),這意味著我們在開發程式時需要頻繁對資料進行操作,為了提升開發效率,python針對這些常用的操作為每一種資料型別內建了一系列的方法。
1.整型int
# 轉換型別:只能轉換純數字
print(int('123.123')) 不能轉換
print(int('helloworld')) 不能轉換
print(int('110'), type(int('110'))) 可以轉
方法的表現形式:就是 int()

# 進位制之間的轉換
print(bin(13))  # 1101 =>  0,1  # 十進位制轉二進位制
print(oct(13))  # 1101 =>   0-7 # 十進位制轉八進位制
print(hex(13))  # 1101 =>  0-9, a,b,c,d,e,f  # 十進位制轉十六進位制
# 記憶:0b開頭的代表二進位制,0o開頭的代表八進位制, 0x開頭的代表十六進位制
print(int('0b1101', 2)) --->2代表的是二進位制
print(int('0o15', 8))	--->八進位制
print(int('0xd', 16))	--->十進位制
2.浮點型float
s = '12.3'
res = float(s)
print(res, type(res))
結果:12.3 <class 'float'>
數字型別主要就是用來做數學運算與比較運算,因此數字型別除了與運算子結合使用之外,並無需要掌握的內建方法
3.字串str
print(str(123))		整型轉字串
print(str(11.12))	浮點型轉字串	
print(str([1, 2, 3, 4]))	列表轉字串
print(str({'username': 'ly', 'age': 18})) 字典轉字串
print(str((1, 2, 3)))	元組轉字串
print(str({1, 2, 3}))	集合轉字串
print(str(True))	布林值轉字串


# 支援索引取值
s = 'helloworldhelloworldadasdsadsadhelloworldhelloworldhelloworld'
print(s[0])
print(s[4])
print(s[-1])
print(s[-4])
把字串的每一個字母當成一個元素,s[0]就是第一個h

# 支援切片操作
print(s[1:4])  # 顧頭不顧尾
print(s[1:9:3])  # 顧頭不顧尾, 第三個引數代表步長

# 計算字串長度的
print(len(s))  # 重點

# 移除strip
移除字串首尾指定的字元(預設移除空格),括號內不指定字元,預設移除首尾空白字元(空格、\n、\t)
string = '   hello     world    '  
print(string.strip())	# 只取出字串首尾的空白字元,中間的不管, 預設就是取出的空格
結果就是:hello     world 

string = '@@@hello     world@@@'
如果字串首位不是空白符,可以自定義
print(string.strip('@'))  # 只取出首尾
print(string.lstrip('@'))  # 只取出左邊
print(string.rstrip('@'))  # 只取出右邊

username = input('請輸入使用者名稱:')
username = username.strip()  # 當用戶輸入使用者名稱 輸入的字串前後有空白會被去掉 只要名字輸入正確就是ok
if username == 'ly':
    print('ok')
else:
    print('error')
    
# 切分split
source_data = 'ly  18 male'
print(source_data.split())	#['ly', '18', 'male'],不指定分隔符,預設以空格為分隔符 

source_data = 'ly|18|male'
print(source_data.split('|'))  # ['ly', '18', 'male']  以|為分隔符
print(source_data.split('|', maxsplit=1)) # ['ly', '18|male'] 只切割一次
'''切割出來的資料型別是列表'''