您好,登錄后才能下訂單哦!
strip去除空格
s = ' abcd efg ' print(s.strip()) #去除所有空格 print(s.lstrip()) #去除左邊空格 print(s.rstrip()) #去除右邊空格 print(s) abcd efg abcd efg abcd efg abcd efg
大小寫
s = 'abc defg' print(s.upper()) print(s.upper().lower()) print(s.capitalize()) #首字母大寫 ABC DEFG abc defg Abc defg
位置和比較
s_1 = 'abcdefg' s_2 = 'abdefgh' print(s_1.index('bcd')) try: print(s_1.index('bce')) except ValueError: print('ValueError: substring not found') print(s_1 == s_1) # cmp函數(shù)被Python3移除了 print(s_1 > s_2) print(s_2 > s_1) 1 ValueError: substring not found True False True s = '' if not s: print('true') else: print('flase') #空字符串和flase是等價(jià)的 true
分隔和連接
s = 'abc,def,ghi' print(s.split(',')) s = '123\n456\n789' numbers = s.split('\n') #按行分隔 numbers = s.splitlines() #按行分隔 print(numbers) print('-'.join(numbers)) ['abc', 'def', 'ghi'] ['123', '456', '789'] 123-456-789
常用判斷
s = 'abcdefg' print(s.startswith('abc')) #判斷是否以某個(gè)字符串為開頭 print(s.endswith('efg')) #判斷是否以某個(gè)字符串為結(jié)尾 print('abcd1234'.isalnum()) #string中至少有一個(gè)字符,而且全是字母或者數(shù)字或者是字母和數(shù)字混合返回True,其他情況返回False print('\tabcd1234'.isalnum()) print('abcd'.isalpha()) #string中至少有一個(gè)字符,而且全為字母,返回True,其他情況返回False print('12345'.isdigit()) #輸入字符串是否只由數(shù)字組成 print(' '.isspace()) print('acb125'.islower()) print('A1B2C'.isupper()) print('Hello world!'.istitle()) #檢測(cè)字符串中所有的單詞拼寫首字母是否為大寫,且其他字母為小寫 True True True False True True True True True False
函數(shù)
函數(shù)定義與默認(rèn)參數(shù)
def func(x, y = 500): print(x, y) func(150) func(100, 200) func(y = 300, x = 100) 150 500 100 200 100 300
可變參數(shù)
def func(name, *numbers): #加一個(gè)星號(hào),就表示告訴python,在處理后面所有參數(shù)的時(shí)候,把這些參數(shù)放到一個(gè)數(shù)組里面 print(name) print(numbers) print(type(numbers)) func('Tom', 1, 2, 3, 4) Tom (1, 2, 3, 4) <class 'tuple'> #tuple - 元組,等價(jià)于只讀數(shù)組,就是后面所有的參數(shù)都會(huì)作為一個(gè)數(shù)組
關(guān)鍵字參數(shù)
def func(name, **kvs): # **意思是把它裝到 key/value 字典里,轉(zhuǎn)化成字典了 print(name) print(kvs) print(type(kvs)) func('Jack', china = 'Beijing', uk = 'London') Jack {'china': 'Beijing', 'uk': 'London'} <class 'dict'>
命名關(guān)鍵字參數(shù)
def func(a,b,c,*, china, uk): # *用于和普通參數(shù)做分割,*args一樣效果 print(china, uk) func(1,2,3,china = 'Beijing', uk = 'London') # *后面?zhèn)鬟f的參數(shù)必須傳入?yún)?shù)名 Beijing London
復(fù)雜情況
def func(a, b, c = 0, *args, **kvs): print(a, b, c, args, kvs) func(1, 2) func(1, 2, 3) func(1, 2, 3, 'a', 'b') func(1, 2, 3, 'a', 'b', china = 'Beijing', uk = 'London') func(1, 2, 3, *('a', 'b'), **{'china':'Beijing', 'uk':'London'}) #提高代碼的可讀性 1 2 0 () {} 1 2 3 () {} 1 2 3 ('a', 'b') {} 1 2 3 ('a', 'b') {'china': 'Beijing', 'uk': 'London'} 1 2 3 ('a', 'b') {'china': 'Beijing', 'uk': 'London'} def my_print(*args): print(*args) #傳變量時(shí),在變量前加上*號(hào),代表把這個(gè)數(shù)組作為可變參數(shù)處理 my_print('x = ',100, 'y = ',200) x = 100 y = 200
函數(shù)可以作為參數(shù)
def sum(x,y,p = None): s = x + y if p: p(s) return sum(100,200) sum(100,200,print) 300 def cmp(x,y,cp = None): if not cp: if x > y: return 1 elif x < y: return -1 else: return 0 else: return cp(x,y) def my_cp(x ,y): if x < y: return 1 elif x == y: return 0 else: return -1 print(cmp(100,200)) print(cmp(100,200,my_cp)) -1 1
遞歸
把一個(gè)大問題分解成同樣結(jié)構(gòu)的小問題, 然后利用小問題的解得出大問題的解
def my_sum(i): if i < 0: raise ValueError elif i <=1: return i else: return i + my_sum(i - 1) # my_sum(i - 1)是它更小范圍內(nèi)的解,利用這個(gè)子問題的解得出當(dāng)前的解 print(my_sum(1)) print(my_sum(2)) print(my_sum(3)) print(my_sum(10)) print(my_sum(100)) 1 3 6 55 5050 # 遞歸的經(jīng)典例子! # 斐波那契數(shù)列 f(n) = f(n - 1) + f(n -2) def fib(n): if n < 1: raise ValueError elif (n == 1) or (n == 2): return 1 else: return fib(n - 1) + fib(n - 2) print(fib(1)) print(fib(2)) print(fib(3)) print(fib(4)) print(fib(5)) print(fib(6)) 1 1 2 3 5 8
總結(jié)
以上所述是小編給大家介紹的python 常見字符串與函數(shù)的用法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)億速云網(wǎng)站的支持!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。