Python学习-11.Python中的类定义
Python是一门面向对象语言,那么作为面向对象的特征——类也是有的。值得注意的是Python中一切皆对象,并不像C#中为了性能考虑,int这些在Python中也是对象。(C#中int是结构体)
如何定义一个类:
class Person:
pass
使用class关键字,上面定义了一个Person类。但是现在这个类是空白的。
接下来定义一个构造函数
class Person:
def __init__(self,name,age):
self.name=name
self.age=age
函数__init__是Python中类的构造函数的名称,任何Python的类的构造函数的名称都必须是这样。
在__init__构造函数中,第一个参数self指代该实例。这一点很好理解,因为构造函数也是一个实例函数。在Python中,定义实例函数需要在函数的第一个参数中填入self这个参数。
接下来定义一个实例函数和静态函数。
class Person:
def __init__(self,name,age):
self.name=name
self.age=age def printName(self):
print(self.name) def staticPrint():
print('this class\'s name is Person')
接下来就是新建一个类的实例并调用了。
instance=Person('Tom',18)
instance.printName()
Person.staticPrint()
其中第一行调用Person的构造函数并将实例赋值给instance变量。值得注意的是Python中并没有new关键字。
第二行则调用了printName的实例方法。输出Tom。
第三行则调用了Person类的staticPrint静态方法,输出this class's name is Person。
Python学习-11.Python中的类定义的更多相关文章
- Python学习day09 - Python进阶(3)
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- Python学习day05 - Python基础(3) 格式化输出和基本运算符
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- Python学习笔记:面向对象(类)
1.类定义:Python3中,如果新建的类没有继承任何其他类,默认继承基础类object.Python2中如果没有显式继承object类就是经典类,而显式继承了object类就是新式类,Python2 ...
- Python学习_13_继承和元类
继承 继承的含义就是子类继承父类的命名空间,子类中可以调用父类的属性和方法,由于命名空间的查找方式,当子类中定义和父类同名属性或者方法时,子类的实例调用的是子类中的属性,而不是父类,这就形成了pyth ...
- Python学习第十五篇——类继承和类实例化
学习Python类时,我们明白了类的本质,以及所谓的面向对象编程思想强调的对事物本身的属性,我们对某一类事物进行描述——采用了很多方法,这些方法描述了类的属性(比如猫科动物的眼睛,四肢,是否哺乳类等等 ...
- Python学习笔记(一)类和继承的使用
一年前就打算学Python了,折腾来折腾去也一直没有用熟练,主要是类那一块不熟,昨天用Python写了几个网络编程的示例,感觉一下子迈进了很多.这几天把学习Python的笔记整理一下,内容尽量简洁. ...
- python学习笔记(五)---函数与类
函数 def为定义函数的一个标志 demo1: def greet_user(username): print("Hello, " + username.title() + &qu ...
- python学习笔记1 -- 面向对象编程类和实例
由于之前有一定基础,所以python中的类的概接受的比较快,与其他语言一样, python也是通过类来进行事务的抽象,一切皆对象,要不然怎么说程序员不缺对象呢. 言归正传,python中类的声明是cl ...
- Python学习笔记6-Python中re(正则表达式)模块学习
今天学习了Python中有关正则表达式的知识.关于正则表达式的语法,不作过多解释,网上有许多学习的资料.这里主要介绍Python中常用的正则表达式处理函数. re.match re.match 尝试从 ...
随机推荐
- 使用Amoeba实现mysql读写分离机制
Amoeba的实用指南 http://docs.hexnova.com/amoeba/ 如何实现mysql读写分离 : 通常来说有两种方式: 1,应用程序层实现 2,中间件层实现 应用层实现 应用层实 ...
- Splunk安装部署基础篇
Splunk安装(以4.3.4版本为例) 下载splunk软件包,并解压,直接启动即可. --Linux-x86_64.tgz -C /optcd /opt/splunk/bin./splunk st ...
- Partition does not start on physical sector boundary
今天给一块硬盘分区,用fdisk按照默认步骤执行,遇到这个问题: [root@bogon ~]# fdisk /dev/sdfDevice contains neither a valid DOS p ...
- controller 允许跨域访问
1.在controller 上加上 @CrossOrigin(origins = {"http://localhost:7777", "http://someserver ...
- delphi 触摸 手势
delphi手势,左右滑动, 控件的OnGesture事件写代码. 放一个TGestureManager控件,设置控件的touch属性为TGestureManager控件. 然后勾选控件的Touch& ...
- Changing the load order/delay the start of the Server service
THE INFORMATION IN THIS ARTICLE APPLIES TO: Secure FTP Server (All Versions) EFT Server (All Version ...
- 【python】 time模块和datetime模块详解 【转】
一.time模块 time模块中时间表现的格式主要有三种: a.timestamp时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量 b.struct_time时间元组,共 ...
- c++动态链接库及静态链接库的生成与使用
1,新建控制台工程xdltest,改属性-配置属性-常规-配置类型为 动态库.dll或静态库.lib2,打开工程后添加 dltest.h, dltest.cpp,其中.h与.cpp名字没必要一样3,编 ...
- Eclipse Class Decompiler——Java反编译插件(转)
Eclipse Class Decompiler是一款Eclipse插件,整合了多种反编译器,和Eclipse Class Viewer无缝集成,能够很方便的使用插件查看类库源码,进行Debug调试. ...
- 为什么需要maven,maven能解决什么问题 ,maven是什么