python學習筆記

來源:互聯網
上載者:User

標籤:

      作為指令碼語言,python語言格式嚴格,同時和編譯語言有些許類似,格式化輸出,強型別等。感覺使用起來不是很順手,同時,我一直對其的理解不是很清晰。直到自己動手搭建python環境後,發現python在某些方面確實比較方便。首先,強大的模組包,使大家可以不必重複造輪子,輕鬆地完成相應功能,而且python的包安裝起來也十分方便(python setup.py install)。其次,python文法十分靈活,可以避免大家苦心構造所需的變數形式,極大地減輕了人力消耗。好了,這就是目前對python膚淺的理解。接下來,對一些零散的知識點記錄一下,方便今後查看O(∩_∩)O哈哈~

1、if not x  判斷真假

`if x is not None`和`if not x is None`寫法等價,推薦`if x is not None`
 使用if not x這種寫法的前提是:必須清楚x等於None,  False, Null 字元串"", 0, 空列表[], 空字典{}, 空元組()時對你的判斷沒有影響才行。
 參考:http://blog.csdn.net/sasoritattoo/article/details/12451359

2、id和is
(ob1 is ob2) 等價於 (id(ob1) == id(ob2))

"==" 與 "is"的區別:"=="是比較內容相當,如變數值相等;"is"是比較對象的id是否相等。下面是測試:

>>> a = 1
>>> b = 1
>>> id(a)
505300120
>>> id(b)
505300120
>>> print(a == b)
True
>>> print(a is b)
True
>>> a = 1.0
>>> b = 1.0
>>> id(a)
11372688
>>> id(b)
11372608
>>> print(a ==b)
True
>>> print(a is b)
False
當a,b為1的時候id相同,而為1.0的時候不同,這種情況在string字串的時候也會出現,即當很短的a,b賦值很短的字串的時候,它們的id值相同,而很長的則不會;
可以得到一個簡單的結論就是:解譯器在對值很小的int和很短的字串的時候做了一點小最佳化,只分配了一個對象,讓它們id一樣了
3. 判斷變數是否在list之中     if x not in list;if x in list
4、列表推導式   [x for x in list]
5、元組與列表類似,不同之處在於元組的元素不能修改。也可以按下標取值等
參考:http://www.runoob.com/python/python-tuples.html   python元組
6、列表和元組可以連續賦值
x, y = (1,2)或 (x, y) = (1,2)
x=1,y=2
# Assign values from a list
(r,g,b) = ["Red","Green","Blue"]
assert r == "Red"
assert g == "Green"
assert b == "Blue"
 
# Assign values from a tuple
(x,y) = (1,2)
assert x == 1
assert y == 2
7、__init__.py:可以為空白,只要它存在,就表明此目錄應被作為一個package處理。python可以匯入模組和函數
參考:http://www.cnblogs.com/BeginMan/p/3183629.html  深入Python(2): __init__.py 用法
8、串連資料庫用MySQLdb返回元組,可以配置返回列表
9、常用函數
range
>>>range(5)
>>>[0,1,2,3,4]
join
>>> str = ‘goujinping‘ 
>>> ‘,‘.join(str) 
‘g,o,u,j,i,n,p,i,n,g‘
split
>>>  str = "Line1-abcdef \nLine2-abc \nLine4-abcd"
>>> str.split( )
[‘Line1-abcdef‘, ‘Line2-abc‘, ‘Line4-abcd‘]
append
>>>aList = [123, ‘xyz‘, ‘zara‘, ‘abc‘]
>>>aList.append( 2009 )
>>>print "Updated List : ", aList
Updated List :  [123, ‘xyz‘, ‘zara‘, ‘abc‘, 2009]

10、腳標靈活,可以為負

 

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.