python中一切都是對象
在python中下列語句其實都是一個共同點:
i=1
s="abcde"
deffoo():pass
classC(object):pass
instance=C()
l=[1,2]
t=(1,2)
他們在python解釋器中執行的時候,都會在堆中新建了一個對象,然后把新建的對象綁定到變量名上。
i=1#新建一個PyIntObject對象,然后綁定到i上
s="abcde"#新建一個PyStringObject對象,綁定到s上
deffoo():pass#新建一個PyFunctionObject對象,綁定到foo上
classC(object):pass#新建一個類對象,綁定到C上
instance=C()#新建一個實例對象,綁定到instance上
l=[1,2]#新建一個PyListObject對象,綁定到l上
t=(1,2)#新建一個PyTupleObject對象,綁定到t上
第一類對象
第一類對象(英語:First-classobject)在計算機科學中指可以在執行期創造并作為參數傳遞給其他函數或存入一個變量的實體。將一個實體變為第一類對象的過程叫做“物件化”(Reification)。
第一類對象不一定是面向對象程序設計所指的物件,而可以指任何程序中的實體。一般第一類對象所特有的特性為:
可以被存入變量或其他結構
可以被作為參數傳遞給其他函數
可以被作為函數的返回值
可以在執行期創造,而無需完全在設計期全部寫出
即使沒有被系結至某一名稱,也可以存在
函數、類、模塊等所有對象都是第一類的,以函數作為第一類對象的為例:
#!/usr/bin/envPython
#coding=utf-8
'''
Createdon2017年8月11日
'''
deffoo(text):
returnlen(text)
#1.函數存入變量
f=foo
#2.函數作為參數
defshow(func):
size=func("python之禪")#等效于foo("Python之禪")
print("lengthofstringis:%s"%size)
#3.函數作為返回值
defnick():
returnfoo
show(f)
print(nick()("abc"))
#4.函數在執行期創造
exec('''deffoo2():
print("haha")
foo2()''')
print(foo("12345"))
#5.沒有被系結至某一名稱的匿名函數lambda
print(map(lambdax:x*x,[1,2,3,4,5,6,7,8,9]))
以上內容為大家介紹了python培訓之字符串是對象嗎,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。