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

基本資料型別內建方法

一:字串的內建方法
1.大小寫
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(): # upper()大小寫轉換 這裡也可以是lower()
print('驗證碼正確')
else:
print('驗證碼錯誤')

### # 字串內建操作

res = 'JasOn123 JAson'
res1 = 'jason123'
# 判斷是否是純大寫 isupper()是否純大寫
print(res.isupper()) # is開頭,一個變數名或者一個方法名,用is開頭這個變數所指的值,這個方法的結果,肯定是布林值
# False
print(res1.isupper())
# False
# 只判斷英文
# 判斷是否是純小寫 islower()是否純小寫
print(res.islower())
# False
print(res1.islower())
# True

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

替換指定個數的文字
print(s4.replace('tony', 'jason', 1)) # 比如說就想替換一個,寫個1
my name is jason tony my age is 18

4.格式化輸出
4.1 與使用者互動 佔位符 %s %d # 圖快使用推薦

s1 = 'my name is %s my age is %s'
print(s1 % ('tony', 18)) # my name is tony my age is 18

4.2 字串內建方法 format() # 格式化輸出建議使用format() # 重複使用推薦

第一種 相當於%s佔位符
s2 = 'my name is {} my age is {}'
print(s2.format('jason', 18)) # my name is jason my age is 18

第二種 # 大括號內索引值可以打破順序 並且可以反覆使用相同位置的資料
s3 = 'my name is {0} my age is {1} {1} {0}' # {}這個裡面的數字是 索引取值
print(s3.format('jason', 18)) # my name is jason my age is 18 18 jason

第三種 # 大括號內寫變數名
s4 = '{name1} my name is {name1} my age is {age} {name1} {name1}'
print(s4.format(name1='jason', age=18)) # jason my name is jason my age is 18 jason jason
'佔位符與format結合集體情況挑選使用'

5.字串的拼接
方式1 字串相加
print('hello' + 'world') # helloworld

方式2 join方法 更方便
l = ['jason', 'tony', 'kevin', 'tom', 'jack']
print('|'.join(l)) # jason|tony|kevin|tom|jack

字串型別拼接必須是字串型別,相同的型別(在python不同資料型別之間無法直接操作)

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

替換指定個數的文字
print(s4.replace('tony', 'jason', 1)) # 比如說就想替換一個,寫個1
# my name is jason tony my age is 18

7.判斷字串中是否是純數字 isdigit
s5 = 'jason123'
print(s5.isdigit()) # False
s6 = '123'
print(s6.isdigit()) # True

猜年齡,判斷使用者是否輸入的是純數字
guess_age = input('請輸入您猜測的年齡:').strip()
if guess_age.isdigit(): # 判斷使用者輸入的是否是數字
guess_age = int(guess_age)
else:
print('您能不能好好輸')

# 瞭解

# 1.字型格式

s5 = 'my name is jason my age is 18' # My Name Is Jason My Age Is 18
print(s5.title()) # 所有單詞首字母大寫

print(s5.capitalize()) # My name is jason my age is 18
# 開頭單詞首字母大寫

s6 = 'JaSOn iS Sb'
print(s6.swapcase()) # jAsoN Is sB 大小寫互換

s7 = 'my name is jason sb sb sb somebody'
print(s7.find('s')) # 9 # 查詢指定字元對應的索引值 從左往右找到一個就結束

print(s7.find('w')) # 找不到返回-1
print(s7.index('w')) # 找不到直接報錯

  • 統計某個字元出現的次數(記憶)
  • print(s7.count('sb')) # 3

s8 = 'jason'
print(s8.center(15, '$')) # 居中展示,將左右兩邊添上你想要的符號 $$$$$jason$$$$$
print(s8.ljust(15, '&')) # 左對齊 jason&&&&&&&&&&
print(s8.rjust(15, '*')) # 右對齊 **********jason

  • is其他

name_list = ['jason', 'kevin', 'tony', 'jack']

l1 = []

  • 把列表name_list的值放入列表l1
    for name in name_list:
    l1.append(name)

  • 佇列: FIFO
    for name1 in l1:
    print(name1, end=' ')
    print()

  • 堆疊: FILO
    print(l1[::-1])
    for name2 in l1[::-1]:
    print(name2, end=' ')

    二:列表內建方法

  • 列表內一般都會儲存相同資料型別的資料

  • 型別轉換 資料型別關鍵字(需要轉換的資料)
    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迴圈的資料型別轉換成列表"

  • 列表的內建方法
    name_list = ['jason', 'kevin', 'tony', 'jack']
    1.索引取值
    print(name_list[0]) # jason

  • 2.切片操作 顧頭不顧尾
    print(name_list[1:3]) # ['kevin', 'tony']

  • 2.1減負操作
    print(name_list[-1:-4:-1]) # ['jack', 'tony', 'kevin']
    print(name_list[-4:-1]) # ['jason', 'kevin', 'tony']

  • 3.間隔個數(步長) 自定義取值 跳一個拿一個
    print(name_list[0:4:2]) # ['jason', 'tony']

  • 4.統計列表中元素的個數 len
    print(len(name_list)) # 4

1.修改值
name_list = ['jason', 'kevin', 'tony', 'jack']
1.修改值 append()
name_list[0] = 666
print(name_list) # [666, 'kevin', 'tony', 'jack']
2.新增值 append
方式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, [666, 777, 888, 999]]

方式2 插入元素 insert() (將括號內的資料當成一個整體插入到索引指定位置)
name_list.insert(0, 'heiheihei')
print(name_list) # ['heiheihei', 'jason', 'kevin', 'tony', 'jack']
name_list.insert(2, 'heiheihei')
print(name_list) # ['heiheihei', 'jason', 'heiheihei', 'kevin', 'tony', 'jack']
name_list.insert(0, [11, 22, 33])
print(name_list) # [[11, 22, 33], 'heiheihei', 'jason', 'heiheihei', 'kevin', 'tony', 'jack']

### 三:擴充套件元素

方式3 擴充套件元素 (相當於for迴圈+append操作)

for+append(尾部新增)
l1 = [111, 222, 333, 444, 555]
l2 = [1, 2, 3, 4, 5]
for i in l2:
l1.append(i) # 將l2中元素追加到l1末尾
print(l1) # [111, 222, 333, 444, 555, 1, 2, 3, 4, 5]

  • 針對資料的操作就是:增刪改查
  • 改和增

    四:可變型別與不可變型別