python代码里面,英文句点使用的非常频繁,到处都能看到句点的使用,如下面截取的YOLOV5里面的一段:

if p.is_file():  # file
   with open(p, 'r') as t:
   t = t.read().strip().splitlines()  # 获取图片路径,更换相对路径
   # 获取数据集路径的上级父目录  os.sep为路径里的分隔符(不同路径的分隔符不同,os.sep可以根据系统自适应)
   parent = str(p.parent) + os.sep
   f += [x.replace('./', parent) if x.startswith('./') else x for x in t] 

这只是其中的一小段,就大量使用了 ‘.’ 这个语法,但是我对于python学习的太少了,解释不清楚这段代码,就引用下面知乎和博客里的回答了;


解释一:

在编程语言中,英文句点通常是属性访问符,在 python 中一切皆对象,句点用来访问对象的属性或者方法,示例如下:

1. import matplotlib.pyplot as plt
# matplotlib是模块,模块也是对象,这个表示访问 matplotlib 的子模块 pyplot 

2. import pandas as pd

3. iris = pd.read_csv('XXXXXX')
# 这个表示访问 pandas 模块的 read_csv 方法

4. axes.set_xlim([xmin,xmax])
# 访问 axes 的 set_xlim 方法

5. iris.plot('Time', 'Decimal',figsize=(66,3),style='.')
# 访问 iris 的 plot 方法

解释二:

句点就是一个语法中的“的”,表达的是对象之间的从属关系。访问对象“的”属性,调用对象“的”方法,导入模块“的”函数。其中的属性,方法,函数都是对象,从而也就是对象之间的从属关系,在访问或调用时的表达方式;


解释三:

英文句点通常是属性访问符,在 python 中一切皆对象,句点用来访问对象的属性或者方法。

通常可以认为首字母大写的名称(如Dog )指的是类,而小写的名称(如my_dog )指的是根据类创建的实例:

1、根据Dog类创建实例后,就可以使用句点表示法来调用Dog类中定义的任何方法;

2、而要访问实例的属性(或方法),可使用句点表示法,比如我们要访问实例my_dog的属性name的值:

my_dog.name

句点表示法在Python中很常用,这种语法演示了Python如何获悉属性的值;

参考链接1
参考链接2
参考链接3
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐