【Python】 要点笔记

——这篇文章最主要的目的是将在Python学习中的相关知识要点做下相关记录,方便今后查询以及提醒自己。


版本问题

  • 对于Python而言,其语法版本从2.7.X3.X发生了较大的改变,对于输出等类似问题,一定要区分开来版本,这样进行编译的时候就不会产生用2.7.X的编译器对以3.X的语法书写的代码编译的时候出错了,例如:
@Example
# python - 3.x
# print("\rEpisode {}/{}.".format(i_episode + 1, num_episodes), end="")
# python - 2.7.x
print "\rEpisode {}/{}.".format(i_episode + 1, num_episodes), "\n"

上述的代买就是对于print在两个版本下的语法规则的一个很好演示。


缩进问题

  • 缩进是整个Python中基本语法的核心点之一,相较于C++JAVA这类语言的鲜明{}将整个函数体/循环体/判断体囊括其中,Python以十分简介的形式将这一点进行了简化,如下所示:
@Example
#  循环体是以首位置的缩进来进行标识的
for x in range(10):
          print(x)

下划线 问题

  • Python 用下划线作为变量前缀和后缀指定特殊变量/方法(函数)

  • 其常用形式有以下四种:

    • 不带下划线形式的,代表变量/方法是等同于C++/JAVA 中的public对象。

    例如:objectdef cal(it)这样的方式。
    + 下划线开始和结尾的,这种情况比较特殊,常见于Python的内部库/系统使用,我们普通Coder应尽量避免使用这种标识;但是要注意在class的内部定义__init__(self)的初始化构造函数的时候是必须要加上双下划线的。
    > 例如:
    python @example def __init__(self): pass XXXXXXXXXX
    + 以双下划线开始的,这种变量/方法同样是被定义成private属性的,但要注意的是由于Python中是不存在类似于C++/Java中的protected表示符的,仅有publicprivate,即变量/方法的标识仅能二选一,但这之中需要注意的是:private并非如C++/Java中那样绝对不可访问,通过name mangling(称为“名称改编”(目的就是以防子类意外重写基类的方法或者属性),即前面加上单下划线+双下划线+类名,eg:_Class__object)机制是仍然可以访问private对象的,所以在这里一定要区分这种用法。
    + 以单下划线开始的,这种变量/方法即是常用的private属性标识的,而这种方法也是python中在class中对于仅可通过内部方法/对象调用的对象/方法的推崇。

  • 总结而言:

  • 单下划线开头_foo的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用from xxx import *而导入;
  • 双下划线开头__foo代表类的私有成员;
  • 双下划线开头和结尾__foo__代表python里特殊方法专用的标识,如 __init__()代表类的构造函数
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,049评论 19 139
  • Python是一种对代码风格很重视的语言,从缩进就能看出这一点,Python强调易于理解。最近在负责代码重构的工作...
    知曰阅读 11,248评论 1 85
  • 更新时间:2016/5/13 介绍 本文档所提供的编码规范,适用于主要的Python发行版中组成标准库的Pytho...
    超net阅读 5,918评论 0 15
  • 吕6,陈1.5,范1.0,周1.5,魏1.0,王0.2, 工2,广3,发2,招2,
    妤青阅读 125评论 0 0