python字串是物件嗎
python中一切都是物件
在python中下列語句其實都是一個共同點:
i = 1 s = "abcde" def foo(): pass class C(object): pass instance = C() l = [1,2] t = (1,2)
他們在python直譯器中執行的時候,都會在堆中新建了一個物件,然後把新建的物件繫結到變數名上。
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)在電腦科學中指可以在執行期創造並作為引數傳遞給其他函式或存入一個變數的實體。將一個實體變為第一類物件的過程叫做“物件化”(Reification)。
第一類物件不一定是物件導向程式設計所指的物件,而可以指任何程式中的實體。一般第一類物件所特有的特性為:
可以被存入變數或其他結構
可以被作為引數傳遞給其他函式
可以被作為函式的返回值
可以在執行期創造,而無需完全在設計期全部寫出
即使沒有被繫結至某一名稱,也可以存在
函式、類、模組等所有物件都是第一類的,以函式作為第一類物件的為例:
#!/usr/bin/env Python # coding=utf-8 ''' Created on 2017年8月11日 ''' def foo(text): return len(text) #1.函式存入變數 f=foo #2.函式作為引數 def show(func): size = func("python 之禪") # 等效於 foo("Python之禪") print ("length of string is : %s" % size) #3.函式作為返回值 def nick(): return foo show(f) print(nick()("abc")) #4.函式在執行期創造 exec('''def foo2(): print("haha") foo2()''') print(foo("12345")) #5.沒有被繫結至某一名稱的匿名函式lambda print(map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9]))
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2508/viewspace-2836656/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 什麼是字串?Python中字串必須加引號嗎?字串Python
- 你真的知道Python的字串是什麼嗎?Python字串
- 列表、元組、字串是有序序列嗎?Python基礎教程字串Python
- 為什麼Java字串是不可變物件?Java字串物件
- php中物件是引用型別嗎?PHP物件型別
- JavaScript物件屬性是有序的嗎?JavaScript物件
- Javascript 物件 – 字串物件JavaScript物件字串
- 字串物件字串物件
- Go 是物件導向的語言嗎?Go物件
- JS json字串轉物件、物件轉字串JSON字串物件
- 5.Python3原始碼—字串(str)物件Python原始碼字串物件
- 深入瞭解 Python 字串物件的實現Python字串物件
- python 是開源語言嗎:Python 是一種開源語言嗎?Python
- Python中的字串物件(《Python原始碼剖析》筆記三)Python字串物件原始碼筆記
- 你真的知道Python的字串怎麼用嗎?Python字串
- Python - 物件導向程式設計 - 什麼是 Python 類、類物件、例項物件Python物件程式設計
- python是高階語言嗎Python
- 什麼是Python?好學嗎?Python
- 物件導向:你是我的那個他嗎?物件
- Python字串是什麼?常用方法有哪些?Python字串
- 什麼是字典?Python字典是可變的嗎?Python
- Python開發是程式導向、函式還是物件?Python教程Python函式物件
- python是免費的語言嗎?Python
- python是函式式語言嗎Python函式
- Python是什麼?你對Python瞭解嗎?Python
- 等級保護物件是指什麼?是指整個單位嗎?物件
- python能判斷一個物件的型別嗎Python物件型別
- Python開發是程式導向、函式還是物件?Python基礎!Python函式物件
- Python中的類和物件是什麼Python物件
- python是跨平臺的語言嗎Python
- js jquery 列印物件;json 物件轉字串jQuery物件JSON字串
- 可能是最全面的 python 字串拼接總結Python字串
- 可能是最全面的python字串拼接總結Python字串
- Python到底是什麼?Python發展前景好嗎?Python
- Python是什麼?普通人學Python有意義嗎?Python
- Redis的字串物件筆記Redis字串物件筆記
- js物件轉json字串物件JSON字串
- python如何判斷一個物件是否是列表Python物件