python學習隨筆

來源:互聯網
上載者:User

標籤:python對象   ssi   賦值   orm   輸入   一個   tor   可變   hex   

0.常見方法or函數:
1.urllencode()將字串等轉換為URL.(from urllib.parse import urlencode)
2.編碼:json.dumps().把一個Pyhton對象編碼轉換成Json字串.
解碼:json.loads().把json格式字串解碼成Python對象.
3.soup.select:CSS選取器
4.hashlib提供常見的摘要演算法:MD5,SHA1
摘要演算法又稱雜湊演算法、散列演算法。
它通過一個函數,把任意長度的資料轉換為一個長度固定的資料串(通常用16進位的字串表示)
hashlib.MD5().hexdigest()輸出加密後的密文
5.format():格式化字串.http://www.cnblogs.com/hellofengying/p/4272569.html
6.sys.path。append("/*").添加目前的目錄下路徑*
7.property.把方法封裝,開發人員在對屬性設定資料的時候更方便
num = property(getNum, setNum) or @property @num.setter
8.
1.注釋: 單行注釋:#
多行注釋:‘‘‘內容‘‘‘

2.python中內建換行,end=‘\n‘.若寫成end=""則不換行。
end後面也可以跟"+"、"="等

3.python2 輸入函數:raw_input
python3 輸入函數:input(兩者效果相同)

4.print(" hello "*10)(hello是要輸出的內容,10是要輸出的遍數)

5.互換變數值: A=100,B=200
A,B = B,A 即可A=200,B=100

6.產生隨機數 import random
random.randint(x,y)產生一個大於等於x小於等於y的隨機數

7.長度 len(xxx)

8.切片 name="abcdefghijkl"
name[0]=a name[-1]=l
name[0:2]=ab
name[::]--->‘abcdefghijkl‘
name[::2]-->‘acegik‘
name[::-1]-->‘lkjihgfedcba‘

9.延時 import time
time.sleep(1) 單位:秒

10.全域變數在函數中可以隨意調用,但是不可以修改,
除非在函數內加上:global 變數名,修改後會影響全域
可變類型需要加global,不可變的不需要

11.函數返回多個資料有三種方式:元組(),列表[],字典{ }

12.排序 xxx.sort() 從小到大 xxx.sort(reverse=True) 從大到小
如果列表裡面是字典,則需要用到匿名函數(lambda)
a.sort(key=lambda x:x[字典的key],reverse=True)

13.不定長參數:*args(元組),**kwargs(字典,傳入方式:xx=123),
解包:
當列表/元組當做實參傳遞的時候,如果前面有一個*,表示對其進行解包
意思是:[11,22,33]----->11,22,33
當字典當做實參傳遞的時候,如果前面有兩個*,表示對其進行解包
意思是:{"aa":100,"bb":200}---->aa=100,bb=200

14.可變資料類型:列表、字典
不可變資料類型:數字、字串、元組
字典中的key只能是不可變類型

15.a=a+a a的地址發生變化
a+=a a的地址不變

16.調函數是堆棧、出棧的過程

17.當有兩個函數名一樣時,後者會自動覆蓋前者,但不會報錯.

18.os.listdir("目錄") 擷取目前的目錄下的所有檔案的名稱

19.>>> s = set([1,5,6])
>>> s
{1, 5, 6}
>>> d = ([2,5,8])
>>> d
[2, 5, 8]
>>> type(s)
<class ‘set‘>
>>> type(d)
<class ‘list‘>

20.判斷一個對象是不是迭代對象:Interable
from collections import Iterable
>>> isinstance(‘abc‘, Iterable) # str是否可迭代
True
>>> isinstance([1,2,3], Iterable) # list是否可迭代
True
>>> isinstance(123, Iterable) # 整數是否可迭代
False
可以被next()函數調用並不斷返回下一個值的對象稱為迭代器:Iterator
可以使用isinstance()判斷一個對象是否是Iterator對象:
>>> from collections import Iterator
>>> isinstance((x for x in range(10)), Iterator)
True
>>> isinstance([], Iterator)
False

21.清單產生器: [x * x for x in range(1, 11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

還可以使用兩層迴圈,可以產生全排列:
[m + n for m in ‘ABC‘ for n in ‘XYZ‘]
[‘AX‘, ‘AY‘, ‘AZ‘, ‘BX‘, ‘BY‘, ‘BZ‘, ‘CX‘, ‘CY‘, ‘CZ‘]

把一個list中所有的字串變成小寫:
L = [‘Hello‘, ‘World‘, ‘IBM‘, ‘Apple‘]
[s.lower() for s in L]
[‘hello‘, ‘world‘, ‘ibm‘, ‘apple‘]

22.楊輝三角:
def yanghui():
L = [1]
while True:
yield L
L.append(0)
L = [L[i-1]+L[i] for i in range(len(L))]
n = 0
for t in yanghui():
print(t)
n = n + 1
if n == 10:
break
23.函數本身也可以賦值給變數
>>>f = abs
>>>f(-10)
10

24.把函數作為參數傳入,這樣的函數稱為高階函數,函數式編程就是指這種高度抽象的編程範式。
from functools import reduce

25.多進程:from multiprocessing import Pool

GROUP_START = 1
GROUP_END = 20

if __name__ == "__main__":
groups = [x * 20 for x in range(GROUP_START, GROUP_END + 1)]
pool = Pool()
pool.map(main, groups)

26.==.判斷是不是相同內容
is.判斷指向的是不是同一個地址、空間。

27.__xx__表示系統給的函數
_類名__私人屬性

python學習隨筆

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.