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

資料型別的內建方法上

資料型別的內建方法

  """

  如何檢視資料型別都有哪些內建方法
    句點符(.)
  """

整型int

  1.型別轉化int()

res = int(res)

  '''int只能轉換純整數,小數不行,不是數字以為的資料也不行'''

  2.進位制轉化

print(bin(100))  # 將十進位制的100轉換成二進位制  0b1100100
print(oct(100))  # 將十進位制的100轉換成八進位制  0o144
print(hex(100))  # 將十進位制的100轉換成十六進位制  0x64
# 0b開頭為二進位制數  0o開頭為八進位制數  0x開頭為十六進位制數
print
(int('0b1100100', 2)) # 100 print(int('0o144', 8)) # 100 print(int('0x64', 16)) # 100

浮點型float

  型別轉化float()

res = float(res)

  '''整型可以轉化為浮點型,其他不行'''

字串str

  1.型別轉化 str()

        print(str(123))
        print(str(123.21))
        print(str([1, 2, 3, 4]))
        print(str({'name': 'jason', 'pwd': 123}))
        
print(str((1, 2, 3, 4))) print(str(True)) print(str({1, 2, 3, 4}))

  '''所以型別都可以轉化'''

  2.索引取值 變數名[]

res = 'hello world!'
print(res[1])  # e

  

  3.切片操作 顧頭不顧尾變數名[1:4]

res = 'hello world!'
print(res[1:4])  # ell

  

  4.步長操作變數名[1:10:2]

res = 'hello world!'
print(res[1:10])  # ello worl
print(res[1:10:2]) # el ol

  5.索引支援負數變數名[-1]


res = 'hello world!'
print(res[-1])  # !  最後一位
print(res[-5:-1])  # orld  顧頭不顧尾
print(res[-5:-1:-1])  # 方向衝突

  6.統計字串內部字元的個數 len()


res = 'hello world!'
print(len(res))  # 12

  7.移除字串首尾指定的字元.strip()

name = '  jason  '
print(name, len(name))
print(len(name.strip()))  # 預設移除首尾的空格
name1 = '$$jason$$'
print(name1.strip('$'))  # jason
print(name1.lstrip('$'))  # jason$$
print(name1.rstrip('$'))  # $$jason

  8.按照指定的字元切割字串.split() 該方法的結果是一個列表

res2 = 'jason|123|18'
print(res2.split('|'))  # ['jason', '123', '18']
print(res2.split('|', maxsplit=1))  # ['jason', '123|18']  maxsplit用於控制切割的次數
print(res2.rsplit('|', maxsplit=1))  # ['jason|123', '18']

  9.大小寫.upper()大寫.lower()小寫

res = 'JasOn123 JAson'
res1 = 'jason123'
# 轉全大寫
print(res.upper())  # JASON123 JASON
# 轉全小寫
print(res.lower())  # jason123 jason

  """

  實際案例:圖片驗證碼忽略大小寫

  思路:全部轉大寫或者小寫再比對
  """

old_code = 'JaSon123'
print('這是返回給使用者的圖片驗證碼:%s' % old_code)
new_code = input('請輸入驗證碼>>>:').strip()
if old_code.upper() == new_code.upper():  # 這裡也可以使用lower()
     print('驗證碼正確')
else:
     print('驗證碼錯誤')
# 判斷是否是純大寫
print(res.isupper())
print(res1.isupper())
# 判斷是否是純小寫
print(res.islower())
print(res1.islower())

  10.判斷字串是否以指定的字元開頭.startswith()開始 .endswith()結尾

s1 = 'jason 123 newapeman heiheihei oldgirl'
print(s1.startswith('tony'))  # False
print(s1.startswith('j'))  # True
print(s1.startswith('jas'))  # True
print(s1.startswith('jason'))  # True
# 3.判斷字元是否以指定的字元結尾
print(s1.endswith('oldboy'))  # False
print(s1.endswith('l'))  # True
print(s1.endswith('rl'))  # True
print(s1.endswith('oldgirl'))  # True

  11.格式化輸出 .format()

# 1.與使用者互動 佔位符 %s %d
# 2.字串內建方法 format()
# 第一種玩法 相當於%s佔位符
s2 = 'my name is {} my age is {}'
print(s2.format('jason',18))  # my name is jason my age is 18
# 第二種玩法 大括號內寫索引值可以打破順序 並且可以反覆使用相同位置的資料
s3 = '{1} my name is {1} my age is {0} {0} {0} {1} {1}'
print(s3.format('jason', 18))
# 第三種玩法 大括號內寫變數名
s4 = '{name1} my name is {name1} my age is {age} {name1} {name1}'
print(s4.format(name1='jason', age=18))
'''佔位符與format結合具體情況挑選使用'''

  12.字串的拼接.join()

# 方式1  字串相加
print('hello' + 'world')
# 方式2  join方法
l = ['jason', 'tony', 'kevin', 'tom', 'jack']
print(l[0] + '|' + l[1] + '|' + l[2] + '|' + l[3] + '|' + l[4])
print('|'.join(l))
l1 = ['jason', 123, 'tony']
print('$'.join(l1))  # 報錯
"""必須是字串型別 (在python不同資料型別之間無法直接操作)"""

  13.替換字串中指定的字元.replace()

s4 = 'my name is tony tony tony my age is 18'
# 替換字串中所有的tony>>>jason
print(s4.replace('tony', 'jason'))  # my name is jason jason jason my age is 18
# 替換指定個數的文字
print(s4.replace('tony', 'jason', 1))  # my name is jason tony tony my age is 18

  14.判斷字串中是否是純數字.isdigit()

s5 = 'jason123'
print(s5.isdigit())  # False
s6 = '123'
print(s5.isdigit())  # True
'''實際案例'''
guess_age = input('請輸入猜測的年齡>>>:').strip()
if guess_age.isdigit():
    guess_age = int(guess_age)
else:
    print('你能不能好好輸')

  # 瞭解


  字型格式相關

  .title()所有單詞首字母大寫.capitalize()開頭的單詞首字母大寫.swapcase()大小寫互換

s5 = 'my name is jason my age is 18'
print(s5.title())  # My Name Is Jason My Age Is 18  所有單詞首字母大寫
print(s5.capitalize())  # My name is jason my age is 18  開頭的單詞首字母大寫
s6 = 'JaSOn iS Sb'
print(s6.swapcase())  # jAsoN Is sB  大小寫互換

  .find()檢視 .index()檢視.count()統計字元出現次數

s7 = 'my name is jason sb sb sb somebody sb sb sb sb sone sb sone'
print(s7.find('s'))  # 檢視指定字元對應的起始索引值  從左往右找到一個就結束
print(s7.find('sb'))  # 檢視指定字元對應的起始索引值  從左往右找到一個就結束
print(s7.find('w'))  # 找不到返回-1
print(s7.index('w'))  # 找不到直接報錯
# 統計某個字元出現的次數(記憶)
print(s7.count('sb'))

  .center()居中顯示 .ljust()左對齊 .rjust()右對齊

print(s8.center(15, '$'))  # 居中展示
print(s8.ljust(15, '&'))  # 左對齊   jason&&&&&&&&&&
print(s8.rjust(15, '*'))  # 右對齊   **********jason

  .isalnum() # 字串中既可以包含數字也可以包含字母

  .isalpha() # 字串中只包含字母

列表

  1.型別轉化list()

# 列表內一般都會儲存相同資料型別的資料
# 型別轉換  資料型別關鍵字(需要轉換的資料)
print(list(123))  # 報錯
print(list(123.21))  # 報錯
print(list('hello'))  # ['h', 'e', 'l', 'l', 'o']
print(list({'username': 'jason', 'pwd': 123}))  # ['username', 'pwd']
print(list((11, 22, 33)))  # [11, 22, 33]
print(list({11, 22, 33}))  # [33, 11, 22]
'''list關鍵字可以將支援for迴圈的資料型別轉換成列表'''

  2.修改值列表變數名[索引] = 修改後的變數值

name_list[0] = 666
print(name_list)  # [666, 'kevin', 'tony', 'jack']

  3.新增值.append().insert().extend()

# 方式1  尾部追加(將括號內的資料當成一個整體追加到列表末尾)
name_list.append(666)
print(name_list)  # ['jason', 'kevin', 'tony', 'jack', 666]
name_list.append([666, 777, 888, 999])
print(name_list)  # ['jason', 'kevin', 'tony', 'jack', [666, 777, 888, 999]]
# 方式2  插入元素(將括號內的資料當成一個整體插入到索引指定位置)
name_list.insert(0, 'heiheihei')
print(name_list)  # ['heiheihei', 'jason', 'kevin', 'tony', 'jack']
name_list.insert(2, 'hahaha')
print(name_list)  # ['jason', 'kevin', 'hahaha', 'tony', 'jack']
name_list.insert(0, [11, 22, 33])
print(name_list)
# 方式3  擴充套件元素(相當於for迴圈+append操作)
name_list.extend([111, 222, 333, 444, 555])
print(name_list)  # ['jason', 'kevin', 'tony', 'jack', 111, 222, 333, 444, 555]
l1 = [111, 222, 333, 444, 555]
l2 = [1, 2, 3, 4, 5]
for i in l2:
    l1.append(i)  # 將l2中元素追加到l1末尾
print(l1)

  4.刪除值del 列表變數名[索引] .remove() .pop()

# 方式1  通用刪除方式
del name_list[1]  # 根據索引直接刪除  del是關鍵字delete縮寫
print(name_list)  # ['jason', 'tony', 'jack']
# 方式2  remove()  括號內指定需要移除的元素值
name_list.remove('jason')
print(name_list)
print(name_list.remove('jason'))  # None
# 方式3  pop()  括號內指定需要彈出的元素索引值   括號內如果不寫引數則預設彈出列表尾部元素
name_list.pop(1)
print(name_list)
name_list.pop()
print(name_list)
print(name_list.pop())  # jack

END

  精彩內容 下節分享