python-我所忽略的技術細節

acc = raw_input("Enter the numebr:")
type(acc)  raw_input 是字符串標準輸入,若是要與數字作算術運算是要將其類型進行轉換。

元組和列表能夠當作是普通的‘數組’,元組不可更改,列表能夠。python

爲了輸出清晰美觀,帶逗號的print語句輸出的元素之間會自動添加一個空格。數組

print "hello,world"
hello world

對於條件判斷,‘還有什麼是真’ide

acc = [x**2 for x in range(8) if not x%2] 等同於 aca = [x**2 for x in range(8) if not x%2==1]函數

還等同於 cac = [x**2 for x in range(8) if x%2 == 0]指針

這個就相似與C語言中條件判斷,例如:對象

while (hello != 0)  等同於 while(hello)  後者默認的就等於1.要謹記,關係表達式爲真,那麼也就是說它的值等於1.否則就是0.索引

filename = raw_input("Enter the file:")內存

fp = open("filename","r")文檔

for eachline in fp:字符串

    print eachline,   #這裏加逗號是爲了抑制print語句輸出的自動換行。由於這裏不須要自動換行了,否則會多產生一個空行。

fp.close()

python容許同一行書寫多個語句,用;隔開,但python 並不提倡這麼作。

每個python 腳本文件均可以當作是個模塊。

模塊以磁盤文件的形式存在。

當一個模塊變得過大,而且驅動了太多功能的話,就應該考慮拆一些代碼出來另外建一個模塊。
下劃線對解釋器有特殊含義,並且是許多內建標示符所使用的符號.

文檔,obj.__doc__進行訪問,得到動態文檔字符串,obj能夠是函數名,模塊,類

def foo(x):
    "hello world"
    return x + 1
foo.__doc__
hello world

若是模塊是被導入,那麼__name__ 值就是 模塊名

若是模塊是直接執行,那麼 __name__ 的值就是 __main__

全部的python對象都擁有三個屬性,類型,值,身份。

每個對象都有惟一的一個身份來標識本身,能夠用內建函數id()來查看,能夠理解成它的內存地址。

空對象或值爲零的任何數字或NULL對象值,他們的布爾值都是False.

python 中不只有值的比較,還有對象的比較。例如:

a = 4.3
b = 3 + 1.3
a is not b
True  #雖然他們的值是相同的,但引用的是兩個不一樣的對象。或者說:
id(a) == id(b)
False  #實際的內存地址是不一樣的。但若是是這樣:
m = 5
n = 5
m is n
True
y = m
id(m) == id(y)
True

每一個python 對象天生都有一個計數器,用來計算這個對象被引用的次數,就像是在一個裝着內容的盒子上貼有的標籤,當引用減爲零時,這個對象天然就消失。

以上是比較身份的運算符:is , is not

def a(num):
    if isinstance(num,(flaot,int,long,complex)):
        print "%s is the type:" %(num),type(num).__name__
    else:
        print "not at all "

type(0),type(5),type(-100)都屬於同一個對象。

若是對象是不一樣的,那咱們就知道原來的變量必定是不一樣的類型,由於每個類型只有一個類型對象。因此能夠直接來進行對象身份的比較。

序列類型是指從0開始的索引。字符串,元組,列表都屬於序列類型。

映射類型是經過惟一的key來訪問,它無序存放。

其實在python 中,一切都是指針。

相關文章
相關標籤/搜索