摘要:是一个类型是一个的实例,那么他是一个类型。那么我们自定义类一直数据类型叫,包含了年龄性别各科成绩等。我们自己将这一类数据归纳成一种数据类型叫做。在用创建类的时候,接收三个参数,要创建的类名要继承的父类,用一个表示。
动态语言与静态语言的最大的不同就是,函数和类的定义,不是在编译的时候创建的,而是在运行的时候创建的。
例如我们写了一个叫demo.py的模块,在里面定义了一个类:
class Demo(object): pass
然后我们在另一个模块helloword.py中引入了该模块:
from demo import Demo class HelloWrold(object): pass
当我们执行helloworld.py时,import入Demo则会创建一个Demo类。
我们可以用type()函数类看看Demo是啥类型。
type(Demo) // Demo是一个type类型type(Demo()) //Demo()是一个Demo的实例,那么他是一个Demo类型。
我们定义的类的类型都是type类型,就跟python内置的类型int、float、string等一样~~其实我们可以这么理解,int、float、string其实也是归纳了世界上上常见的数据类型,例如一类由一串文字组成的数据,我们就叫这种数据类型为string。 那么我们自定义类一直数据类型叫Student,包含了年龄、性别、各科成绩等。我们自己将这一类数据归纳成一种数据类型叫做Student。 所以从这个较多来看,我们自己创建的一个类其实跟python定义的int、float啥的是一样的~~ 上面扯了这么多类的概念,也知道了实例是根据类来创建,类是在运行过程中创建的。那么类又是这么来的呢?
类是用type()函数创建的。
type函数不是用来判断类型的吗?没错,type还可以用来创建类。
type(what, base=None, attrs=None)
python在用type创建类的时候,接收三个参数
what,要创建的类名
要继承的父类,用一个tuple表示。
参数、方法,用一个字典表示
我们来举一个例子:
def __init__(self, name): self.__name = name def print_name(self): print self.__name Student = type("Student", (object,), {"__init__": __init__, "print_name": print_name, "age": 25}) student = Student("Charlie") student.print_name() print student.age
上面的例子中,我们利用type创建了一个类,并可以根据这个类来创建一个实例。
我们平时用关键字class定义一个类,其实仅仅是定义了一个类。Python解释器读取到用class定义的类的时候,读取了我在里面写的属性和方法,然后用type()创建了这个类。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/38328.html
摘要:内置了多个函数用来获取对象或者实例的信息,例如等。用来判断对象类型。类型,已经定义了多个常量。类型的值与类似。更加推荐使用对中的对象类型进行判断。与的区别可以阅读了解更多。举一个例子我们在中定义下列继承关系定义继承关系 python内置了多个函数用来获取对象或者实例的信息,例如type,isinstance,dir等。 type() type()用来判断对象类型。该函数既可以对pyth...
摘要:面向对象最重要的概念应该就是类和实例了。记得以前学习的时候,有一个比较简单的例子来解释类和实例。构造函数类中可以定义一个构造函数。构造函数的意思就是类在创建的时候会执行的函数。在实例中通过构造函数添加的或者在类外动态添加的属性可以。 面向对象最重要的概念应该就是类(class)和实例(instance)了。记得以前学习java的时候,有一个比较简单的例子来解释类和实例。在汽车制造过程中...
摘要:编程从入门到实践笔记。执行命令后,项目的根目录下会多出一个名为的数据库文件。下面创建一个主题类用户学习的主题返回模型的字符串表示类是中的一个定义了模型基本功能的类。这种交互式环境称为,常用语测试项目和排除故障。 《Python编程:从入门到实践》笔记。从本篇开始将是该书的最后一个项目,将用3篇文章来介绍Django的基础。完成一个学习笔记的小网站。 1. 前言 在本篇中,我们将: 用...
摘要:继承的优缺点推出继承的初衷是让新手顺利使用只有专家才能设计出来的框架。多重继承的真实应用多重继承能发挥积极作用。即便是单继承,这个原则也能提升灵活性,因为子类化是一种紧耦合,而且较高的继承树容易倒。 继承的优缺点 推出继承的初衷是让新手顺利使用只有专家才能设计出来的框架。——Alan Kay 子类化内置类型很麻烦 (如 list 或 dict)) ,别搞这种 直接子类化内置类型(如 ...
阅读 727·2021-08-17 10:11
阅读 1593·2019-08-30 11:15
阅读 1016·2019-08-26 13:54
阅读 3501·2019-08-26 11:47
阅读 1211·2019-08-26 10:20
阅读 2814·2019-08-23 18:35
阅读 1211·2019-08-23 17:52
阅读 1295·2019-08-23 16:19