python helloword_python学习笔记- python中的类
动态语言与静态语言的最大的不同就是,函数和类的定义,不是在编译的时候创建的,而是在运行的时候创建的。
例如我们写了一个叫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()创建了这个类。
python helloword_python学习笔记- python中的类相关推荐
- Python编程语言学习:python的列表的特殊应用之一行命令实现if判断中的两类判断
Python编程语言学习:python的列表的特殊应用之一行命令实现if判断中的两类判断 目录 python的列表的特殊应用 一行命令实现if判断中的两类判断 python的列表的特殊应用 一行命令实 ...
- python语言学习:python语言学习中的定义类、定义函数、封装api等详细攻略
python语言学习:python语言学习中的定义类.定义函数.封装api等详细攻略 目录 python语言学习中的定义类 python语言学习中的定义函数 python语言学习中封装api pyth ...
- Python学习笔记:创建分数类
Python学习笔记:创建分数类 1.编写创建分数类.py # 创建分数类from math import gcd# 定义分数类 class Fraction: def __init__(self, ...
- Python编程语言学习:python语言中快速查询python自带模块函数的用法及其属性方法、如何查询某个函数关键词的用法、输出一个类或者实例化对象的所有属性和方法名之详细攻略
Python编程语言学习:python语言中快速查询python自带模块&函数的用法及其属性方法.如何查询某个函数&关键词的用法.输出一个类或者实例化对象的所有属性和方法名之详细攻略 ...
- Python数据结构学习笔记——链表:无序链表和有序链表
目录 一.链表 二.无序链表 实现步骤分析 三.无序链表的Python实现代码 四.有序链表 实现步骤分析 五.有序链表的Python实现代码 结语 一.链表 链表中每一个元素都由为两部分构成:一是该 ...
- Python数据结构学习笔记——队列和双端队列
目录 一.队列的定义 二.队列 实现步骤分析 三.队列的Python实现代码 四.队列的应用 六人传土豆游戏 五.双端队列的定义 六.双端队列 实现步骤分析 七.双端队列的Python实现代码 八.双 ...
- Python数据结构学习笔记——栈
目录 一.栈的定义和特性 (一)栈的定义 (二)栈的反转特性 二.实现分析步骤 三.栈的Python实现代码 四.栈的应用 (一)匹配圆括号 (二)匹配符号 (三)模2除法(十进制转二进制) (四)进 ...
- Python基础学习笔记之(二)
Python基础学习笔记之(二) zouxy09@qq.com http://blog.csdn.net/zouxy09 六.包与模块 1.模块module Python中每一个.py脚本定义一个模块 ...
- Python基础学习笔记之(一)
Python基础学习笔记之(一) zouxy09@qq.com http://blog.csdn.net/zouxy09 前段时间参加微软的windows Azure云计算的一个小培训,其中Pytho ...
最新文章
- 关于eigrp-FSM有限状态机的资料
- 无线局域网安装与调试(Wireless LAN installation and commissioning)
- 火炬之光使用了哪些技术
- 程序猿都在关注的6个优质公众号
- 详解MySQL中DROP,TRUNCATE 和DELETE的区别
- sencha touch调试时Please close other application using ADB: Monitor, DDMS, Eclipse
- 面试官问我如何做产品分析
- 通过管道进行线程间通信
- JavaScript==比较的规则
- 第四周课程总结&实验报告。
- Use Data Caching Techniques to Boost Performance and Ensure Synchronization(转)
- python怎么计算圆上任意两点的距离_圆周上两点距离-python
- bootstrap 复选框及单选按钮
- 什么是P问题、NP问题和NPC问题
- 图书条形码跟ISBN号互相转换的类
- 基于selenium的大麦网自动抢票脚本实测(新年第一篇)
- 时间计算题100道_这三个马政经计算题,你能对几个?
- 微博营销推广策略分析
- C#对Java--微软的反击
- 跟小甲鱼学Web开发笔记06(最新进展不按进度顺序)
热门文章
- sqserver对比oracle的区别,oracle和sqlserver比较
- java file类包_Java中File类的常用API
- mysql_unbuffered_query的_mysql_query与mysql_unbuffered_query的区别
- 【已解决】Navicat 远程连接 Linux服务器上的MySQL数据库
- 华为性格面试的破解方法
- 时隔七个月,我终于弄懂了汉诺塔的思想
- python秒杀神器苏宁_Python爬虫——实战三:爬取苏宁易购的商品价格
- 用html编辑csdn的方法
- makefile文件中的依赖关系理解
- 工具SSHSecure连接远程服务器步骤