<cite id="fzn17"></cite>
<var id="fzn17"></var><cite id="fzn17"><video id="fzn17"></video></cite>
<cite id="fzn17"></cite>
<var id="fzn17"></var>
<menuitem id="fzn17"><span id="fzn17"><thead id="fzn17"></thead></span></menuitem>
<cite id="fzn17"><span id="fzn17"><var id="fzn17"></var></span></cite><var id="fzn17"><span id="fzn17"><var id="fzn17"></var></span></var>
<var id="fzn17"></var>
<menuitem id="fzn17"></menuitem>
<cite id="fzn17"><video id="fzn17"></video></cite>
|
|
51CTO旗下网站
|
|
移动端

2.1 基本语法简介(3)

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

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

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__()方法?#28304;?#20837;的三个参数进行处理,它们分别对应于.__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 

?#19981;?#30340;朋友可以添加我们的微信账号:

51CTO读书频道二维码


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

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

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你?#19981;?/dt>

订阅专栏+更多

16招轻松掌握PPT技巧

16招轻松掌握PPT技巧

GET职场?#26377;?#25216;能
共16章 | 晒书包

289人订阅学习

20个局域网建设改造案例

20个局域网建设改造案例

网络搭建技巧
共20章 | 捷哥CCIE

645人订阅学习

WOT2019全球人工智能技术峰会

WOT2019全球人工智能技术峰会

通用技术、应用领域、企业赋能三大章节,13大技术专场,60+国内外一线人工智能精英大咖站台,分享人工智能的平台工具、算法模型、语音视觉等技术主题,助力人工智能落地。
共50章 | WOT峰会

0人订阅学习

读 书 +更多

Cisco CCNA 640-801

Cisco 640-801 Cisco® Certified Network Associate (CCNA®) Q&A with explanations Version 93.0...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客

澳洲幸运5官方
<cite id="fzn17"></cite>
<var id="fzn17"></var><cite id="fzn17"><video id="fzn17"></video></cite>
<cite id="fzn17"></cite>
<var id="fzn17"></var>
<menuitem id="fzn17"><span id="fzn17"><thead id="fzn17"></thead></span></menuitem>
<cite id="fzn17"><span id="fzn17"><var id="fzn17"></var></span></cite><var id="fzn17"><span id="fzn17"><var id="fzn17"></var></span></var>
<var id="fzn17"></var>
<menuitem id="fzn17"></menuitem>
<cite id="fzn17"><video id="fzn17"></video></cite>
<cite id="fzn17"></cite>
<var id="fzn17"></var><cite id="fzn17"><video id="fzn17"></video></cite>
<cite id="fzn17"></cite>
<var id="fzn17"></var>
<menuitem id="fzn17"><span id="fzn17"><thead id="fzn17"></thead></span></menuitem>
<cite id="fzn17"><span id="fzn17"><var id="fzn17"></var></span></cite><var id="fzn17"><span id="fzn17"><var id="fzn17"></var></span></var>
<var id="fzn17"></var>
<menuitem id="fzn17"></menuitem>
<cite id="fzn17"><video id="fzn17"></video></cite>
老11选5开奖走势图一定牛 体彩481选号技巧 新时时在线开奖 新时时新时时 福彩3d下载安装 安徽快十一选五遗漏 大乐透下期预测 爱棋牌捕鱼 下载app送1888彩金 靠赌博每天收入2000