新聞中心
python中一切都是對象

創(chuàng)新互聯(lián)建站為客戶提供專業(yè)的做網(wǎng)站、成都網(wǎng)站制作、程序、域名、空間一條龍服務(wù),提供基于WEB的系統(tǒng)開發(fā). 服務(wù)項目涵蓋了網(wǎng)頁設(shè)計、網(wǎng)站程序開發(fā)、WEB系統(tǒng)開發(fā)、微信二次開發(fā)、手機網(wǎng)站開發(fā)等網(wǎng)站方面業(yè)務(wù)。
在python中下列語句其實都是一個共同點:
i = 1 s = "abcde" def foo(): pass class C(object): pass instance = C() l = [1,2] t = (1,2)
他們在python解釋器中執(zhí)行的時候,都會在堆中新建了一個對象,然后把新建的對象綁定到變量名上。
i = 1 #新建一個PyIntObject對象,然后綁定到i上 s = "abcde" #新建一個PyStringObject對象,綁定到s上 def foo(): pass #新建一個PyFunctionObject對象, 綁定到foo上 class C(object): pass #新建一個類對象,綁定到C上 instance = C() #新建一個實例對象,綁定到instance上 l = [1,2] #新建一個PyListObject對象,綁定到l上 t = (1,2) #新建一個PyTupleObject對象,綁定到t上
第一類對象
第一類對象(英語:First-class object)在計算機科學(xué)中指可以在執(zhí)行期創(chuàng)造并作為參數(shù)傳遞給其他函數(shù)或存入一個變量的實體。將一個實體變?yōu)榈谝活悓ο蟮倪^程叫做“物件化”(Reification)。
第一類對象不一定是面向?qū)ο蟪绦蛟O(shè)計所指的物件,而可以指任何程序中的實體。一般第一類對象所特有的特性為:
可以被存入變量或其他結(jié)構(gòu)
可以被作為參數(shù)傳遞給其他函數(shù)
可以被作為函數(shù)的返回值
可以在執(zhí)行期創(chuàng)造,而無需完全在設(shè)計期全部寫出
即使沒有被系結(jié)至某一名稱,也可以存在
函數(shù)、類、模塊等所有對象都是第一類的,以函數(shù)作為第一類對象的為例:
#!/usr/bin/env Python
# coding=utf-8
'''
Created on 2017年8月11日
'''
def foo(text):
return len(text)
#1.函數(shù)存入變量
f=foo
#2.函數(shù)作為參數(shù)
def show(func):
size = func("python 之禪") # 等效于 foo("Python之禪")
print ("length of string is : %s" % size)
#3.函數(shù)作為返回值
def nick():
return foo
show(f)
print(nick()("abc"))
#4.函數(shù)在執(zhí)行期創(chuàng)造
exec('''def foo2():
print("haha")
foo2()''')
print(foo("12345"))
#5.沒有被系結(jié)至某一名稱的匿名函數(shù)lambda
print(map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9])) 當(dāng)前標題:創(chuàng)新互聯(lián)Python教程:python字符串是對象嗎
分享網(wǎng)址:http://m.fisionsoft.com.cn/article/ccshise.html


咨詢
建站咨詢
