用了這麽久的python,這些零碎的基礎知識,你還記得多少?
Python3.7內置的關鍵字
[‘False‘, ‘None‘, ‘True‘, ‘and‘, ‘as‘, ‘assert‘, ‘async‘, ‘await‘, ‘break‘, ‘class‘, ‘continue‘, ‘def‘, ‘del‘, ‘elif‘, ‘else‘, ‘except‘, ‘finally‘, ‘for‘, ‘from‘, ‘global‘, ‘if‘, ‘import‘, ‘in‘, ‘is‘, ‘lambda‘, ‘nonlocal‘, ‘not‘, ‘or‘, ‘pass‘, ‘raise‘, ‘return‘, ‘try‘, ‘while‘, ‘with‘, ‘yield‘]
格式化輸出
A = ‘dog‘
print(‘It is a %s‘ % A ) # --> It is a dog
# 格式符可以是 %d整數 %f浮點數
print(‘%06d‘% 1111) #-->001111 # 拿0補全6位,不寫0就是拿空格補全6位
print(‘%.3f‘ %1.2) #-->1.200 # 保留3位小數
print(‘It is a {}‘.format(A) ) # --> It is a dog
關於format函數還可以設置參數,傳遞對象:format多種用法
邏輯運算符優先級and or not
當not和and及or在一起運算時,優先級為是not>and>or
字符串常見操作
<1>find
檢測 str 是否包含在 mystr中,如果是返回開始的索引值,否則返回-1mystr.find(str, start=0, end=len(mystr))
<2>index
跟find()方法一樣,只不過如果str不在 mystr中會報一個異常.mystr.index(str, start=0, end=len(mystr))?
<3>count
返回 str在start和end之間 在 mystr裏面出現的次數mystr.count(str, start=0, end=len(mystr))
<4>replace
把 mystr 中的 str1 替換成 str2,如果 count 指定,則替換不超過 count 次.
mystr.replace(str1, str2, mystr.count(str1))
<5>split
以 str 為分隔符切片 mystr,如果 maxsplit有指定值,則僅分隔 maxsplit 個子字符串
mystr.split(str=" ", 2)?
<6>capitalize
把字符串的第一個字符大寫
mystr.capitalize()
<7>title
把字符串的每個單詞首字母大寫
>>> a = "hello world"
>>> a.title()
‘Hello world‘
<8>startswith
檢查字符串是否是以 hello 開頭, 是則返回 True,否則返回 Falsemystr.startswith(hello)
<9>endswith
檢查字符串是否以obj結束,如果是返回True,否則返回 False.mystr.endswith(‘.jpg‘)
<10>lower
轉換 mystr 中所有大寫字符為小寫mystr.lower()
?
<11>upper
轉換 mystr 中的小寫字母為大寫mystr.upper()
?
<12>ljust
返回一個原字符串左對齊,並使用空格填充至長度 width 的新字符串mystr.ljust(width)?
<13>rjust
返回一個原字符串右對齊,並使用空格填充至長度 width 的新字符串mystr.rjust(width)
?
<14>center
返回一個原字符串居中,並使用空格填充至長度 width 的新字符串mystr.center(width)
?
<15>lstrip
刪除 mystr 左邊的空白字符mystr.lstrip()
<16>rstrip
刪除 mystr 字符串末尾的空白字符mystr.rstrip()
?
<17>strip
刪除mystr字符串兩端的空白字符
>>> a = "\n\t hello \t\n"
>>> a.strip()
‘hello ‘
<18>rfind
類似於 find()函數,不過是從右邊開始查找.mystr.rfind(str, start=0,end=len(mystr) )
<19>rindex
類似於 index(),不過是從右邊開始.mystr.rindex( str, start=0,end=len(mystr))
<20>partition
把mystr以str分割成三部分,str前,str和str後mystr.partition(str)
<21>rpartition
類似於 partition()函數,不過是從右邊開始.mystr.rpartition(str)
<22>splitlines
按照行分隔,返回一個包含各行作為元素的列表mystr.splitlines()
?
<23>isalpha
如果 mystr 所有字符都是字母 則返回 True,否則返回 Falsemystr.isalpha()
?
<24>isdigit
如果 mystr 只包含數字則返回 True 否則返回 False.mystr.isdigit()
?
<25>isalnum
如果 mystr 所有字符都是字母或數字則返回 True,否則返回 Falsemystr.isalnum()
?
<26>isspace
如果 mystr 中只包含空格,則返回 True,否則返回 False.mystr.isspace()
?
<27>join
mystr 中每個元素後面插入str,構造出一個新的字符串mystr.join(str)
列表相關操作
- 修改元素
修改元素的時候,要通過下標來確定要修改的是哪個元素,然後才能進行修改 -
查找元素("查"in, not in, index, count)
index和count與字符串中的用法相同 >>> a = [‘a‘, ‘b‘, ‘c‘, ‘a‘, ‘b‘] >>> a.index(‘a‘, 1, 3) # 註意是左閉右開區間 Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: ‘a‘ is not in list >>> a.index(‘a‘, 1, 4) 3 >>> a.count(‘b‘) 2 >>> a.count(‘d‘) 0
- 刪除元素("刪"del, pop, remove)
del:根據下標進行刪除,關鍵字del list[1]
pop:刪除並返回最後一個元素list.pop()
還可以指定位置刪除list.pop(0)
remove:根據元素的值進行刪除,函數list.remove(‘dog‘)
-
排序(sort, reverse)
reverse方法是將list逆置list.reverse()
sort是將原list排序,a.sort(reverse=True)
?# reverse=True 是對倒序排序
sorted是返回一個新列表
sorted和sort都有個參數key,key可以是lambda函數,來指定排序排序規則-
>>> sorted(L, key=lambda x:x[1]) # 利用key按照每個元素的1下標的子元素排序 [(‘a‘, 1), (‘b‘, 2), (‘c‘, 3), (‘d‘, 4)]
-
字典
-
查找元素
a = {‘a‘:1} print(a.setdefault(‘b‘, 2)) # --> 2 # 找不添加到字典中 print(a.get(‘c‘)) # --> None # 找不到不報錯 print(a) # --> {‘a‘: 1, ‘b‘: 2}
-
刪除元素
a = {‘a‘: 1, ‘b‘: 2} del a[‘a‘] # 刪除指定key del a # 刪除整個字典在內存裏清除 clear a # 清空字典,a={}
-
字典常見操作?
<1>dict.len()
測量字典中,鍵值對的個數
<2>dict.keys()
返回一個包含字典所有KEY的列表
<3>dict.values()
返回一個包含字典所有value的列表
<4>dict.items()
返回一個包含所有(鍵,值)元祖的列表- 後三個功for遍歷使用
枚舉enumerate()
enumerate() 函數用於將一個可遍歷的數據對象(如列表、元組或字符串)組合為一個索引序列,同時列出數據和數據下標,一般用在 for 循環當中。
>>> chars = [‘a‘, ‘b‘, ‘c‘, ‘d‘]
>>> for i, chr in enumerate(chars):
... print i, chr # 輸出下標和對應的元素
集合
集合是無序的,集合中的元素是唯一的,集合一般用於元組或者列表中的元素去重。
定義一個集合set1=set()
,註意:不能使用{}這是字典
- 添加元素(add,update)
set1 = {1, 2, 4, 5}
set1.add(6) # 添加一個元素
set1.update("abcd") #是把要傳入的元素拆分,做為個體傳入到集合中
-
刪除元素(remove,pop,discard)
set1.remove(22)
刪除集合中的元素 如果有 直接刪除 如果沒有 程序報錯set1.pop()
隨機刪除集合中的元素 如果set1沒有元素講程序報錯set1.discard(2)
如果元素存在 直接刪除 如果元素不存在 不做任何操作
- 交並差集(&|-) 都是返回一個新集合
數據類型的公共方法
運算符 | Python 表達式 | 結果 | 描述 | 支持的數據類型 |
---|---|---|---|---|
+ | [1, 2] + [3, 4] | [1, 2, 3, 4] | 合並 | 字符串、列表、元組 |
* | [‘Hi!‘] * 4 | [‘Hi!‘, ‘Hi!‘, ‘Hi!‘, ‘Hi!‘] | 復制 | 字符串、列表、元組 |
in | 3 in (1, 2, 3) | True | 元素是否存在 | 字符串、列表、元組、字典 |
not in | 4 not in (1, 2, 3) | True | 元素是否不存在 | 字符串、列表、元組、字典 |
python內置函數
- max() 返回最大元素
- min() 返回最小元素
- len(容器)
- del(變量) 刪除變量
- map(function, iterable, ...)?
根據提供的函數對指定序列做映射 - reduce(function, iterable[, initializer]) # initializer是初始參數
對參數序列中元素進行累積 - filter(function, iterable)
用於過濾序列,過濾掉不符合條件的元素,返回由符合條件元素組成的叠代器對象(py3)。py2返回列表
大家在學python的時候肯定會遇到很多難題,以及對於新技術的追求,這裏推薦一下我們的Python學習扣qun:784758214,這裏是python學習者聚集地!!同時,自己是一名高級python開發工程師,從基礎的python腳本到web開發、爬蟲、django、數據挖掘等,零基礎到項目實戰的資料都有整理。送給每一位python的小夥伴!每日分享一些學習的方法和需要註意的小細節
用了這麽久的python,這些零碎的基礎知識,你還記得多少?