一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術(shù)及教程分享平臺(tái)!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - python 常見字符串與函數(shù)的用法詳解

python 常見字符串與函數(shù)的用法詳解

2021-04-22 00:12天行_ Python

這篇文章主要介紹了python 常見字符串與函數(shù)的用法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

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_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

分隔和連接

?
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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品林美惠子在线观看 | 日本高清视频网站www | 日本大尺度激情做爰叫床 | 日本大尺度动漫在线观看缘之空 | 四虎影院永久网站 | 免费一级生活片 | 水多多www视频在线观看高清 | 男男gaygays中国 | 精品一区二区三区免费观看 | 免费国产午夜高清在线视频 | 无码专区aaaaaa免费视频 | 日产精品视频 | 欧美最猛性xxxxx短视频 | 99久久精品免费观看区一 | 亚洲欧美日韩精品 | 亚州精品视频 | 亚洲欧美久久婷婷爱综合一区天堂 | 美女免费观看一区二区三区 | 91制片厂制作果冻传媒八夷 | 久久热r在线视频精品 | 香蕉91| 欧美视频在线播放观看免费福利资源 | 国产小视频在线免费观看 | 视频二区 素人 欧美 日韩 | 欧美老女人b | 99热这里只有精品一区二区三区 | 欧美男同猛男 videos 同性 | 紧身牛仔裤美女被啪啪久久网 | 成 人 免费 小说在线观看 | 性xxxx18学生第一次出血 | 美女扒开胸罩露出奶了无遮挡免费 | 欧美成人aaaa免费高清 | 亚洲剧情在线 | 狐媚小说| 大乳孕妇一级毛片 | 44444色视频在线观看 | 久久久WWW免费人成精品 | 免费观看日本人成影片 | 黑人又大又硬又粗再深一点 | 精品国产福利在线 | 99久久久久国产精品免费 |