|
|
|
|
移动端

2.1 基本语法简介(3)

《自学Python:编程基础、科学计算及数据分析》第2章Python 基础,在本章中,我们将学习Python 语言的基本使用,掌握Python 的基本使用方法,为后续的学习打下基础。本节为基本语法简介。

作者:李金来源:机械工业出版社|2018-05-03 15:51

技术沙龙 | 邀您于8月25日与国美/AWS/转转三位专家共同探讨小程序电商实战

2.1 基本语法简介(3)

8. 自定义类型

Python 用class 关键字来定义一个自定义类:

  1. In [30]: class Person(object):  
  2. ...: def __init__(self, first, last, age):  
  3. ...: self.first = first  
  4. ...: self.last = last  
  5. ...: self.age = age  
  6. ...:  
  7. ...: def full_name(self):  
  8. ...: return self.first + ' ' + self.last  
  9. ...: 

其中:

第一行的Person(object)表示自定义类的名称为Person,该类继承自类object;第一个def 关键字定义的__init__是用来初始化对象的方法,其中self 表示对象自身,self.xxx 表示对象的属性;第二个def 关键字定义的full_name 是该类的一个方法。

有了这个定义,我们可以使用类名来构造该类的一个新对象:

  1. In [31]: person = Person('Mertle', 'Sedgewick', 52) 

使用类名构造对象时,Python 会调用该类的.__init__()方法对传入的三个参数进行处理,它们分别对应于.__init__()方法的三个参数first,last,age。

在初始化之后,对象person 具有.first、.last 和.age 这三个属性。

属性可以直接调用:

  1. In [32]: person.first  
  2. Out[32]: 'Mertle' 

属性可以通过赋值修改:

  1. In [33]: person.last = 'Smith' 

新属性可以通过赋值添加:

  1. In [34]: person.location = 'China' 
  2. In [35]: person.location  
  3. Out[35]: 'China' 

.full_name()是对象的一个方法,可以直接调用:

  1. In [36]: person.full_name()  
  2. Out[36]: 'Mertle Smith' 

9. 变量的命名规范

Python 变量的命名有一定的规范。

一般来说,一个合法的变量名由小写字母、大写字母、数字、下画线组成,变量名可以

包含数字,但不能以数字开头,且不能完全是数字。

本书使用以下方式对变量进行命名:

普通变量:全小写字母,单词之间用下画线分割,如my_var;

全局常量:全大写字母,单词之间用下画线分割,如MY_CONST;

类名:首字母大写,单词直接连在一起,如MyClass;

普通函数:与普通变量一样,如my_function();

模块名:全小写字母,不使用下画线。

10. 变量名的覆盖

由于Python 的命名规则比较宽松,我们要尽量避免使用Python 已有的名称对变量进行命名,因为这样可能会破坏函数原有的功能,出现意想不到的结果。

例如,Python 中有一个最大值函数max():

  1. In [37]: type(max)  
  2. Out[37]: builtin_function_or_method 

如果直接用max 给某个值命名:

  1. In [38]: max = 1 
  2. In [39]: type(max)  
  3. Out[39]: int 

原有的函数名max 就会被新变量max 覆盖,导致max()函数不能正常使用:

  1. In [40]: max(4, 5)  
  2. -----------------------------------------------------------------------  
  3. TypeError Traceback (most recent call last)  
  4. <ipython-input-40-c60446be959c> in <module>()  
  5. ----> 1 max(4, 5)  
  6. TypeError: 'int' object is not callable 

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

网管员必读——故障排除

本书是《网管员世界》杂志社推出的一本集知识性和实用性于一身的网络管理技术书籍,书中收集了《网管员世界》自创刊以来“故障诊断”栏目中...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊