python入門常用功能小結

2021-07-24 09:34:16 字數 3322 閱讀 6954

一、list, tuple, set 和 dict的使用

多使用list, tuple, set 和 dict這幾種資料型別,它們分別用、()、()和{}定義。

字串:注意區別str和unicode

在python中定義乙個unicode字串,需要在引號前面加上乙個字元u,

當使用utf-8編碼時,非unicode字元中乙個漢字的長度是3,而使用gb2312時是2

# -*- coding: utf-8 -*-

unicode = u'我'

str = '我'

print len(unicode),len(str)

#輸出 1 3

# -*- coding: gb2312 -*-

unicode = u'我'

str = '我'

print len(unicode),len(str)

#輸出 1 2

# -*- coding: utf-8 -*-

str1 = u'我是派森'

print str1[2:4]

#輸出 '派森'

列表list:

# -*- coding: utf-8 -*-

array = [1,2,3]

print array[0]

#輸出 1

array[0] = 'a'

print array

#輸出 ['a', 2, 3]

元組tuple:

# -*- coding: utf-8 -*-

test = [0] #列表可以這樣定義

print type(test) #輸出

test = [0,] #也可以這樣定義

print type(test) #輸出

test = (0,) #元組可以這樣定義

print type(test) #輸出

test = (0) #但不能這樣定義,python會認為它是乙個括號表示式

print type(test) #輸出

test = 0, #也可以省略括號,但要注意與c的逗號表示式不同

print type(test) #輸出

二、python中的運算子、表示式和流程控制:

(1) python的算術運算子除了+、-、*、/、%(取餘數)之外,還有求冪(**)和取模(//);

(2) python支援復合賦值(x+=1),但不支援c#中的自增和自減運算子(如x++);

(3) python用and、or、not代替了c#語言中的邏輯運算子&&、||和!,同時and、or所執行的邏輯運算不返回布林值,而是返回實際比較值之一;

(4) python的選擇語句包括if、elif和else,記得後邊加冒號;python中沒有switch,但可以用if-elif-else或dict完成相同的任務模擬;

def print_one():

print 'one'

def print_two():

print 'two'

numtrans =

try:

numtrans[x]() #注意名字+括號就可以執行方法了,這個實際上很牛x的。

except keyerror:

print 'nothing!'

(5) python的迴圈語句有while、for,它們都支援else語句;注意python的for相當於c#中的foreach語句,同時可以用for + range物件模擬c#中的常規for迴圈;

(6) 兩種語言的異常處理語句基本一致,不同的是python的異常處理也支援else。

try:

f = open('thefile.txt')

s = f.readline()

...except ioerror, (errno, strerror):

print "i/o error(%s): %s" % (errno, strerror)

except valueerror:

print "could not convert data to an integer."

except:

print "unexpected error:", sys.exc_info()[0]

raise

finally:

f.close()

三、物件導向程式設計的基本知識

(1) python用class關鍵字、類名、括號加父類(可選)及冒號定義類,例項化類時不需要new關鍵字;

(2) python可以物件中動態新增成員變數,但建議在__init__函式中新增成員變數並初始化;

(3) python的類中可以通過名稱前加雙下劃線定義私有變數(及私有方法);

(4) python中定義類的方法與定義普通函式在語法上基本相同,區別是非靜態方法的第乙個引數總是類的例項,即self;

(5) 通過修飾符@staticmethod可以定義乙個類的靜態方法;

(6) python對類方法過載和運算子過載,通過內建的運算子方法來實現

class a:

def __init__(self,sum = 0):

self.sum = sum

def __add__(self,x):

return a(self.sum + x.sum)

def __str__(self):

return str(self.sum)

a = a(1)

b = a(2)

print a + b

#輸出 3

(7) python支援類的單繼承和多繼承,但不支援介面,也不(直接)支援抽象類;

(8) 通過自省,可以在執行時獲得物件的有用資訊。

常用的自省函式包括:

* id() 返回物件唯一的識別符號

* repr() 返回物件的標準字串表示式

* type() 返回物件的型別

* dir() 返回物件的屬性名稱列表

* vars() 返回乙個字典,它包含了物件儲存於其__dict__中的屬性(鍵)及值

* hasattr() 判斷乙個物件是否有乙個特定的屬性

* getattr() 取得物件的屬性

* setattr() 賦值給物件的屬性

* delattr() 從乙個物件中刪除屬性

* callable() 測試物件的可呼叫性

* issubclass() 判斷乙個類是另乙個類的子類或子孫類

* isinstance() 判斷乙個物件是否是另乙個給定類的例項

* super() 返回相應的父類

python 常用功能

sintance和type class foo object pass class bar foo pass obj bar isinstance用於判斷,物件是否是指定類的例項 錯誤的 isinstance用於判斷,物件是否是指定類或其派生類的例項 isinstance不精準 print isin...

Python常用功能函式

1.字串反轉 字串反轉 string 字串變數 staticmethod def str reverse string result string 1 return result 2.刪除首尾指定的字元 刪除首尾指定的字元 string 字串變數 rm 要刪除的字元,預設為空格 staticmeth...

python常用功能配置

參看存在的虛擬環境 conda evn list創造虛擬環境 conda create n 環境名 python 3.6刪除虛擬環境操作 conda remove n 環境名 all啟用環境 activate 環境名安裝jupyter conda install jupyterjupyter預設配置...