Python語言基礎(chǔ)
Python語言基礎(chǔ)?Python語言基礎(chǔ)?
Python的數(shù)據(jù)類型
變量的定義。在python中,變量的類型是由賦給它的數(shù)值定義的。
q?=?7??????????#q其為數(shù)值型變量
q?=?“Seven”?#q為字符串型變量
基本數(shù)據(jù)類型:字符串,整數(shù),浮點數(shù),虛數(shù),布爾型。
集合類型:列表(List),元組(Tuple),字典(Dictionary或Hash)
Python的數(shù)據(jù)類型:列表(List)
List的定義。
aList?=?[23]?或者?bList?=?[1,2,3]
List的使用??梢韵馽語言中數(shù)據(jù)一樣引用list中的元素。
print?bList[1]?
List常用操作:append,?del,?+?,*,?len(list)
[0]?*?5
Python的數(shù)據(jù)類型:列表(方法)
Table?3.3.?列表對象支持的方法(演示)
append(x)?count(x)?extend(L)
Index(x)?insert(i,x)?pop(x)
remove(x)?reverse()?sort()
Python的數(shù)據(jù)類型:元組(Tuple)
Tuple的定義。
aTuple?=?(1,?3,?5)
print?aTuple
List的使用。
1.?元組可以用方括號括起下標做索引?
2.?元組一旦創(chuàng)建就不能改變?
3.??列表大部分操作同樣適用于元組?
Python的數(shù)據(jù)類型:字典(Hash)
字典是一個用大括號括起來的鍵值對,字典元素分為兩部份,鍵(key)和值。字典是python中唯一內(nèi)置映射數(shù)據(jù)類型。通過指定的鍵從字典訪問值。?
字典的使用:
a?=?{‘a(chǎn)’:’aa’,?‘b’:’bb’}
a[‘c’]=‘cc’
a.has_key(‘a(chǎn)’)
Python的數(shù)據(jù)類型:字典(常用方法)
字典的常用方法(演示):
has_key(x)?keys()?values()?
items()?clear()?copy()?
update(x)?get(x[,y])
Python?控制語句?if
Python支持三種不同的控制結(jié)構(gòu):if,for和while,不支持C語言中的switch語句。
(1)if?語句的用法:
if?EXPRESSION1:
????STATEMENT1
elif?EXPRESSION2:
????STATEMENT2
else:
????STATEMENT3
Python?控制語句?for
for語句的用法:
mylist?=?"for?statement"
for?word?in?mylist:
????print?word
else:
????print?"End?list"
Python?控制語句?while
while語句的用法:
a?=?0
while?a?>?5:
????a?=?a?+?1
????print?a
else:
????print?"a's?value?is?five"
Python?循環(huán)中的控制語句
循環(huán)中的控制語句?
break:?終止當前循環(huán)
continue:?終止本次循環(huán)
pass:?什么事都不錯
Python?函數(shù)
函數(shù)定義:
def?function_name(arg1,arg2[,...]):
????statement
?????[return?value]
函數(shù)名:
1.?函數(shù)名必須以下劃線或字母開頭,可以包含任意字母、數(shù)字或下劃線的組合。不能使用任何的標點符號;?
2.?函數(shù)名是區(qū)分大小寫的。?
3.?函數(shù)名不能是保留字。?
Python?函數(shù)
作用域:Python使用名稱空間的概念存儲對象,這個名稱空間就是對象作用的區(qū)域,?不同對象存在于不同的作用域。下面是不同對象的作用域規(guī)則:
1.?每個模塊都有自已的全局作用域。?
2.?函數(shù)定義的對象屬局部作用域,只在函數(shù)內(nèi)有效,不會影響全局作用域中的對象。?
3.?賦值對象屬局部作用域,除非使用global關(guān)鍵字進行聲明。?
LGB規(guī)則
大多數(shù)名字引用在三個作用域中查找:先局部(Local),次之全局(Global),再次之內(nèi)置(Build-in)。
Python?函數(shù)
函數(shù)的參數(shù)的分類:
默認參數(shù):def?function(ARG=VALUE)
元組參數(shù):def?function(*ARG)
字典參數(shù):def?function(**ARG)
一些規(guī)則:
1.?默認值必須在非默認參數(shù)之后;?
2.?在單個函數(shù)定義中,只能使用一個tuple參數(shù)(*ARG)和一個字典參數(shù)(**ARG)。?
3.?tuple參數(shù)必須在連接參數(shù)和默認參數(shù)之后。?
4.?字典參數(shù)必須在最后定義。?
Python?模塊
模塊:模塊可把一個復(fù)雜的程序按功能分開,分別存放到不同文件中,使程序更容易維護和管理。在Python中的模塊是一個以.py結(jié)尾的Python代碼文件??赏ㄟ^import命令輸入,如:
import?sys(和c中include語句似乎相似)
該import語句共執(zhí)行三步操作:
1.?創(chuàng)建新的名稱空間(namespace),該名稱空間中擁有輸入模塊中定義的所有對象;?
2.?執(zhí)行模塊中的代碼;?
3.?創(chuàng)建該名稱空間的變量名。?
Python?模塊
import的使用:
import?ftplib?as?ftp
from?ftplib?import?FTP
Python腳本與模塊
python腳本和模塊都是一個以.py結(jié)束的文件,那程序是如何判斷一個.py文件是作為腳本還是模塊呢?關(guān)鍵是一個名為__name__的變量,如果它的值是__main__,則是作為腳本直接運行,否則是做為模塊運行的。
if?__name__?==?“__main__”:
???main()
Python?包(package)
我們可以把幾個功能相近的模塊組成一個Python包,存放到一個目錄結(jié)構(gòu)中,通過輸入包的路徑來調(diào)用對對象。
例子:
/WebDesign
???__init__.py
???design.py
???draw.py
其中__init__.py是包的初始化文件,可以為空,但是必不可少的。可以以下列方式引用design模塊:
import?WebDesign.design
Python?類
一個簡單的例子:
#!/usr/bin/python
#-*-?encoding:utf-8?-*-
class?test:?#定義一個test類
???desc?=?"這是一個測試類。"?#在類中定義一個屬性desc
???def?__init__(self,name1):?#對象構(gòu)造函數(shù),初始化類
??????self.name1?=?name1
???def?show(self,name2):?#在類中定義一個方法show()
??????print?"hello?world"
??????print?'name1:',self.name1
??????print?'name2:',name2
obj?=?test(‘這是傳遞給name1的值’)?#生成test類的實例對象
print?obj.desc?#調(diào)用類中的desc屬性
obj.show('這是傳遞給name2的值')?#調(diào)用類中的show()方法