[問題] 關於python中,句點符號的意思?

看板Python作者時間6年前 (2018/05/03 16:13), 6年前編輯推噓14(14037)
留言51則, 15人參與, 6年前最新討論串1/1
各位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

05/03 16:17, 6年前 , 1F
資料夾的概念
05/03 16:17, 1F
感謝m大的回覆! 好像有點懂又有點不太懂XD 是指像我們在資料夾中 建立新的資料夾或資料嗎? ※ 編輯: firstlovesky (223.139.4.129), 05/03/2018 16:20:47

05/03 16:38, 6年前 , 2F
像是取出裡面的某個東西來用的概念
05/03 16:38, 2F

05/03 16:39, 6年前 , 3F
例如說一開始的result是一個list
05/03 16:39, 3F

05/03 16:39, 6年前 , 4F
.就代表取出list型態裡面內建的函數append ()
05/03 16:39, 4F
感謝a大的回覆! 取出的概念就是了

05/03 16:55, 6年前 , 5F
這就是物件導向的概念 世界上有許多種類的物體
05/03 16:55, 5F

05/03 16:56, 6年前 , 6F
其中一類叫Person 而Person這類物體有什麼特徵呢
05/03 16:56, 6F

05/03 16:58, 6年前 , 7F
每個Person都會有名字 會做某些事情 "."後面是接
05/03 16:58, 7F

05/03 16:58, 6年前 , 8F
性質 或 行為
05/03 16:58, 8F

05/03 17:02, 6年前 , 9F
hunter是一個Person 所以他會有名字 會做某些事情
05/03 17:02, 9F

05/03 17:04, 6年前 , 10F
所以hunter.name 就是他的名字"Andy"
05/03 17:04, 10F

05/03 17:08, 6年前 , 11F
hunter.speak(台詞) 在螢幕上印出某段文字之類的
05/03 17:08, 11F
感謝F大的回覆! 物件的屬性跟方法的概念我大概知道 你解釋有點像我之前在stack overflow看到的 句點就是結束,後面接著屬性或方法

05/03 17:11, 6年前 , 12F
Python每個東西都是物件(object)
05/03 17:11, 12F

05/03 17:11, 6年前 , 13F
句點是取得物件的屬性(attribute),這個屬性可以是funct
05/03 17:11, 13F

05/03 17:11, 6年前 , 14F
ion、class等物件
05/03 17:11, 14F

05/03 17:11, 6年前 , 15F
最後圓括弧加在function後面是呼叫function的意思,加在
05/03 17:11, 15F

05/03 17:11, 6年前 , 16F
class後面是建立class instance的意思
05/03 17:11, 16F
感謝T大的回覆! 您的解釋讓我清楚許多! 想順帶請問一下您 屬性(attribute)跟方法(method) 不是兩個不一樣的範疇嗎? 但您的意思是物件的屬性 涵括了各種需要的資料囉?

05/03 21:29, 6年前 , 17F
a.b 就是a文件下的b屬性或方法。有點像結構變數,但能夠存
05/03 21:29, 17F

05/03 21:29, 6年前 , 18F
函式(此稱方法)。
05/03 21:29, 18F

05/03 21:34, 6年前 , 19F
name那裡, .name 是屬性名稱(物件自帶變數), =name 是指
05/03 21:34, 19F

05/03 21:34, 6年前 , 20F
定函式輸入參數 name 給 .name ,兩者不一樣。self 指的是
05/03 21:34, 20F

05/03 21:34, 6年前 , 21F
物件本身(忘記是否是python keyword 了),用來存取物件自身
05/03 21:34, 21F

05/03 21:34, 6年前 , 22F
屬性,其他語言亦常用 this 表示。
05/03 21:34, 22F

05/03 21:36, 6年前 , 23F
m大資料夾大概是指可以串接子物件吧!
05/03 21:36, 23F
感謝s大的解釋! 關於self 的解釋讓我比較清楚了! 書上是說: self雖不是keyword 但是一個共識的用法! ※ 編輯: firstlovesky (114.47.57.224), 05/04/2018 00:36:01

05/04 00:39, 6年前 , 24F
就是OOP啊 建議好好學一學 另外module有點不一樣就是
05/04 00:39, 24F
感謝T大的回覆! 關於module跟package的import 我本來也想問 裡面也是有使用到句點 書上說就是取出裡面的資料出來使用 所以跟物件資料的存取是類似的概念囉? ※ 編輯: firstlovesky (114.47.57.224), 05/04/2018 00:46:13

05/04 00:43, 6年前 , 25F

05/04 00:43, 6年前 , 26F
Often, the first argument of a method is called self.
05/04 00:43, 26F

05/04 00:44, 6年前 , 27F
This is nothing more than a convention: the name self
05/04 00:44, 27F

05/04 00:44, 6年前 , 28F
has absolutely no special meaning to Python.
05/04 00:44, 28F
感謝M大的回覆! 我對書上的理解是 self是本身物件的參考 雖不是keyword 但在python 的程式中, self只會是本身物件的參考而已 ※ 編輯: firstlovesky (114.47.57.224), 05/04/2018 00:54:09

05/04 03:29, 6年前 , 29F
先回你回我的問題:可以把物件的方法(method)看成是一個
05/04 03:29, 29F

05/04 03:30, 6年前 , 30F
instance的屬性,只是這個屬性是一個特別的function
05/04 03:30, 30F

05/04 03:31, 6年前 , 31F
這個function透過descriptor的方式幫你加self指回原
05/04 03:31, 31F

05/04 03:33, 6年前 , 32F
instance。只是關於descriptor就是進階的內容了。
05/04 03:33, 32F

05/04 03:35, 6年前 , 33F
另外關於import,import foo會建立一個叫foo的module物件
05/04 03:35, 33F

05/04 03:36, 6年前 , 34F
這個物件的屬性是你在foo裡面所用到的變數、函式、class等
05/04 03:36, 34F

05/04 04:13, 6年前 , 35F
05/04 04:13, 35F

05/04 04:14, 6年前 , 36F
Python裡dot就是attribute access而已
05/04 04:14, 36F
感謝T大再次回覆! 解釋的非常詳細 對於屬性的意思我總算明白了XD

05/04 12:06, 6年前 , 37F
就想成「的」就好啦
05/04 12:06, 37F
感謝I大的回覆! 果然淺顯易懂XD

05/04 13:19, 6年前 , 38F
跟樓上一樣 我也是把 a.b當作a的 b 去理解
05/04 13:19, 38F
感謝a大的回覆!

05/04 16:10, 6年前 , 39F
物件導向 您非本科齁
05/04 16:10, 39F
被您發現了QQ ※ 編輯: firstlovesky (114.47.57.224), 05/04/2018 16:45:40

05/05 11:42, 6年前 , 40F
優質文
05/05 11:42, 40F

05/05 15:11, 6年前 , 41F
this->
05/05 15:11, 41F

05/05 16:18, 6年前 , 42F
av
05/05 16:18, 42F

05/06 14:45, 6年前 , 43F
print(柯文哲.職業)
05/06 14:45, 43F

05/06 14:45, 6年前 , 44F
印出"臺北市長",大概這樣吧
05/06 14:45, 44F

05/07 08:46, 6年前 , 45F
柯批.說(你好)
05/07 08:46, 45F

05/07 08:48, 6年前 , 46F
柯批.說('你好') 印出「你好」的概念
05/07 08:48, 46F

05/09 15:56, 6年前 , 47F
先學OOP.. 我覺得學習方式有點本末倒置了..
05/09 15:56, 47F

05/09 16:00, 6年前 , 48F
例如:print(2020選舉.總統) 丁守中
05/09 16:00, 48F

05/09 16:00, 6年前 , 49F
print(2020選舉.執政黨) KMT
05/09 16:00, 49F

05/09 16:00, 6年前 , 50F
print(2020選舉.台北市長)object “台北市長” not
05/09 16:00, 50F

05/09 16:00, 6年前 , 51F
found
05/09 16:00, 51F
文章代碼(AID): #1QwiIUEN (Python)