作者firstlovesky ()
看板Python
標題[問題] 關於python中,句點符號的意思?
時間Thu May 3 16:13:16 2018
各位python 前輩們好
目前正在自學python
最近正在研讀動物書的精通python
目前在class這邊有點卡關
想請問一下各位前輩
在python 的function 中
例:
def buggy(arg, result=[ ]):
result.append(arg)
print(result)
我可以把它解釋成
append() 用”.”去操作result 物件嗎?
因為之前我在讀深入淺出java的時候
書上說”句點”是操作運算元
可是當到了class的時候
例1:
class Person():
def_init_(self,name):
self.name=name
hunter= Person(“Andy”)
這邊我完全不懂self 和句點的意思是什麼?
例2:
import turtle
brad= turtle.Turtle()
在import turtle的文件後
用Turtle()這個函式
建立了brad這個物件
可是這邊的”句點”我不知道怎麼解讀它的意思?
總歸來說
想請問各位前輩
在程式語言中
“句點”到底該怎麼解讀它的意思?
如果我的問題真的有點蠢的話
希望前輩們不要介意QQ
感謝各位!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.139.4.129
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1525335198.A.397.html
→ mikapauli: 資料夾的概念05/03 16:17
感謝m大的回覆!
好像有點懂又有點不太懂XD
是指像我們在資料夾中
建立新的資料夾或資料嗎?
※ 編輯: firstlovesky (223.139.4.129), 05/03/2018 16:20:47
推 abcd810112: 像是取出裡面的某個東西來用的概念05/03 16:38
→ abcd810112: 例如說一開始的result是一個list05/03 16:39
→ abcd810112: .就代表取出list型態裡面內建的函數append ()05/03 16:39
感謝a大的回覆!
取出的概念就是了
推 FakeGPS: 這就是物件導向的概念 世界上有許多種類的物體05/03 16:55
→ FakeGPS: 其中一類叫Person 而Person這類物體有什麼特徵呢05/03 16:56
→ FakeGPS: 每個Person都會有名字 會做某些事情 "."後面是接05/03 16:58
→ FakeGPS: 性質 或 行為05/03 16:58
→ FakeGPS: hunter是一個Person 所以他會有名字 會做某些事情05/03 17:02
→ FakeGPS: 所以hunter.name 就是他的名字"Andy"05/03 17:04
→ FakeGPS: hunter.speak(台詞) 在螢幕上印出某段文字之類的05/03 17:08
感謝F大的回覆!
物件的屬性跟方法的概念我大概知道
你解釋有點像我之前在stack overflow看到的
句點就是結束,後面接著屬性或方法
推 ThxThx: Python每個東西都是物件(object)05/03 17:11
→ ThxThx: 句點是取得物件的屬性(attribute),這個屬性可以是funct05/03 17:11
→ ThxThx: ion、class等物件05/03 17:11
→ ThxThx: 最後圓括弧加在function後面是呼叫function的意思,加在05/03 17:11
→ ThxThx: class後面是建立class instance的意思05/03 17:11
感謝T大的回覆!
您的解釋讓我清楚許多!
想順帶請問一下您
屬性(attribute)跟方法(method)
不是兩個不一樣的範疇嗎?
但您的意思是物件的屬性
涵括了各種需要的資料囉?
推 sppmg: a.b 就是a文件下的b屬性或方法。有點像結構變數,但能夠存05/03 21:29
→ sppmg: 函式(此稱方法)。 05/03 21:29
→ sppmg: name那裡, .name 是屬性名稱(物件自帶變數), =name 是指05/03 21:34
→ sppmg: 定函式輸入參數 name 給 .name ,兩者不一樣。self 指的是05/03 21:34
→ sppmg: 物件本身(忘記是否是python keyword 了),用來存取物件自身05/03 21:34
→ sppmg: 屬性,其他語言亦常用 this 表示。05/03 21:34
推 sppmg: m大資料夾大概是指可以串接子物件吧!05/03 21:36
感謝s大的解釋!
關於self 的解釋讓我比較清楚了!
書上是說:
self雖不是keyword
但是一個共識的用法!
※ 編輯: firstlovesky (114.47.57.224), 05/04/2018 00:36:01
推 TitanEric: 就是OOP啊 建議好好學一學 另外module有點不一樣就是 05/04 00:39
感謝T大的回覆!
關於module跟package的import
我本來也想問
裡面也是有使用到句點
書上說就是取出裡面的資料出來使用
所以跟物件資料的存取是類似的概念囉?
※ 編輯: firstlovesky (114.47.57.224), 05/04/2018 00:46:13
→ Marsden: Often, the first argument of a method is called self. 05/04 00:43
→ Marsden: This is nothing more than a convention: the name self 05/04 00:44
→ Marsden: has absolutely no special meaning to Python. 05/04 00:44
感謝M大的回覆!
我對書上的理解是
self是本身物件的參考
雖不是keyword
但在python 的程式中,
self只會是本身物件的參考而已
※ 編輯: firstlovesky (114.47.57.224), 05/04/2018 00:54:09
推 ThxThx: 先回你回我的問題:可以把物件的方法(method)看成是一個05/04 03:29
→ ThxThx: instance的屬性,只是這個屬性是一個特別的function05/04 03:30
→ ThxThx: 這個function透過descriptor的方式幫你加self指回原05/04 03:31
→ ThxThx: instance。只是關於descriptor就是進階的內容了。 05/04 03:33
→ ThxThx: 另外關於import,import foo會建立一個叫foo的module物件05/04 03:35
→ ThxThx: 這個物件的屬性是你在foo裡面所用到的變數、函式、class等05/04 03:36
→ ThxThx: Python裡dot就是attribute access而已05/04 04:14
感謝T大再次回覆!
解釋的非常詳細
對於屬性的意思我總算明白了XD
推 IMPOSSIBLEr: 就想成「的」就好啦05/04 12:06
感謝I大的回覆!
果然淺顯易懂XD
推 anticrime: 跟樓上一樣 我也是把 a.b當作a的 b 去理解05/04 13:19
感謝a大的回覆!
推 Jyery: 物件導向 您非本科齁05/04 16:10
被您發現了QQ
※ 編輯: firstlovesky (114.47.57.224), 05/04/2018 16:45:40
推 thethirdfoot: 優質文 05/05 11:42
推 jamfly: this-> 05/05 15:11
→ Jyery: av 05/05 16:18
推 saito2190: print(柯文哲.職業) 05/06 14:45
→ saito2190: 印出"臺北市長",大概這樣吧 05/06 14:45
→ newton2009: 柯批.說(你好) 05/07 08:46
→ newton2009: 柯批.說('你好') 印出「你好」的概念 05/07 08:48
推 wang19980531: 先學OOP.. 我覺得學習方式有點本末倒置了.. 05/09 15:56
→ wang19980531: 例如:print(2020選舉.總統) 丁守中 05/09 16:00
→ wang19980531: print(2020選舉.執政黨) KMT 05/09 16:00
→ wang19980531: print(2020選舉.台北市長)object “台北市長” not 05/09 16:00
→ wang19980531: found 05/09 16:00