真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python復(fù)習(xí)筆記-創(chuàng)新互聯(lián)

#python復(fù)習(xí)筆記
##基礎(chǔ)


1.下劃線(_)在解釋器中有特別的含義,表示最后一個(gè)表達(dá)式的值。

創(chuàng)新互聯(lián)是一家專業(yè)提供東海企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、成都網(wǎng)站建設(shè)、H5高端網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為東海眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。


Microsoft Windows [版本 6.1.7601]
版權(quán)所有 (c) 2009 Microsoft Corporation。保留所有權(quán)利。

C:\Users\Administrator>python
Python 2.7.10 (default, May 23 2015, 09:44:00) [MSC v.1500 64 bit (AMD64)] on
n32
Type "help", "copyright", "credits" or "license" for more information.

print "hello world"
hello world

Traceback (most recent call last):
File "", line 1, in
NameError: name '
' is not defined
mystring = "hello world"
print mystring
hello world
mystring
'hello world'
_
'hello world'

2.print語句也支持將輸出重定向到文件。符號(hào)>>用來定向輸出

import sys
print >> sys.stderr, 'Fatal error: invalid input!'
Fatal error: invalid input!
print >> sys.stderr,'Fatal error: invalid input!'
Fatal error: invalid input!
logfile = open('D:/python_code/mylog.txt','a')
print >> logfile,'Fatal error: invalid input!'
logfile.close()


3.enumerate()函數(shù)

In [4]: foo = 'abc'

In [5]: for i in range(len(foo)):
...: print foo[i],'(%d)'%i
...:
a (0)
b (1)
c (2)

In [6]: for i,ch in enumerate(foo):
...: print ch,'(%d)'%i
...:
a (0)
b (1)
c (2)

In [7]:


4.列表解析
[運(yùn)算式 參數(shù)列表 判斷條件]

In [7]: squared = [x**2 for x in range(4)]

In [8]: squared
Out[8]: [0, 1, 4, 9]

In [9]: sqdEvens = [x**2 for x in range(8) if not x%2]

In [10]: sqdEvens
Out[10]: [0, 4, 16, 36]

In [11]: sum = [x+y for x in range(3) for y in range(3) if x!=y]

In [12]: sum
Out[12]: [1, 2, 1, 3, 2, 3]

In [13]: sum2 = [x*y for x in range(3) for y in range(3) if x!=y]

In [14]: sum2
Out[14]: [0, 0, 0, 2, 0, 2]


5.實(shí)用的內(nèi)建函數(shù)

dir([obj]) 顯示對(duì)象的屬性,如果沒有提供參數(shù),則顯示全局變量的名字。
help([obj]) 以一種整齊美觀的形式,顯示對(duì)象的文檔字符串,如果沒有
提供任何參數(shù),則會(huì)進(jìn)入交互式幫助。
int(obj) 將一個(gè)對(duì)象轉(zhuǎn)換為整型
len(obj) 返回對(duì)象的長度
open(fn,mode) 以mode('r'=讀,'w'=寫,'a'=追加)的方式打開一個(gè)文件名
為fn的文件。
range([[start,] stop[,step]])返回一個(gè)整型列表。起始值為start,
結(jié)束值為stop-1,start默認(rèn)值為0,step默認(rèn)值為1
raw_input(str)等待用戶輸入一個(gè)字符串,可以提供一個(gè)可選的參數(shù)
str用作提示信息。
str(obj) 將一個(gè)對(duì)象轉(zhuǎn)換為字符串
type(obj) 返回對(duì)象的類型(返回值本身是一個(gè)type對(duì)象)


##語句和語法

1.井號(hào)(#)表示之后的字符為python注釋
2.換行(\n)是標(biāo)準(zhǔn)的行分隔符(通常一個(gè)語句一行)
3.反斜線()繼續(xù)上一行

有兩種例外情況一個(gè)語句不使用反斜線也可以跨行。在使用閉合操作符時(shí),
單一語句可以跨多行。
例如:在含有小括號(hào)、中括號(hào)、花括號(hào)時(shí)可以多行書寫。
另外就是三引號(hào)包括下的字符串也可以跨行書寫。

4.分號(hào)(;)將兩個(gè)語句連接在一行中
5.冒號(hào)(:)將代碼塊的頭和體分開
6.語句(代碼塊)用縮進(jìn)塊的方式體現(xiàn)
7.不同的縮進(jìn)深度分隔不同的代碼塊
8.python文件以模塊的形式組織。

##變量和內(nèi)存管理


1.變量無需事先聲明
2.變量無需指定類型
3.程序員不用關(guān)心內(nèi)存管理
4.變量名會(huì)被"回收"
5.del語句能夠直接釋放資源


變量定義,變量生命可以在代碼塊的中間,不過仍然必須在變量
被使用前聲明變量的名字和類型。
在Python中,無需此類顯式變量聲明語句,變量在第一次被賦值時(shí)自動(dòng)聲明。
和其他大多數(shù)語言一樣,變量只有被創(chuàng)建和賦值后才能被使用。

del語句

del語句會(huì)刪除對(duì)象的一個(gè)引用,它的語法如下:
del obj1[,obj2[,...objN]]
del會(huì)刪除當(dāng)前對(duì)象的引用,將引用計(jì)數(shù)器減1,如果引用計(jì)數(shù)器為0
則會(huì)導(dǎo)致該對(duì)象從此無法訪問或無法抵達(dá),從此刻起,該對(duì)象就成為垃圾回收機(jī)制的回收對(duì)象。
注意任何追蹤或調(diào)試程序會(huì)給一個(gè)對(duì)象增加一個(gè)額外的引用,這會(huì)推遲
該對(duì)象被回收的時(shí)間。

垃圾收集

不再使用的內(nèi)存會(huì)被一種稱為垃圾收集的機(jī)制釋放。雖然解釋器跟蹤對(duì)象
的引用計(jì)數(shù),但垃圾收集器負(fù)責(zé)釋放內(nèi)存。垃圾收集器是一塊獨(dú)立代碼,
它用來尋找引用計(jì)數(shù)為0的對(duì)象。它也負(fù)責(zé)檢查那些雖然引用計(jì)數(shù)大于0
但也應(yīng)該被銷毀的對(duì)象。特定情形會(huì)導(dǎo)致循環(huán)引用。
一個(gè)循環(huán)引用發(fā)生在當(dāng)你有至少兩個(gè)對(duì)象互相引用時(shí),也就是說所有
的引用都消失時(shí),這些引用仍然存在,這說明只靠引用計(jì)數(shù)是不夠的。
python的垃圾收集器實(shí)際上是一個(gè)引用計(jì)數(shù)器和一個(gè)循環(huán)垃圾收集器。
當(dāng)一個(gè)對(duì)象的引用計(jì)數(shù)變?yōu)?,解釋器會(huì)暫停,釋放掉這個(gè)對(duì)象和僅有這個(gè)對(duì)象可訪問(可到達(dá))的其他對(duì)象。作為引用計(jì)數(shù)的補(bǔ)充,垃圾收集器也會(huì)
留心被分配的總量很大的(及未通過引用計(jì)數(shù)銷毀的那些)對(duì)象。
在這種情況下,解釋器會(huì)暫停下來,試圖清理所有未引用的循環(huán)。


##序列

切片

In [52]: s = 'abcde'

In [53]: i = -1

In [54]: for i in range(-1,-len(s),-1):
...: print s[:i]
...:
abcd
abc
ab
a

In [55]: s = 'abcde'

In [56]: for i in [None] + range(-1,-len(s),-1):
...: print s[:i]
...:
abcde
abcd
abc
ab
a

使用None作為索引值,這樣一來就可以滿足你的需要,比如說,在你
想用一個(gè)變量作為索引來從第一個(gè)到遍歷最后一個(gè)元素的時(shí)候。

In [57]: for i in [None].extend(range(-1,-len(s),-1)):
...: print s[:i]
...:

TypeError Traceback (most recent call last)
in ()
----> 1 for i in [None].extend(range(-1,-len(s),-1)):
2 print s[:i]
3

TypeError: 'NoneType' object is not iterable
可變對(duì)象的內(nèi)建函數(shù)extend()根本沒有返回值,所以這個(gè)方法是行不通的。
這個(gè)錯(cuò)誤發(fā)生的原因是[None].extend(...)函數(shù)返回None,None既不是
序列類型也不是可迭代對(duì)象。
在這種情況下使用上面提到的列表連接操作來實(shí)現(xiàn)是唯一不需要添加額外
代碼的方法。



##字符串內(nèi)建函數(shù)

  1. string.capitalize() 把字符串的第一個(gè)字符大寫
  2. string.center(width) 返回一個(gè)原字符串居中,并使用空格填充
    至長度width的新字符串
  3. string.count(str,beg=0,end=len(string)) 返回str在string
    里面出現(xiàn)的次數(shù),如果beg或者end指定則返回指定范圍內(nèi)str出現(xiàn)的次數(shù)
  4. string.decode(encoding='UTF-8' errors='strict')
    以decoding指定的編碼格式解碼string,如果出錯(cuò)默認(rèn)報(bào)一個(gè)ValueError的異常,
    除非errors指定的是'ignore'或者'replace'
  5. string.encode(encoding='UTF-8',errors='strict')
    以encoding指定的編碼格式編碼string,如果出錯(cuò)默認(rèn)報(bào)一個(gè)ValueError的異常,
    除非errors指定的是'ignore'或者'replace'
  6. string.endswith(obj,beg=0,end=len(string))
    檢查字符串是否是以obj結(jié)束,如果beg或者end指定則檢查指定的范圍
    內(nèi)是否以obj結(jié)束,如果是,返回True,否則返回False.
  7. string.expandtabs(tabsize=8) 把字符串string中的tab符號(hào)
    轉(zhuǎn)換為空格,默認(rèn)的空格數(shù)tabsize是8
  8. string.find(str,beg=0,end=len(string)) 檢測str是否包含
    在string中,如果beg和end指定范圍,則檢查是否包含在指定范圍內(nèi),
    如果是返回開始的索引值,否則返回-1
  9. string.index(str,beg=0,end=len(string)) 跟find()方法一樣,
    只不過如果str不在string中會(huì)報(bào)一個(gè)異常。
  10. string.isalnum() 如果string至少有一個(gè)字符并且所有字符
    都是字母或數(shù)字則返回True,否則返回False
  11. string.isalpha() 如果string至少有一個(gè)字符并且所有字符
    都是字母則返回True,否則返回False
  12. string.isdecimal() 如果string只包含十進(jìn)制數(shù)字則返回True
    否則返回False
  13. string.isdigit() 如果string只包含數(shù)字則返回True,否則返回False
  14. string.islower() 如果string中包含至少一個(gè)區(qū)分大小寫的字
    符,并且所有這些(區(qū)分大小寫的)字符都是小寫,則返回True,否則返回False。
  15. string.isnumeric() 如果string中只包含數(shù)字字符,則返回True
    否則返回False
  16. string.isspace() 如果string中只包含空格,則返回True,
    否則返回False
  17. string.istitle() 如果string是標(biāo)題化的(見title())則
    返回True,否則返回False
  18. string.isupper() 如果string中包含至少一個(gè)區(qū)分大小寫的
    字符,并且所有這些(區(qū)分大小寫的)字符都是大寫,則返回True,否則返回False
  19. string.join(seq) 以string作為分隔符,將seq中所有的元素
    (字符串表示)合并為一個(gè)新的字符串
  20. stirng.ljust(width) 返回一個(gè)原字符串左對(duì)齊,并使用空格
    填充至長度width的新字符串
  21. string.lower() 轉(zhuǎn)換string中所有大寫字符為小寫
  22. string.lstrip() 截掉string左邊的空格
  23. string.partition(str) 有點(diǎn)像find()和split()的結(jié)合體
    ,從str出現(xiàn)的第一個(gè)位置起,把字符串string分成一個(gè)3元組(string_pre_str,str,string_post_str),
    如果string中不包含str則string_pre_str = string
  24. string.replace(str1,str2,num=string.count(str1))
    把string中的str1替換成str2,如果num指定,則替換不超過num次
  25. string.rfind(str,beg=0,end=len(string)) 類似于
    find()函數(shù),不過是從右邊開始查找。
  26. string.rindex(str,beg=0,end=len(string)) 類似于index()
    不過是從右邊開始。
  27. string.rjust(width) 返回一個(gè)原字符串右對(duì)齊,并使用
    空格填充至長度width的新字符串
  28. string.rpartition(str) 類似于partition()函數(shù),不過
    是從右邊開始查找。
  29. string.rstrip() 刪除string字符串末尾的空格。
  30. string.split(str="",num=string.count(str))
    以str為分隔符切片string,如果num有指定值,則僅分隔num個(gè)子字符串
  31. string.splitlines(num=string.count('\n')) 按照行分隔,
    返回一個(gè)包含各行作為元素的列表,如果num指定則僅切片num行。
  32. string.startswith(obj,beg=0,end=len(string))
    檢查字符串是否是以obj開頭,是則返回True,否則返回False
    如果beg和end指定值,則在指定范圍內(nèi)檢查
  33. string.strip([obj]) 在string上執(zhí)行l(wèi)strip()和rstrip()
  34. string.swapcase() 翻轉(zhuǎn)string中的大小寫
  35. string.title() 返回“標(biāo)題化”的string,就是說所有單詞都是
    以大寫開始,其余字母均為小寫(見istitle())
  36. string.translate(str,del="") 根據(jù)str給出的表(包含256個(gè)字符)
    轉(zhuǎn)換string的字符,要過濾掉的字符放到del參數(shù)中
  37. string.upper() 轉(zhuǎn)換string中的小寫字母為大寫
  38. string.zfill(width) 返回長度為width的字符串,原字符串string
    右對(duì)齊,前面填充0

In [79]: string1 = "akdsg;lkajsd"

In [80]: import string

In [81]: string.capitalize(string1)
Out[81]: 'Akdsg;lkajsd'

In [82]: string.capitalize(string1)
Out[82]: 'Akdsg;lkajsd'

In [83]:

In [83]: quest = 'what is your favorite color?'

In [84]: quest.capitalize()
Out[84]: 'What is your favorite color?'

In [85]: quest.center(40)
Out[85]: ' what is your favorite color? '

In [86]: quest.count('or')
Out[86]: 2

In [87]: quest.endswith('blue')
Out[87]: False

In [88]: quest.endswith('color?')
Out[88]: True

In [89]: quest.find('or',30)
Out[89]: -1

In [90]: quest.find('or',22)
Out[90]: 25

In [91]: quest.index('or',10)
Out[91]: 16

In [92]: ':'.join(quest.split())
Out[92]: 'what:is:your:favorite:color?'

In [93]: quest.replace('favorite color','quest')
Out[93]: 'what is your quest?'

In [94]: quest.upper()
Out[94]: 'WHAT IS YOUR FAVORITE COLOR?'

In [95]:



##集合的所有方法

方法,所有的集合方法

  1. s.issubset(t) 如果s是t的子集,則返回True,否則返回False
  2. s.issuperset(t) 如果t是s的超集,則返回True,否則返回False
  3. s.union(t) 返回一個(gè)新集合,該集合是s和t的并集
  4. s.intersection(t) 返回一個(gè)新集合,該集合是s和t的交集
  5. s.difference(t) 返回一個(gè)新集合,該集合是s的成員,但不是t的成員
  6. s.symmetric_difference(t) 返回一個(gè)新集合,該集合是s或t的成員,但不是s和t共有的成員
  7. s.copy() 返回一個(gè)新集合,它是集合s的淺復(fù)制

方法,僅適用于可變集合
  • s.update(t) 用t中的元素修改s,即,s現(xiàn)在包含s或t的成員
  • s.intersection_update(t) s中的成員是共同屬于s和t的元素
  • s.difference_update(t) s中的成員是屬于s但不包含在t中的元素
  • s.symmetric_differece_update(t) s中的成員更新為那些包含在s或t中,但不是s和t共有的元素
  • s.add(obj) 在集合s中添加對(duì)象obj
  • s.remove(obj) 從集合s中刪除對(duì)象obj;如果obj不是集合s中的元素(obj not in s) 將引發(fā)KeyError錯(cuò)誤
  • s.discard(obj) 如果obj是集合s中的元素,從集合s中刪除對(duì)象obj
  • s.pop() 刪除集合s中的任意一個(gè)對(duì)象,并返回它
  • s.clear() 刪除集合s中的所有元素

  • 另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


    網(wǎng)站標(biāo)題:python復(fù)習(xí)筆記-創(chuàng)新互聯(lián)
    網(wǎng)址分享:http://weahome.cn/article/ccgodg.html

    其他資訊

    在線咨詢

    微信咨詢

    電話咨詢

    028-86922220(工作日)

    18980820575(7×24)

    提交需求

    返回頂部