2018年12月31日

摘要: 储备知识exec参数1:字符串形式的命令参数2:全局作用域(字典形式),如果不指定默认就使用globals()参数3:局部作用域(字典形式)如果不指定默认就使用locals() g={ 'x':1, 'y':2 } l={} exec(""" global x,m x=10 m=100 z=3 """,g,l) print(g) print(l) print(g) 一切... 阅读全文
posted @ 2018-12-31 10:38 赫晓蕊 阅读(113) 评论(0) 推荐(0) 编辑
摘要: class Foo: def __init__(self,name,age): self.name=name self.age=age def __getitem__(self,item): print('getitem') print(item) return self.__dict__.get(i... 阅读全文
posted @ 2018-12-31 10:32 赫晓蕊 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 反射:通过字符串映射到对象的属性 class People: def __init__(self,name,age): self.name=name self.age=age def talk(self): print('%s is talking'%self.name) obj = People('egon',18) prin... 阅读全文
posted @ 2018-12-31 10:09 赫晓蕊 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 绑定方法与非绑定方法的应用 阅读全文
posted @ 2018-12-31 10:08 赫晓蕊 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 什么是特性propertyproperty是一种特殊的属性,访问它时会执行一段功能(函数)然后返回值 例一:BMI指数(bmi是计算而来的,但很明显它听起来像是一个属性而非方法,如果我们将其做成一个属性,更便于理解)成人的BMI数值:过轻:低于18.5正常:18.5-23.9过重:24-27肥胖:28-32非常肥胖, 高于32体质指数(BMI)=体重(kg)÷身高^2(m) class Peop... 阅读全文
posted @ 2018-12-31 10:03 赫晓蕊 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 一、封装如何隐藏属性 二、封装的意义 特性(property) 将一个类的函数定义成特性以后,对象再去使用的时候obj.name,根本无法察觉自己的name是执行了一个函数然后计算出来的,这种特性的使用方式遵循了统一访问的原则 @property 封装逻辑,像是在调取一个普通属性,隐藏了内部逻辑,外 阅读全文
posted @ 2018-12-31 10:01 赫晓蕊 阅读(86) 评论(0) 推荐(0) 编辑
摘要: Python崇尚鸭子类型,即‘如果看起来像、叫声像而且走起路来像鸭子,那么它就是鸭子’ python程序员通常根据这种行为来编写程序。例如,如果想编写现有对象的自定义版本,可以继承该对象 也可以创建一个外观和行为像,但与它无任何关系的全新对象,后者通常用于保存程序组件的松耦合度。 例1:利用标准库中 阅读全文
posted @ 2018-12-31 09:31 赫晓蕊 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 多态是指的多种形态;比如水的多种形态:水,冰多态性:在不考虑实例类型情况下使用实例,多态性分为静态多态性和动态多态性静态多态性:如任何类型都可以用运算符+进行运算 多态:同一类事物的多种形态 import abc class Animal(metaclass=abc.ABCMeta): #同一类事物:动物 @abc.abstractmethod def talk(self): ... 阅读全文
posted @ 2018-12-31 09:28 赫晓蕊 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 抽象类:只能被继承,不能被实例化。作用于继承接口。 import abc # class Animal(metaclass=abc.ABCMeta): # 这个是 抽象类((只能被继承,不能被实例化)) @abc.abstractmethod # def run(self): pass def eat(self): pass cla... 阅读全文
posted @ 2018-12-31 09:25 赫晓蕊 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 组合: 学生有课程:stu.course1=python (stu 与 python都是实例化对象,course1 是变量名,可以变化) 学生有生日:stu.brith=d (stu与d 是实例化的对象,brith是变量名,可以根据意思写其他的) class People: school = 'luffycity' def __init__(self, name, age... 阅读全文
posted @ 2018-12-31 09:23 赫晓蕊 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 在子类派生出的新方法中 重用父类分方法,有2种 1、指名道姓(不依赖继承) 2、super()依赖继承 阅读全文
posted @ 2018-12-31 09:22 赫晓蕊 阅读(358) 评论(0) 推荐(0) 编辑
摘要: 继承的实现原理:1、子类会先于父类2、多个父类,会根据列表中的顺序被检查3、如果对于下一个类存在两个合法的选择,选择第一个父类。继承顺序(mro查找顺序) 1、新式类:广度优先2、经典类:深度优先(一条道走到底) 在Python2中 经典类:没有继承object,以及它的子类都称之为经典类 在Python2中 新式类:继承object,以及它的子类都称之为新式类 在Python3中 新式类:都是新... 阅读全文
posted @ 2018-12-31 09:15 赫晓蕊 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 派生:即子类自己派生出来的属性子类也可以添加自己新的属性或者在自己这里重新定义这些属性(不会影响到父类),需要注意的是,一旦重新定义了自己的属性且与父类重名,那么调用新增的属性时,就以自己为准了。 class Hero: def __init__(self,nickname,life_value,aggresivity): self.nickname=nickname ... 阅读全文
posted @ 2018-12-31 09:11 赫晓蕊 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 继承:子类继承父类,可以分为单继承,与多继承。子类继承父类,可以减少重复代码。 阅读全文
posted @ 2018-12-31 08:56 赫晓蕊 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 练习:编写一个学生类,产生一堆学生对象要求:有一个计数器(属性),统计总共实力化多少个对象 class Student: school = 'luffycity' count = 0 def __init__(self, name, sex, age): # 独有特征 self.Name = name self.Sex = sex ... 阅读全文
posted @ 2018-12-31 08:52 赫晓蕊 阅读(158) 评论(0) 推荐(0) 编辑
摘要: class Chinese: country = 'China' def __init__(self, name, sex, age): self.Name = name self.Sex = sex self.Age = age def eat(self): print('%s is eatting' ... 阅读全文
posted @ 2018-12-31 08:49 赫晓蕊 阅读(109) 评论(0) 推荐(0) 编辑
摘要: python 一切皆对象,在Python3里统一类 与 类型的概念 阅读全文
posted @ 2018-12-31 08:28 赫晓蕊 阅读(96) 评论(0) 推荐(0) 编辑
摘要: """ 在现实世界中: 对象1:王二丫 特征: 学校='luffycity' 名字=王二丫 性别=女 年龄=18 技能: 吃饭 学习 对象2:张铁蛋 特征: 学校='luffycity' 名字=李三胖 性别=男 ... 阅读全文
posted @ 2018-12-31 08:26 赫晓蕊 阅读(118) 评论(0) 推荐(0) 编辑
摘要: # 类变量在定义阶段就会执行 class Luffycity: school = 'students' def eat(self): print('is eatting') def sleep(self): print('is sleeping') def learn(self): print('is lear... 阅读全文
posted @ 2018-12-31 08:21 赫晓蕊 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 类是一系列对象相似的特征与技能的结合体。 对象是特征与技能的结合体。 在程序中:务必保证先定义类,后产生对象 阅读全文
posted @ 2018-12-31 08:19 赫晓蕊 阅读(99) 评论(0) 推荐(0) 编辑

导航