Python基礎學習Day3 數據類型的轉換、int、str、bool、字符串的常用方法、for循環


一、數據類型的轉換

常用的是:int 轉str、str轉int。int轉bool 時   非零即為 True 。

# 數據類型之間轉換  *****
# int <--> str   str(int)   int(str)
# int ---> bool   : 非零即為True,零即為False,  True ---> 1 False ---> 0
# bool --->str :
# print(bool('Alex'))  --->True
# 空字符串 ---> bool False
# s1 = ''        空字符串不是指空格
# print(bool(s1))     # 非空即為True

二、數字int

數字主要是用來計算、計數、運算的,使用方法並不是很多,就記住一種就可以:

# 查詢十進制轉化成二進制時占用的最小位數
i = 2
print(i.bit_length()) # 查詢十進制轉化成二進制時占用的最小位數

三、布爾值bool

布爾值就兩種:True,False。就是反應條件的正確與否。

真   1   True。

假   0   False。   

四、字符串Str的用法

 4、1字符串的索引

 索引即下標,就是字符串組成的元素從第一個開始,初始索引為0以此類推。

# 字符串的索引
s1 = 'abcdefg'
print(s1[0])
print(s1[3])
print(s1[5])

輸出結果為:

a d f

4、2字符創的切片

切片就是通過索引(索引:索引:步長)截取字符串的一段,形成新的字符串(原則就是顧頭不顧腚)。

# 字符串的切片
s1 = 'abcdefg'
print(s1[0:3])
print(s1[2:5])
print(s1[0:])     # 默認到最后
print(s1[0:-1])    # -1就是最后一位
print(s1[0:5:2])   # 加步長
print(s1[5:0:-2])  # 反向加步長

結果為:

abc
cde
abcdefg
abcdef
ace
fdb

4、3字符串的常用方法

 # 首字母大寫
name = 'oldBoy'
print(name.capitalize())   # 首字母大寫
# center 字符串居中前后填充自定義的字符  **
name = 'oldBoy'
print(name.center(20,'*'))
# upper 全大寫  lower  全小寫
name = 'oldBoy'
print(name.upper())
print(name.lower())
print(name)
# startwith   endwith
name = 'oldBoy'
print(name.startswith('o'))
print(name.startswith('ol'))
print(name.startswith('B', 3))          # 查看索引為3的位置是否為B
print(name.startswith('ld', 1, 5))      # 查看索引為1-5的位置是否有 ld
print(name.startswith("oldBoy"))        # 結果都為 True
# swapcase 大小寫翻轉 **
name = 'oldBoy'
print(name.swapcase())

結果為
OLDbOY
# title 非字母隔開的每個部分的首字母大寫  **
# print(name.swapcase())
s1 = 'alex wusir*taibai6nvshen'
print(s1.title())     # title 非字母隔開的每個部分的首字母大寫  **

結果為
Alex Wusir*Taibai6Nvshen
# title 非字母隔開的每個部分的首字母大寫  **
# print(name.swapcase())
s1 = 'alex wusir*taibai6nvshen'
print(s1.title())     # title 非字母隔開的每個部分的首字母大寫  **

結果為
Alex Wusir*Taibai6Nvshen
# find 通過元素找索引,找到第一個就返回,沒有找到此元素就返回-1 *****
# index 通過元素找索引,找到第一個就返回,沒有找到次元素就報錯  *****
name = 'oldBoy'
print(name.find('B'))
print(name.find('ld'))
print(name.find('o'))
print(name.find('o', 1, -1))
# print(name.index('q'))

結果為:
3
1
0
4
報錯

 4.4 字符串的重要用法

(1)strip()函數

name = '\t    oldboy\n'
print(name.strip())          # strip 默認去除字符串前后的空格,換行符,制表符  *****
name1 = '*alex**'
name2 = 'weralexwqwe'
print(name.strip())               #oldboy
print(name1.strip('*'))           #alex
print(name2.strip('erw'))         #alexwq  

 (2) split()函數

# split  # 將字符串分割成列表(str---> list)
s1 = 'alex wusir taibai'
l1 = s1.split()           # 默認按照空格分隔
print(l1)                  # ['alex', 'wusir', 'taibai']
s2 = 'alex,wusir,taibai'
print(s2.split(''))       # ['alex', 'wusir', 'taibai']
s3 = ',alex,wusir,taibai'
print(s3.split(','))
s4 = ' alex wusir taibai'
print(s4.split(' '))
s5 = 'alexlwle'
print(s5.split('l',1))     # 可設置分割次數

(3)jion()函數

str1 = 'alex'
# join 自定制連接符,將可迭代對象中的元素連接起來 *****
s2 = '*'.join(str1)
s2 = '_'.join(str1)
print(s2)

(4)replace()函數

str2 = 'alex 是創始人,alex很nb,alex ....'
# replace  *****
s3 = str2.replace('alex','SB')  #SB 是創始人,SB很nb,SB ....
# s3 = str2.replace('alex','SB',1)  # 替換次數可設置
print(s3)

(5)format()函數  格式化輸出

s1 = '我叫{},今年{},性別{}'
# 三種方式
# 第一種
s2 = '我叫{},今年{},性別{}'.format('太白','28','') # 我叫太白,今年28,性別男
print(s2)
# 第二種
s3 = '我叫{0},今年{1},性別{2},我依然叫{0}'.format('太白', '28', '')
print(s3)
# 第三種
s4 = '我叫{name},今年{age},性別{sex}'.format(age='28', name='太白', sex='')
print(s4)

(6)is系列

name = 'taibai'
name1 = 'a123'
print(name.isalnum())  # 數字或字母組成
print(name1.isdigit())  # 判斷全部是由整數組成
print(name.isalpha())  # 全部由字母組成

(7)公共方法  count()函數 與  len ()函數

name = 'alexaaa'
print(name.count('a'))  # 有切片
print(len(name))

 5、for 循環

s1 = 'fdjsafjsdkla' # 循環打印s1的每個字符
for i in s1:
    print(i)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM