Python學習

python數據類型:

1.整數

2.浮點數

3.字符串 print 多個字符串時以逗號連接 print "hello","world" -> hello world

4.布爾 True False 注意大小寫

5.空值 None

6.常量

7.list   list是一種有序的集合,可以隨時添加和刪除其中的元素,list中元素也可以是不同類型


8.tuple

tuple(元組)也是一種有序列表,tuple初始化後就不能修改,元素也可以是不同類型。沒有append(),insert()這樣

的方法。其他獲取元素的方法和list是一樣的。如果定義包含一個元素的tuple,建議後面添加逗號tuple = (1,) 如果不

加逗號python會將(1)理解爲整數類型,小括號被認爲是運算符號。注意,如果tuple中的元素是list的話,list中的內容

也是可以改變的,這樣該tuple就成了“可變的tuple”,此時不可變是指向的list內存中的地址不可變。


9.dict

dict全稱dictionary,使用(key-value)存儲,且key是不重複的,查找速度非常快。因爲每次存取時要通過哈希算法

計算每個key在內存中的位置,所以dict的key必須是不可變對象

<span style="font-size:18px;"><span style="font-size:18px;">>>> d = {'zhangsan': 35, 'lisi': 45, 'wangwu': 55}
>>> d['zhangsan']
35</span></span></span>

如果取值時dict中不存在指定的key程序會報錯,所以在取之前應先判斷是否存在key。也可以使用dict的get方法,如果不存在會返回None,或自己指定返回值
<span style="font-size:18px;"><span style="font-size:18px;">>>> 'zhaoliu' in d
False
>>> d.get('Thomas')
>>> d.get('Thomas', 'not exist')
'not exist'
</span></span>

10.set

set與dict類似,區別只存儲key,不存儲value

條件判斷

if語句格式:

<span style="font-size:18px;"><span style="font-size:18px;">a = 1
if a > 0:
    print 'a is', a
elif a = 0:
    print 'a is', a
else:
    print 'a is', a
</span></span>
如果if爲True,會執行if下面縮進語句,否則執行else下面縮進語句。注意條件後面的冒號


<span style="font-size:18px;"><span style="font-size:18px;">if a:
    print 'True'</span></span>
如果a是非零數值、非空字符串、非空list等,就判斷爲True,否則爲False


循環判斷

for...in

<span style="font-size:18px;"><span style="font-size:18px;">list1 = ['zhangsan', 'lisi', 'wangwu']
for l in list1:
    print l</span></span>

while
<span style="font-size:18px;"><span style="font-size:18px;">a = 10
while n > 0:
    a = a - 1
print a</span></span>

python函數

參考官方文檔:http://docs.python.org/2/library/functions.html#abs


函數定義

<span style="font-size:18px;"><span style="font-size:18px;">def my_func(a):
    if a >= 0:
        return a
    else:
        return -a</span></span>
如果不寫return,函數的返回值爲None

如果函數功能暫時還未開發,先放個空函數可以使用pass

<span style="font-size:18px;"><span style="font-size:18px;">def func():
    pass</span></span>
返回多個值
<span style="font-size:18px;"><span style="font-size:18px;">def mult():
    a = 1
    b = 2
    return a, b
c,d = mult()
print c,d
1 2
f = mult()
print f
(1,2)
</span></span>
當函數返回多個值時,實際上是返回了一個tuple

函數的參數

python函數的參數包括:默認參數、可變參數和關鍵字參數

默認參數

<span style="font-size:18px;"><span style="font-size:18px;">def printInfo(name, age, country='china', city='Beijing'):
    print 'name:', name
    print 'age:', age
    print 'country:', country
    print 'city:', city</span></span>
調用時可按順序依次傳入參數,也可以指定傳入參數
<span style="font-size:18px;"><span style="font-size:18px;">printInfo('zhangsan', 20, 'china')
printInfo('zhangsan', 20, city='Shenzhen')</span></span>
注意:Python函數在定義的時候,默認參數就被初始化了,在不傳入(修改)默認參數的情況下始終指向內存中同一

個對象,爲了避免參數的數據正確性,默認參數要使用基本類型(非引用類型)


可變參數

定義可變參數的函數時參數前加個*

<span style="font-size:18px;"><span style="font-size:18px;">def sum(*numbers):
    sum = 0
    for n in numbers:
        sum = sum + n
    return sum</span></span>
調用時
<span style="font-size:18px;"><span style="font-size:18px;">sum(1,2,3)</span></span>
函數內部會將可變參數組裝成一個tuple使用

如果想直接傳一個tuple或list可以在傳入的時候前面加一個*

<span style="font-size:18px;"><span style="font-size:18px;">numbers = [1,2,3]
sum(*numbers)</span></span>

關鍵字參數

定義關鍵字參數的函數時參數前加**,關鍵字參數爲可選參數

<span style="font-size:18px;">def person(name, age, **other):
    print 'name:', name, 'age:', age, 'other:', other</span>
這些關鍵字參數在函數內部自動組裝爲一個dict.
<span style="font-size:18px;">person('zhangsan', 25, gender='man',address='beijing')
name: zhangsan age: 25 other: {'gender': 'man',address='beijing'}</span>
如果想直接傳一個dict在參數前加**
<span style="font-size:18px;">other = {gender='man',address='beijing'}
person('zhangsan', 25, **other)</span>

參數組合

在Python中定義函數,可以用必選參數、默認參數、可變參數和關鍵字參數,這4種參數都可以一起使用,或者只用

其中某些,但是請注意,參數定義的順序必須是:必選參數、默認參數、可變參數和關鍵字參數


切片

取list前三個元素

<span style="font-size:18px;">list[0:3]</span>
從索引0開始取,直到索引3爲止,但不包括索引3。如果從索引0位置開始,0可以省略
<span style="font-size:18px;">list[:3]</span>
前10個數,每兩個取一個

<span style="font-size:18px;">list[:10:2]</span>
所有數,每5個取一個

<span style="font-size:18px;">list[::5]</span>
什麼都不寫,只寫[:]就可以原樣複製一個list

<span style="font-size:18px;">list[:]</span>
tuple也是一種list,唯一區別是tuple不可變。因此,tuple也可以用切片操作,只是操作的結果仍是tuple

(0, 1, 2, 3, 4, 5)[:3]
字符串也可以用切片操作,只是操作結果仍是字符串

'ABCDEFG'[:3]





發佈了84 篇原創文章 · 獲贊 3 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章