python class是什么_python中什么是类
面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。
仍以Student类为例,在Python中,定义类是通过class关键字:class Student(object):
pass
class后面紧接着是类名,即Student,类名通常是大写开头的单词,紧接着是(object),表示该类是从哪个类继承下来的,继承的概念我们后面再讲,通常,如果没有合适的继承类,就使用object类,这是所有类最终都会继承的类。
定义好了Student类,就可以根据Student类创建出Student的实例,创建实例是通过类名+()实现的:>>> bart = Student()
>>> bart
>>> Student
可以看到,变量bart指向的就是一个Student的object,后面的0x10a67a590是内存地址,每个object的地址都不一样,而Student本身则是一个类。
可以自由地给一个实例变量绑定属性,比如,给实例bart绑定一个name属性:>>> bart.name = 'Bart Simpson'
>>> bart.name
'Bart Simpson'
由于类可以起到模板的作用,因此,可以在创建实例的时候,把一些我们认为必须绑定的属性强制填写进去。通过定义一个特殊的__init__方法,在创建实例的时候,就把name,score等属性绑上去:class Student(object):
def __init__(self, name, score):
self.name = name
self.score = score
注意到__init__方法的第一个参数永远是self,表示创建的实例本身,因此,在__init__方法内部,就可以把各种属性绑定到self,因为self就指向创建的实例本身。
有了__init__方法,在创建实例的时候,就不能传入空的参数了,必须传入与__init__方法匹配的参数,但self不需要传,Python解释器自己会把实例变量传进去:>>> bart = Student('Bart Simpson', 59)
>>> bart.name
'Bart Simpson'
>>> bart.score
59
和普通的函数相比,在类中定义的函数只有一点不同,就是第一个参数永远是实例变量self,并且,调用时,不用传递该参数。除此之外,类的方法和普通函数没有什么区别,所以,你仍然可以用默认参数、可变参数和关键字参数。
相关推荐:《Python教程》
python class是什么_python中什么是类相关推荐
- python写一个类方法_python中如何写类
类的定义 Python中,定义类是通过class关键字,例如我们定义一个存储学生信息的类: class Student(object): pass class后面紧接着是类名,即Student,类名通 ...
- python中类的嵌套_python中的嵌套类 | 学步园
在.NET和JAVA语言中看到过嵌套类的实现,作为外部类一个局部工具还是很有用的,今天在python也看到了很不错支持一下.动态语言中很好的嵌套类的实现,应该说嵌套类解决设计问题同时简化了程序,值得学 ...
- python中类的嵌套_python 中的嵌套类
嵌套类的简单介绍 在看 idarling 源码中,经常出现如下代码: import sys import ida_funcs import ida_kernwin from PyQt5.QtCore ...
- python算法和数据结构_Python中的数据结构和算法
python算法和数据结构 To 至 Leonardo da Vinci 达芬奇(Leonardo da Vinci) 介绍 (Introduction) The purpose of this ar ...
- python决策树 多分类_Python中的决策树分类:您需要了解的一切
python决策树 多分类 什么是决策树? (What is Decision Tree?) A decision tree is a decision support tool that uses ...
- python基础知识测试题_Python中的单元测试—基础知识
python基础知识测试题 Unit testing is the number one skill which separates people who just finished their de ...
- python 类中定义类_Python中的动态类定义
python 类中定义类 Here's a neat Python trick you might just find useful one day. Let's look at how you ca ...
- python数据库模糊查询_python中数据库like模糊查询方式
python中数据库like模糊查询方式 在Python中%是一个格式化字符,所以如果需要使用%则需要写成%%. 将在Python中执行的sql语句改为: sql = "SELECT * F ...
- python redis 消息队列_python中利用redis构建任务队列(queue)
Python中的使用标准queue模块就可以建立多进程使用的队列,但是使用redis和redis-queue(rq)模块使这一操作更加简单. Part 1. 比如首先我们使用队列来简单的储存数据:我们 ...
- python元类的概念_Python中的元类编程 | 学步园
过去有这样的概念,一直没有深究它的意义.今天同事问到,刚好也好好了解下. #===============================================Python中的元类编程=== ...
最新文章
- HEOI2018游记
- Qt控制台工程不能调试问题
- ContestHunter暑假欢乐赛 SRM 08
- convirt2.5在虚拟机上安装笔记
- ACM主要赛考察内容
- 你跟最伟大领导的距离,或许只差这一点
- 【STM32】【STM32CubeMX】STM32CubeMX的使用之三:UART串口通信
- C语言之文件读写探究(一):fopen、fclose(文件的打开和关闭)
- android 的a标签,Android开发技巧之在a标签或TextView控件中单击链接弹出Activity(自定义动作)...
- 自定义异步加载资源插件
- php获取笔顺矢量,php如何获取汉字笔画数功能的实例分析
- 到底有多少种病毒?科学家们分析了100多种SARS-CoV-2变种的功能
- Recovery文件路径
- 声网 X 牛客网 200万场视频面试背后的实时互动技术支撑
- Android chrome默认设置Autoplay policy
- 树莓派2使用TSL2561
- linux查看文件大小ls
- LTE物理传输资源(3)-时频资源
- dom4j解析dom示例
- Arduino使用u8g2库函数驱动4线/6线OLED屏幕(I2C/SPI通讯)附带库函数详解
热门文章
- springboot集成购买阿里的rocketmq
- HTTP 304状态码
- HBase MemStore和Compaction剖析
- 物联网时代商业模式将驱动商业策略的转变
- Android之AppWidget
- 用递归来实现汉诺塔的问题
- Android实现圆角和圆形
- The run destination 设备名称 is not valid for Running the scheme '项目名称'.
- 关于laravel报错Class 'Barryvdh\Debugbar\ServiceProvider' not found
- hexo 环境变量_优雅的博客框架,快速、简洁、高效且主题丰富——Hexo