標籤:輸出 修改 開頭 位置 style 範圍 基礎 字串 size
一.資料類型總覽
int : 數值,用於數學計算,計數;例如:1,2,3,4,...
str :字串,用於少量資料的儲存,方便操作。
bool : 布爾型,只有兩個狀態True,False。機器反饋給使用者“對”或“錯”。
list : 列表,儲存大量資料,各種資料。例如:{1,‘alex‘,True,[],{}...}
tuple :(),元組,又稱為唯讀列表,只能閱讀不能修改。
dict :{},索引值對的形式儲存資料,儲存大量的關聯型資料
set :{},集合,用於關係測試。
二. 數值
詳細的操作,看之前的部落格。
關鍵知識點:
bit_length(): 十進位數轉為二進位所佔的最小位元
1 0000 0001 有效位元為1
2 0000 0010 有效位元為2
例子:
i = 2
print(i.bit_length())
>>> 2
三. bool布爾型
數值轉換:
int ----> bool : 只有0是False,非0都是True
bool---->int : True對應的是1,False對應的是0
bool---->str : bool(str),只有Null 字元串對應的bool值為False。
四. 字串
對字串的下面兩個部分操作:形成的都是一個新的字串,與原字串沒有關係。
(一)索引,切片,步長
在Python中,從左向右,第一個元素的索引值為0;從右往左,索引值從-1,-2...所以最後一個元素的索引值為-1.
# 按索引取值 s1 = ‘python1期騎士計劃‘
print(s1[0],type(s1[0]))
print(s1[2])
print(s1[4])
# 按切片取值,取一段範圍的元素。
[start:end] : 顧頭不顧尾,取不到結尾值。
[:end] : 表示從頭開始取
[start:] : 表示取到結尾
s1 = ‘python1期騎士計劃‘
print(s1[-4:])
print(s1[1:])
# 按切片+步長來取值,[start:end:step]
s1 = ‘python1期騎士計劃‘
print(s1[0::2])
# 如果想倒敘取值,可以用反向步長“-”
print(s1[1::-1])
(二)字串常用的方法(*代表重要程式)
‘‘‘capitalize():首字母大寫 *** ‘‘‘
name = ‘oldboy‘print(name.capitalize())
>>> Oldboy
‘‘‘center(長度,填充符號): 字串置中,前後填充指定字元 **‘‘‘
name = ‘oldboy‘print(name.center(10,‘*‘))
>>>**oldboy**
‘‘‘upper():英文全部轉為大寫
lower():英文全部轉為小寫
***** ‘‘‘
name = ‘oldboy‘print(name.upper())>>> OLDBOYname2 = ‘OLDBOY‘print(name.lower())>>> oldboy
‘‘‘title():字串中的首字母大寫。 **
# title 非字母隔開的每個部分的首字母大寫
‘‘‘
name = ‘i love python‘print(name.title())>>>I Love Python
‘‘‘
***
startswith(): 判斷字串是否以指定字元開頭,返回True/False。
endswith(): 判斷字串是否以指定字元結尾,返回True/False。
‘‘‘
name = ‘oldboy‘print(name.startswith(‘ol‘))
>>> Trueprint(name.endswith(‘oy‘))
>>> True
# 還可以判斷字串其中的切片是否以指定字元為開頭
startswith(prefix,start=None,end=None)print(name.startswith(‘ld‘,1,5))
‘‘‘通過元素找索引
index():找到字串中第一個指定元素的最左索引,如果不存在,報錯。
find():找到字串中第一個指定元素的最左索引,如果不存在,返回-1。
‘‘‘
name = ‘oldboy‘print(name.index(‘o‘))print(name.find(‘o‘))print(name.index(‘ld‘))
‘‘‘
*****
strip(): 去掉字串中指定部分,預設去除空格。
lsrtip():去除左邊的空白字元。
rstrip(): 去除右邊的空白字元。
‘‘‘
name = ‘ python is cool ‘print(name.strip()) #去除空格print(name.strip(‘is cool‘)) #去掉指定部分name1 = ‘weralexqwe‘print(name1.strip(‘erw‘)
例子:username = input(‘>>>:‘).strip()
‘‘‘
*****
split():根據指定的字元(預設:空格)分割字串,返回列表
# 將字串分割為列表:str--->list
# 以空格分割符有一個bug,謹記
‘‘‘
s1 = ‘alex bob taibai‘l1 = s1.split()print(l1)>>> [‘alex‘,‘bob‘,‘taibai‘]#設定分割次數# s1 = ‘alexlwe‘# print(s1.split(‘l‘,1))
>>>[‘a‘,‘lexlwe‘]
# 以空格為分割符有一個bug
s1 =‘ python java c++‘
print(s1.split())
>>>[‘python‘,‘java‘,‘c++‘] #注意這裡會把python開頭的空白字元省略掉,bug!!
空格正確分割:
print(s1.split(" ")) #需要指定分割符為“ ”
>>> [‘‘,‘python‘,‘java‘,‘c++‘]
‘‘‘
*****
join():通過指定的連結字串,將可迭代對象的元素串連起來
### 把列錶轉化為字串:list---> str
‘‘‘
s1 = ‘alex‘s2 = ‘*‘.join(s1)s3 = ‘_‘.join(s1)print(s2)>>>a*l*e*x*print(s3)>>>a_l_e_x
# 把列錶轉為為字串l1 = [‘python‘,‘is‘,‘cool‘]li_to_str = ‘‘.join(l1)print(li_to_str)
‘‘‘
*****
replace(old,new,count=None):用新的字串替換舊的字串
‘‘‘
s1 = ‘java is cool,java is fast‘s2 = s1.replace(‘java‘,‘python‘) #全部替換s3 = s1.replace(‘java‘,‘python‘,1) #限制次數print(s2)>>> python is cool,python is fastprint(s3)>>> python is cool,java is fast
‘‘‘
format():格式化輸出
‘‘‘
第一種方式:按順序輸入s1 = ‘我叫{},今年{},性別{}‘.format(‘he‘,‘23‘,‘男‘)print(s1)第二種方式:索引,可以重複使用 *****s1 = ‘我叫{0},今年{1},性別{2},我依然叫{0}‘.format(‘he‘,‘23‘,‘男‘)print(s1)第三種方式:傳參,可以打亂傳參位置s1 = ‘我叫{name},今年{age},性別{sex}‘.format(name=‘he‘,age=‘23‘,sex=‘男‘)print(s1)
‘‘‘
is系列:返回True/False
isdigit():判斷是否都為數字
isalpha():判斷是否都為字母
isalnum():判斷是否只有數字或字母組成
...
‘‘‘
language = ‘python‘print(language.isdigit())>>>Falseprint(language.isalpha())>>>True
‘‘‘
公用方法:
count():計算指定字元出現的次數
len(): 計算長度---> 元素的個數
‘‘‘
DAY3 python基礎之資料類型總覽