作者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://webptt.com/cn.aspx?n=bbs/Python/M.1525335198.A.397.html
1F:→ mikapauli: 资料夹的概念05/03 16:17
感谢m大的回覆!
好像有点懂又有点不太懂XD
是指像我们在资料夹中
建立新的资料夹或资料吗?
※ 编辑: firstlovesky (223.139.4.129), 05/03/2018 16:20:47
2F:推 abcd810112: 像是取出里面的某个东西来用的概念05/03 16:38
3F:→ abcd810112: 例如说一开始的result是一个list05/03 16:39
4F:→ abcd810112: .就代表取出list型态里面内建的函数append ()05/03 16:39
感谢a大的回覆!
取出的概念就是了
5F:推 FakeGPS: 这就是物件导向的概念 世界上有许多种类的物体05/03 16:55
6F:→ FakeGPS: 其中一类叫Person 而Person这类物体有什麽特徵呢05/03 16:56
7F:→ FakeGPS: 每个Person都会有名字 会做某些事情 "."後面是接05/03 16:58
8F:→ FakeGPS: 性质 或 行为05/03 16:58
9F:→ FakeGPS: hunter是一个Person 所以他会有名字 会做某些事情05/03 17:02
10F:→ FakeGPS: 所以hunter.name 就是他的名字"Andy"05/03 17:04
11F:→ FakeGPS: hunter.speak(台词) 在萤幕上印出某段文字之类的05/03 17:08
感谢F大的回覆!
物件的属性跟方法的概念我大概知道
你解释有点像我之前在stack overflow看到的
句点就是结束,後面接着属性或方法
12F:推 ThxThx: Python每个东西都是物件(object)05/03 17:11
13F:→ ThxThx: 句点是取得物件的属性(attribute),这个属性可以是funct05/03 17:11
14F:→ ThxThx: ion、class等物件05/03 17:11
15F:→ ThxThx: 最後圆括弧加在function後面是呼叫function的意思,加在05/03 17:11
16F:→ ThxThx: class後面是建立class instance的意思05/03 17:11
感谢T大的回覆!
您的解释让我清楚许多!
想顺带请问一下您
属性(attribute)跟方法(method)
不是两个不一样的范畴吗?
但您的意思是物件的属性
涵括了各种需要的资料罗?
17F:推 sppmg: a.b 就是a文件下的b属性或方法。有点像结构变数,但能够存05/03 21:29
18F:→ sppmg: 函式(此称方法)。 05/03 21:29
19F:→ sppmg: name那里, .name 是属性名称(物件自带变数), =name 是指05/03 21:34
20F:→ sppmg: 定函式输入参数 name 给 .name ,两者不一样。self 指的是05/03 21:34
21F:→ sppmg: 物件本身(忘记是否是python keyword 了),用来存取物件自身05/03 21:34
22F:→ sppmg: 属性,其他语言亦常用 this 表示。05/03 21:34
23F:推 sppmg: m大资料夹大概是指可以串接子物件吧!05/03 21:36
感谢s大的解释!
关於self 的解释让我比较清楚了!
书上是说:
self虽不是keyword
但是一个共识的用法!
※ 编辑: firstlovesky (114.47.57.224), 05/04/2018 00:36:01
24F:推 TitanEric: 就是OOP啊 建议好好学一学 另外module有点不一样就是 05/04 00:39
感谢T大的回覆!
关於module跟package的import
我本来也想问
里面也是有使用到句点
书上说就是取出里面的资料出来使用
所以跟物件资料的存取是类似的概念罗?
※ 编辑: firstlovesky (114.47.57.224), 05/04/2018 00:46:13
26F:→ Marsden: Often, the first argument of a method is called self. 05/04 00:43
27F:→ Marsden: This is nothing more than a convention: the name self 05/04 00:44
28F:→ 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
29F:推 ThxThx: 先回你回我的问题:可以把物件的方法(method)看成是一个05/04 03:29
30F:→ ThxThx: instance的属性,只是这个属性是一个特别的function05/04 03:30
31F:→ ThxThx: 这个function透过descriptor的方式帮你加self指回原05/04 03:31
32F:→ ThxThx: instance。只是关於descriptor就是进阶的内容了。 05/04 03:33
33F:→ ThxThx: 另外关於import,import foo会建立一个叫foo的module物件05/04 03:35
34F:→ ThxThx: 这个物件的属性是你在foo里面所用到的变数、函式、class等05/04 03:36
36F:→ ThxThx: Python里dot就是attribute access而已05/04 04:14
感谢T大再次回覆!
解释的非常详细
对於属性的意思我总算明白了XD
37F:推 IMPOSSIBLEr: 就想成「的」就好啦05/04 12:06
感谢I大的回覆!
果然浅显易懂XD
38F:推 anticrime: 跟楼上一样 我也是把 a.b当作a的 b 去理解05/04 13:19
感谢a大的回覆!
39F:推 Jyery: 物件导向 您非本科齁05/04 16:10
被您发现了QQ
※ 编辑: firstlovesky (114.47.57.224), 05/04/2018 16:45:40
40F:推 thethirdfoot: 优质文 05/05 11:42
41F:推 jamfly: this-> 05/05 15:11
42F:→ Jyery: av 05/05 16:18
43F:推 saito2190: print(柯文哲.职业) 05/06 14:45
44F:→ saito2190: 印出"台北市长",大概这样吧 05/06 14:45
45F:→ newton2009: 柯批.说(你好) 05/07 08:46
46F:→ newton2009: 柯批.说('你好') 印出「你好」的概念 05/07 08:48
47F:推 wang19980531: 先学OOP.. 我觉得学习方式有点本末倒置了.. 05/09 15:56
48F:→ wang19980531: 例如:print(2020选举.总统) 丁守中 05/09 16:00
49F:→ wang19980531: print(2020选举.执政党) KMT 05/09 16:00
50F:→ wang19980531: print(2020选举.台北市长)object “台北市长” not 05/09 16:00
51F:→ wang19980531: found 05/09 16:00