python------雜項篇

一.運算符

1)innot in用來判斷某個東西是否爲它的子集,比如子字符串

name = "邱佳樂"
if "邱" in name:
    print("OK")
else:
    print("Error")
  1. and ,or, not
user = "qiujiale"
pwd = "babawan1"
v = user == "qiujiale" and pwd == "babawan1" or 1 == 1 and pwd == "123"
print(v)
上面表達式得出的結果是  True

對於 and,or,not這樣的邏輯運算符,預算規則爲從左到右以次運算,如果從左到右碰到 and運算符左端出現False則後面的邏輯判斷都不需要計算,如果從左到右碰到or運算符左端出現True則後面的邏輯判斷都不需要計算。

二.基本數據類型

1.數字----int

	在python3中不管數字有多大,數據類型都是int,下面列舉,整形所用的常見的函數

①類型轉換,將字符串類型強制轉換爲int類型

 a = "123"   
 b =  int(a)
 
 int(str number, int base)//將number字符串,以base爲進制數進行轉換,轉換爲int類型
 number = "0011"
 v = int(number,base = 2) // 按照二進制的方式轉換

②bit_lenght,返回當前數字二進制表示時所需的最少位數

age = 10
r = age.bit_length();
print(r)

2.字符串-----str

①capitalize 將字符串的首字母大寫

#首字母大寫
test = "QiuJiale"
v = test.capitalize();
print(v)

②將字符串全部改爲小寫,casefold(),lower()方法
而casefold方法更牛逼,可以對許多未知字符對應小寫

v1 = test.casefold()
print(v1)

v2 = test.lower()
print(v2)

③center方法,設置寬度,空白位置用第二個參數所表示的字符代替(ps:此字符的長度爲一),默認爲空格

v3 = test.center(30,"*")
print(v3)

④count方法

#計算子字符串在本字符串出現的次數,可以設置起始位置和結束位置
test = "sasdadfssgsa"
v = test.count('s',1,7)
print(v)

⑤endwith和startwith方法

#查看字符串是否以次字符串結尾或者開頭,後面兩個參數可以規定掃描字符串的開始和結束位置
v1 = test.endswith('a')
v2 = test.startswith('b')
print(v1)
print(v2)

⑥find方法

#尋找子字符串在字符串中第一次出現的位置,也可以設置查詢的開始和結束位置
v3 = test.find('da',2,10)
print(v3)

⑦isdecimal,isdigit和isnumeric方法:判斷當前輸入的是否爲數字,isdigit()可以識別更多特殊字符的數字。如“①”; 而isnumeric()可以識別中文更加強大
⑧isidentifier():判斷字符創串中是否符合標識符的命名規範:如不能以數字開頭等規範
⑨isprintable():判斷字符創打印是否包含不可顯示的字符,如“\t,\n”等轉移字符
⑩ispace():判斷字符串是否全部爲空格
11.istitle判斷字符串是否是標題,標題的各個單詞的首字母爲大寫,title()方法可以將此字符串改爲標題格式返回出來
12.join()方法:此字符串中每一個元素按照指定的元素進行拼接。

test = "邱佳樂"
v = '_'.join(test)
print(v)

13.Ljust和cente方法類似,填充字符且左對齊。center爲中對齊,Rjust爲右對齊。
14.lstrip,strip和rstrip方法:默認去掉空格和換行符。可以自己設置字符。則可以去掉左右兩端的特殊字符。以特殊字符的子字符串都去掉。

test = "aaaa邱佳樂lsdahssadhak  a\t"
v = test.strip('a\t')
print(v)

15.maketrans()和translate()方法
maketrans()方法可以對兩個字符串長度相等的字符串中的元素進行一一對應返回其對應關係。

test = "abdkaxbkzna"
m = test.maketrans("aeion","14785")
v = test.translate(m);
print(m)
print(type(m),v)
###############consle#########
{97: 49, 101: 52, 105: 55, 111: 56, 110: 53}
<class 'dict'> 1bdk1xbkz51

16.partition()和rpartition(), split()和rsplit()用於字符切割
前兩個方法只能分割一次,保留分割符
後兩個方法將字符串完全分割,不保留分割符,可以設置分割次數,
splitlines()方法是按換行符進行分割,後面設置True,False決定是否保留分割符。

列表可以取範圍值

test = "Qjiale"
v = test[0:2]
print(v)

循環遍歷列表元素

test = "Qjiale"
for item in test:
    print(item)

3.列表-----list

①列表中可以放入任何元素
列表創建: li = [1,"asda",[2,True],"helloworld"]
②列表可以使用切片方式進行訪問print(li[1:3])
③列表可以使用切片的方式進行修改li[1:3] = [1,2]
④列表可以使用切片的方式進行刪除 del li[1:3]
列表的刪除,訪問,修改都可以對單個元素使用
⑤對上面的li 列表訪問列表中的列表的元素可以是li[2][1]

4.元組 ----tuple

  1. 元組中的元素不可用被修改,不能增加或者刪除,針對的師第一級元素。
  2. ex: li = (11,22,"qiu",True) 創建一個元組

5.字典 ----dict

  1. 鍵值對元素,無序不重複的集合。鍵Key的值是唯一的
  2. ex:li = { "k1":"v1", "k2":"v2" }
  3. 鍵Key的取值只能是不可概念的數據(能hashcode的對象)
  4. 查詢:li = { "k1":"v1", "k2":"v2" } print(li["k1"]) #直接輸入key值 print(li.get('k2')) #使用get方法
  5. 字典循環遍歷:字典在for循環時,默認拿到的是key值
for item in li:
    print(item)  #拿到Key值
    print(li[item])  #根據Key值獲取value值
for item in  li.values():  #item拿到的是value值
for item in  li.keys():   #item 拿到的是key值
for k,v in  li.items():  # k取得key值,v取得value值

6.集合----set

  1. 由不同元素的幾個,無序且可hash的值。不可變類型
  2. ex:s = {1,2,3,True} 創建一個集合
  3. 集合常用的運算
    並集 S|S1 S.union(S1)
    交集 S&S1 S.intersection(S1)
    差集 S-S1 S.difference(S1)
    交差補集 S^S1 S.symmetric_difference(S1)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章