內置函數

1、dir()

使用dir()函數可以查看對像內所有屬性及方法,在python中任何東西都是對像,一種數據類型,一個模塊等,都有自己的屬性和方法,除了常用方法外,其它的你不需要全部記住它,交給dir()函數就好了。
dir()函數操作方法很簡單,只需要把你想要查詢和對像添寫到( )括號中就可以使用了。
例如你想查看列表都有哪些方法,你可以在( )中直接傳入空列表對像[ ]或是一個列表數據類型的變量名,像下邊這樣操作:

a = []
print dir(a)
#打印結果:
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
2、vars()

本函數是實現返回對象object的屬性和屬性值的字典對象。如果默認不輸入參數,就打印當前調用位置的屬性和屬性值,相當于locals()的功能。如果有參數輸入,就只打印這個參數相應的屬性和屬性值。

a = []
print dir()
print vars()
#打印結果:
['__builtins__', '__doc__', '__file__', '__name__', '__package__', 'a']
{'a': [], '__builtins__': <module '__builtin__' (built-in)>, '__file__': 'F:\\workspace\\08day03\\src\\main\\test.py', '__package__': None, '__name__': '__main__', '__doc__': '\nCreated on Aug 16, 2017\n@author: zxt\n'}
3、type()

查看類型

a = []
a1 = list()

print type(a)
print type(a1)
#打印結果:
<type 'list'>
<type 'list'>
4、import,reload

導入外部模塊
使用import導入模塊時,導入多次相同的模塊,只會導入一次,想要再次導入這個模塊需要用reload

from file import demo
from file import demo
reload(demo)
5、id()

返回對象的唯一標識符,用整數表示。在程序生命周期內,這個標識符常量是唯一的。

t1 = 123
t2 = 888
print id(t1)
print id(t2)
#打印結果:
5126192
5745732
6、abs()

返回數字的絕對值。參數可以是整數或浮點數。如果參數是復數,則返回復數的模。
print abs(-9)
打印結果:
9

7、bool

布爾值
print bool(0)
print bool(15)
打印結果:
False
True

8、divmod

本函數是實現a除以b,然后返回商與余數的數組。
print divmod(9,4)
print divmod(9,3)
打印結果:
(2, 1)
(3, 0)

9、min(),max(),sum(),pow()

最小值,最大值,求和,指數
print max([11,22,33])
print min([11,22,33])
print sum([11,22,33])
print pow(2,10)
打印結果:
33
11
66
1024

10、all()

集合中的元素都為真的時候為真
特別的,若為空串返回為True

print all([1,2,3,0])
print all([1])
print all([0])
print all([])
#打印結果:
False
True
False
True
11、any()

集合中的元素有一個為真的時候為真
特別的,若為空串返回為False

print any([1,0,0,0])
print any([1,2,3,1])
print any([0,0,0,0])
#打印結果:
True
True
False
12、char(i)

返回整數i對應的ASCII字符
print chr(66)
打印結果:
D

13、ord()

ord() 函數是 chr() 函數(對于8位的ASCII字符串)或 unichr() 函數(對于Unicode對象)的配對函數,它以一個字符(長度為1的字符串)作為參數,返回對應的 ASCII 數值,或者 Unicode 數值,如果所給的 Unicode 字符超出了你的 Python 定義范圍,則會引發一個 TypeError 的異常。
print ord('A')
打印結果:
65

14、hex()、oct()、bin()

將整數x轉換為16進制字符串、將一個數字轉化為8進制、將整數轉換為二進制字符串
print hex(2)
print bin(2)
print oct(2)
打印結果:
0x2
0b10
02

15、enumerate()
  • enumerate()是python的內置函數
  • enumerate在字典上是枚舉、列舉的意思
  • 對于一個可迭代的(iterable)/可遍歷的對象(如列表、字符串),enumerate將其組成一個索引序列,利用它可以同時獲得索引和值
  • enumerate多用于在for循環中得到計數
li = ['手表','汽車','房']
for item in li:
    print item
    
for item in enumerate(li,1):
    print item[0],item[1]

#打印結果:
手表
汽車
房
1 手表
2 汽車
3 房
16、format(value [, format_spec])

格式化輸出字符串
格式化的參數順序從0開始,如“I am {0},I like {1}”

s = 'i am {0},{1}'
print s.format('alex','xxx')
#打印結果:
i am alex,xxx
17、map()

map()函數接收兩個參數,一個是函數,一個是序列,map將傳入的函數依次作用到序列的每個元素,并把結果作為新的list返回。

def foo(arg):
    return arg+100
li = [11,22,33]
temp = []
for item in li:
    temp.append(foo(item))    
print temp
#打印結果:
[111, 122, 133]

* 第一次改良:
def foo(arg):
    return arg+100
li = [11,22,33]
temp = map(foo,li)
print temp
打印結果:
[111, 122, 133]

*第二次改良:
def foo(arg):
    return arg+100
li = [11,22,33]
temp = map(lambda arg:arg+100,li)
print temp
#打印結果:
[111, 122, 133]
18、filter()

filter()函數包括兩個參數,分別是function和list。該函數根據function參數返回的結果是否為真來過濾list參數中的項,最后返回一個新列表。

li = [11,22,33]
def foo(arg):
    if arg < 22:
        return True
    else:
        return False
temp = filter(foo,li)
print temp
#打印結果:
[11]

如果filter參數值為None,就使用identity()函數,list參數中所有為假的元素都將被刪除。如下所示:

>>>a=[0,1,2,3,4,5,6,7]
b=filter(None, a)
>>>print b
>>>[1,2,3,4,5,6,7]
19、reduce()

reduce 函數可以按照給定的方法把輸入參數中上序列縮減為單個的值,具體的做法如下:首先從序列中去除頭兩個元素并把它傳遞到那個二元函數中去,求出一個值,再把這個加到序列中循環求下一個值,直到最后一個值 。

li = [11,22,33]
print reduce(lambda x,y:x*y,li)
20、zip()

zip() 函數用于將可迭代的對象作為參數,將對象中對應的元素打包成一個個元組,然后返回由這些元組組成的列表。
如果各個迭代器的元素個數不一致,則返回列表長度與最短的對象相同,利用 * 號操作符,可以將元組解壓為列表

x = [1,2,3]
y = [4,5,6]
z = [4,5,6]
q = [8,6,1]
print zip(x,y,z,q)
#打印結果:
[(1, 4, 4, 8), (2, 5, 5, 6), (3, 6, 6, 1)]

x = [1,2,3]
y = [4,5]
z = [4,5,6]
q = [8,6,1]
print zip(x,y,z,q)
#打印結果:
[(1, 4, 4, 8), (2, 5, 5, 6)]
eveal
功能:將字符串str當成有效的表達式來求值并返回計算結果。
a = '8*8'
b = '8+8'
print eval(a)
print eval(b)
#打印結果
64
16
反射

反射說簡單點 --> 就是利用字符串的形式去對象(模塊)中操作(尋找/檢查/刪除/設置)成員。
以字符串的形式導入模塊,并以字符串的形式執行函數。

#反射
#導入sys模塊,不能用import形式。sys作為一個字符串賦值給變量,然后導入sys模塊,需要用反射函數__import__
temp = 'sys'

model = __import__(temp)

print model.path

#打印結果:
['F:\\workspace\\08day03\\src\\main', 'F:\\workspace\\08day03\\src', 'D:\\worktools\\software\\Python27\\DLLs', 'D:\\worktools\\software\\Python27\\lib', 'D:\\worktools\\software\\Python27\\lib\\plat-win', 'D:\\worktools\\software\\Python27\\lib\\lib-tk', 'D:\\worktools\\software\\Python27', 'D:\\worktools\\software\\Python27\\lib\\site-packages', 'C:\\Windows\\system32\\python27.zip']

2:以字符串的形式導入模塊,并以字符串的形式執行函數。
getattr
1)、msqlhelper.py:
#!/usr/bin/env python
#coding:utf-8
def count():
    return 1

2)、sqlserverhelper.py:
#!/usr/bin/env python
#coding:utf-8
def count():
    return 1

3)、test.py:
#!/usr/bin/env python
#coding:utf-8
temp = 'mysqlhelper' #以字符串的形式導入模塊
func = 'count'       #字符串'count'是函數的名字
model = __import__(temp) 
Function = getattr(model,func) #去model模塊中找count函數
print Function()
hasattr
delattr
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,333評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,491評論 3 416
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,263評論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,946評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,708評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,186評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,255評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,409評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,939評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,774評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,976評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,518評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,209評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,641評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,872評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,650評論 3 391
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,958評論 2 373

推薦閱讀更多精彩內容