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 尝试从 ...
随机推荐
- java基础-Map的静态初始化以及Map的遍历等.....................
1.map的静态初始化,以及map遍历的几种方法: package com.cy.test; import java.util.HashMap; import java.util.Iterator; ...
- 2017CCSP总结——失败(铜)
这次比赛,算是铩羽而归.尽管是第一次出去打比赛,在经验方面略显不足,但是,归根到底,我这次比赛打的很失败.包括我们学校去的,打的也不好,可以说是全体翻车.真的很对不起带我们去的老师.>_< ...
- Linux系统编译Win32版本adb
源码版本:android 7.0 步骤1:source build/envsetup.sh 步骤2:lunch 步骤3:选择编译设备目标 步骤4:make adb USE_MINGW=y 下面是应对编 ...
- Ubuntu中将网卡名称eno16777736改回eth0
一.前言 今天在Vmware Workstation中安装了Ubuntu Server 15.10,然后发现网卡名称出现了问题,主网卡竟然不叫“eth0”,而是叫一个奇怪的名字“eno16777736 ...
- Mysql 性能分析 Explain
Mysql Query Optmize: 查询优化器, SQL语句会给Query Optimize他会执行他认为最优的方式.. Mysql 常见问题 CPU饱和,IO磁盘发生在装入数据大于内存时. E ...
- 【316】python.requests 读取网页信息
参考:Python:在网页中查找字符串的一般方法--in 参考:python怎么安装requests 参考:Requests 快速上手 操作步骤如下: 添加环境变量,将 python 所在文件夹添加至 ...
- HBase实验(CRUD和MR入库)
目录 前期准备 在HBase shell中实现CRUD操作 1. 启动命令行客户端 2. 创建表 3. 删除.新增列族 4. 删除表teacher 5. 新增数据 6. 查看数据 用Java API实 ...
- springmvc框架自带的异常处理器SimpleMappingExceptionResolver的使用
使用分三步 1.定义异常类 2.在处理器中的用法 3.在springmvc配置文件中需要加配置
- 寄存器CPU存储地址信息和数据信息的地方 CPU通过地址寄存器区分指令和数据
- eclipse-jee-mars-2-win32-x86_64安装activiti
离线安装老是不行,只能在线安装了 选择Activiti BPMN Desisner,然后一直选择下一步,直到出现如下窗体: 幸亏这个插件很小,在线安装也不算慢