python學習筆記(1 )

1、在確定自己不會導入多個同名函數(從不同的模塊導入)的情況下,可以使用

from math import sqrt  【from 模塊 import 函數】

這樣就可以直接使用sqrt(9),而不用每次都用math.sqrt(9)

2、可以使用變量來引用函數(及Python中的大多數對象),如

>>> import math
>>> foo = math.sqrt
>>> int(foo(16))
4

3、原始字符串,在要輸出的字符串前加一個 r ,就不會進行轉義了(但是原始字符串的最後一個字符不能是 \ ,除非對它轉義)

>>> print 'c:\now'
c:
ow
>>> print r'c:\now'
c:\now

4、分片,用於提取序列的一部分

>>> numbers = [1,2,3,4,5,6,7,8,9]
>>> numbers[3:6]
[4, 5, 6]
>>> numbers[0:1] #用[-3:-1]取得7、8    #用[-3:]取得最後三位
[1]
>>> numbers[::2]  #第三個數字爲步長
[1, 3, 5, 7, 9]
>>> numbers[8:3:-2]	#步長不能爲0,但可以爲負數
[9, 7, 5]

5、索引
>>> "Hello"[1]    #[-1]得最後一個'o'
'e'

>>> forth = raw_input("Year:")[3]
Year:2008
>>> forth
'8'


6、in 成員資格,用in運算符檢測一個值是否在序列中

database = [
	['a','1234'],
	['b','0985'],
	['c','9527'],
	]
username = raw_input("username:")
pin = raw_input("pin:")
if[username,pin] in database:
    print "Access granted"

7、分片賦值

>>> name = list("he")
>>> name
['h', 'e']
>>> name[1:] = list("is")
>>> name
['h', 'i', 's']
>>> numbers = [1,5]
>>> numbers[1:1] = [2,3,4]  #'替換'空的分片
>>> numbers
[1, 2, 3, 4, 5]
>>> numbers[1:3]=[]	#刪除
>>> numbers
[1, 4, 5]

8、列表的複製

y = x[ : ] , 不要用y=x,這樣x和y就指向同一個列表了

9、字符串格式化

>>> s = "hello %s,%s python"
>>> values = ("I","HATE")<span style="white-space:pre">	</span>#只有元組和字典可以格式化一個以上的值
>>> print s % values
hello I,HATE python
10、模板字符串


11、字符串的translate函數

>>> from string import maketrans
>>> table = maketrans("cs","kz")  #maketrans參數爲兩個等長的字符串,表示第一個字符串中的每個字符都用第二個字符串中相同位置的字符替換
>>> len(table)
256
>>> table[97:123]
'abkdefghijklmnopqrztuvwxyz'
>>> maketrans("","")[97:123]<span style="white-space:pre">	</span>#maketrans中包含了256個ASCII字符
'abcdefghijklmnopqrstuvwxyz'
>>> "this is a incredible test".translate(table)
'thiz iz a inkredible tezt'

12、== 與 is

>>> x = y = [1,2,3]
>>> z = [1,2,3]
>>> x==y
True
>>> x is y<span style="white-space:pre">	</span>#is是同一運算符,== 判斷兩個對象是否相等,is判斷是否等同(同一對象)
True
>>> x is z
False


未完待續。。。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章