- 博客(11)
- 收藏
- 关注
原创 元类
一、execexec(object,globals,locals)中有三个参数:object:字符串形式的命令,即一段字符串形式的代码globals:全局作用域,必须是字典形式的;如不指定,默认为globalslocals:局部作用域,必须是字典;如不指定,默认localsg = {'x':1,'y':2}l = {}exec('''global x,mx = 100m = 1...
2019-07-23 11:48:50
127
原创 property
property是一种特殊的属性,访问它时会执行一段功能(函数)然后返回值将一个类的函数定义成特性以后,对象再去使用的时候obj.name,根本无法察觉自己的name是执行了一个函数然后计算出来的,这种特性的使用方式遵循了统一访问的原则class People: def __init__(self,name,weight,height): self.__name = ...
2019-03-10 00:04:58
162
原创 封装
属性隐藏在python中用双下划线开头的方式将属性隐藏起来(设置成私有的)# 隐藏属性# 其实这仅仅这是一种变形操作# 类中所有双下划线开头的名称如__x都会自动变形成:_类名__x的形式:# A._A__a是可以访问到的,即这种操作并不是严格意义上的限制外部访问,仅仅只是一种语法意义上的变形class A: __a = 3 # 在定义...
2019-03-06 00:40:17
173
原创 抽象类和多态
一、抽象类抽象类是一个特殊的类,它的特殊之处在于只能被继承,不能被实例化从实现角度来看,抽象类与普通类的不同之处在于:抽象类中只能有抽象方法(没有实现功能),该类不能被实例化,只能被继承,且子类必须实现抽象方法。这一点与接口有点类似,但其实是不同的。# 导入abc模块实现抽象类import abc# 定义抽象类,抽象类不能被实例化class Animal(metaclass = ab...
2019-03-04 23:34:12
1094
原创 类的继承、派生和组合
一、继承继承指的是类与类之间的关系,是一种什么“是”什么的关系,继承的功能之一就是用来解决代码重用问题。继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又称之为基类或超类,新建的类称为派生类或子类。class ParentClass1: #定义父类 passclass ParentClass2: #定义父类 passclass SubC...
2019-03-04 01:25:11
660
原创 面向对象和面向过程编程
一、面向过程编程面向过程:核心“过程”,实质是将需要实现的功能分成多个功能段,然后在按照特定的顺序去执行这些功能段,从而实现要求功能优点:复杂问题流程化,将简单的问题简单化缺点:可扩展性差,维护难度会高用途:用于那些功能一旦实现之后就很少需要改变的场景,如,写一些简单的脚本程序二、、面向对象编程对象:特征和技能集合的个体面向对象的核心是‘对象’;优点:使程序更加容易扩展和易更改,使...
2019-03-02 00:52:49
467
原创 内置函数
内置函数截止到python版本3.6.2,现在python一共为我们提供了68个内置函数。它们就是python提供给你直接可以拿来使用的所有函数。 abs() 取绝对值 dict() 把数据转成字典 help() min()取列表里最小值 max()取列表里最大值 all() 集合里数据都是真则返...
2019-02-28 00:01:20
1484
原创 包和模块
一、模块1、什么是模块在Python中,一个.py文件就称之为一个模块模块分为三种:1、内置标准模块(又称标准库)执行help(‘modules’)查看所有python自带模块列表2、第三方开源模块,可通过pip install 模块名 联网安装3、自定义模块使用模块好处:1、最大的好处是大大提高了代码的可维护性。其次,编写代码不必从零开始。当一个模块编写完毕,就可以被其他地方引 ...
2019-02-27 22:59:27
178
原创 常用模块
一、time模块1、time模块中表示时间的格式:(1)、timestamp时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量(2)、format time 格式化时间,已格式化的结构使时间更具可读性。包括自定义格式和固定格式。(3)、struct_time时间元组,共有九个元素组。如下表: 索引 属性 值 ...
2019-02-26 00:02:26
241
原创 迭代器和生成器
一、列表生成式将一个列表每个元素加11.普通方法a = [1,2,3,4,5,6,7,8,9]for index , i in a: a[index] = i + 1print(a)2.map方法a = [1,2,3,4,5,6,7,8,9]a = map(lambda x:x+1,a)print(a) # 此时a变成了一个对象(<map object a...
2019-02-23 00:28:09
184
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人