strip去除空格
1
2
3
4
5
6
7
8
9
|
s = ' abcd efg ' print (s.strip()) #去除所有空格 print (s.lstrip()) #去除左邊空格 print (s.rstrip()) #去除右邊空格 print (s) abcd efg abcd efg abcd efg abcd efg |
大小寫
1
2
3
4
5
6
7
|
s = 'abc defg' print (s.upper()) print (s.upper().lower()) print (s.capitalize()) #首字母大寫 ABC DEFG abc defg Abc defg |
位置和比較
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
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_2) print (s_2 > s_1) 1 ValueError: substring not found True False True s = '' if not s: print ( 'true' ) else : true |
分隔和連接
1
2
3
4
5
6
7
8
9
10
11
|
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 |
常用判斷
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
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ù)
1
2
3
4
5
6
7
8
|
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ù)
1
2
3
4
5
6
7
8
9
|
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ù)
1
2
3
4
5
6
7
8
|
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ù)
1
2
3
4
|
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ù)雜情況
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
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ù)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
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)的小問題, 然后利用小問題的解得出大問題的解
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
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ù)器之家網(wǎng)站的支持!
原文鏈接:https://blog.csdn.net/lens___/article/details/84190533