文章分类 - python语法基础
摘要:摘要算法 摘要算法的作用: 使用摘要算法对用户的密码进行加密,将密码变成一串毫无规律的字符串,只要是两串密码有丝毫不同,生成的字符串就也会不同,对相同的数据转换后结果永远相同。 转换的方法和步骤: import hashlib md5=hashlib.md5() #选择转换的算法 md5.updat
阅读全文
摘要:内置的方法有很多,不一定全部都在object中,比如len(),数字无法计算长度,没有len()方法 __str__ 打印一个对象的时候,就是调用对象.__str__ 用于对对象进行打印说明时 直接打印,%s,str() 这些实际调用的都是__str__,__str__的返回值必定是一个字符串 cl
阅读全文
摘要:反射: 反射获取类中变量和方法: 用字符串类型的名字去获取变量,经常用来操作内存中已经存在的变量 class Teacher: dic={'学生':'','教师':''} @classmethod def show_info(cls): print('show_info') ret=getattr(
阅读全文
摘要:staticmethod 静态方法 在完全面向对象的程序中,如果一个函数即没有对象也没有运算关系。就用staticmethod将这个函数变成静态方法。不讲此类实例化就可以调用其中的静态方法。 class Login: def __init__(self,name,pwd): self.name=na
阅读全文
摘要:python的三大特性为:多态,继承和封装。 在封装时,把属性和方法都隐藏起来,不让别人去用。在python中可以使用私有属性来实现封装。 定义私有属性的方法: 在定义类时,给类中的属性前加一个__,该属性就变成类的私有属性,别的对象都无法调用查看,只有在该类中才能调用。 class Person:
阅读全文
摘要:多态: python天生支持多态。 多态的广义理解:一个事物,文件有多种形态。 函数参数传入以及定义时不需要刻意的强调传入参数的数据类型,不同类中的同名方法,在执行时,在子类中执行可以有不同的结果。 鸭子类型: python崇尚鸭子类型:不崇尚根据继承所带来的相似。 鸭子类型:如果需要实现的功能与已
阅读全文
摘要:接口类:python原生不支持的,支持多继承,接口类中的所有方法都必须不能实现 抽象类:python原生支持的,不支持多继承,抽象类中的方法可以有一些代码的实现 抽象类: 把一个类变成抽象类,给父类属性添加@abstractclassmethod后,就必须在其子类中也实现相同的方法,限制子类必须实现
阅读全文
摘要:面向对象的三个基本特征是:继承、多态,封装。这里讲继承。 继承:是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类由称为基类或超类,新建的类称为派生类或子类 查看父类:类名.__banses__ 可以查看该类的父类 如果一个类没有继承任何类,使用类名.__banses__
阅读全文
摘要:组合:即在类实例化时,将另一个类的实例作为参数传入,这样可以将两个实例关联起来。 组合的使用场景:当类之间有显著不同,并且较小的类是较大的类所需要的组件时,用组合比较好。 举例:利用组合求圆环的面积和周长 from math import pi class Circle: def __init__(
阅读全文
摘要:类里可以定义两种属性:静态属性,动态属性,两个属性的作用不一样 每实例化一个对象,该对象都会含有该固定的静态属性。 在实例化对象时,根据传入的参数不同,动态属性也不同,就会导致每个对象的动态属性都不同 class Course: language='Chinese' #静态属性 def __init
阅读全文
摘要:面向对象的优点: 1.解决了程序的扩展性。对某一个对象单独修改,会立刻反映到整个体系中,如对游戏中一个人物参数的特征和技能修改都很容易。 2.面向对象可以使程序的维护和拓展都变得简单,并且可以大大提高程序开发效率。另外,基于面向对象的代码共更容易理解逻辑,使团队开发变得更从容。 初识面向对象: 在p
阅读全文
摘要:程序在执行过程中,不可避免的会出现错误,错误分为两种,语法错误和逻辑错误 语法错误可以避免,但是逻辑错误有时是不可避免的,可以通过捕捉异常来继续完成代码编写 异常捕捉格式: 格式一: try: 代码1except 错误名: 代码2 对代码1进行错误监测,如果代码1没有出错,就不执行代码2;如果代码1
阅读全文
摘要:包:把解决一类问题的模块放到同一个文件夹里,该文件就被称为包,因此包就是一大堆模块的集合 包的导入方法与模块相同,唯一需要注意的是:在导入时凡是带点的,点的左边都必须是一个包,也可以使用一连串的点 import glance.api.policy as policy from glance.api
阅读全文
摘要:import 模块时做的事情: 首先从sys.moduels里查看是否有该模块,若无,在sys.path搜索路径中找到模块,再创建这个模块的命名空间,最后把文件中的名字都放到命名空间里;若已经导入,就不执行 若引入的模块和本地的代码中同名的变量和函数名,模块中的命名空间与本地的命名空间是完全隔离的,
阅读全文
摘要:序列化:将原本的字典,列表等内容转换成一个字符串的过程就叫做序列化 反序列化:从字符串转换成各种数据类型的过程 序列化的目的:1,以某种存储形式使自定义对象持久化2,将对象从一个地方传递到另外一个地方3,使程序更具维护性 具体方法: json 能够转换的数据类型 数字,字符串,列表,字典,元组(集合
阅读全文
摘要:collections模块 在内置数据类型(dict,list,tuple,set)的基础上,collections还提供了几个额外的数据类型: namedtuple,deque,Counter,OrderedDict,defaultdict namedtuple:生成可以使用名字来访问元素内容的t
阅读全文
摘要:匿名函数 匿名函数:为了解决那些功能简单的需求而设计的一句话函数 匿名函数形式:函数名 = lambda 关键字 :函数体(也就是匿名函数的返回值) lambda n:n*n #一个参数 lambda n,m:n*m #多个参数 递归函数 什么是递归:在一个函数中调用自身函数 python从内存角度
阅读全文
摘要:内置函数目录及顺序: 作用域相关:locals(),globals() 迭代器相关:next(),iter(),range() 其他:dir(),callable(),help(),open(),id(),hash(),input(),print() ,exec() ,eval(),compile(
阅读全文
摘要:生成器表达式: 列表推导式 把每次循环时想放入列表的数据形式放在for 语句之前,就能够实现列表推导式 egg_list=['鸡蛋%s'%i for i in range(10)]print(egg_list) 执行结果: ['鸡蛋0', '鸡蛋1', '鸡蛋2', '鸡蛋3', '鸡蛋4', '鸡
阅读全文
摘要:生成器:生成器的本质就是迭代器。 生成器的表现形式: 1.生成器函数 2.生成器表达式 生成器函数 生成器函数本质上就是我们自己写的函数,特点是调用函数不执行,返回一个生成器,调用Next方法时会取到一个值,直到取完左后一个,再执行就会报错。 def generator(): print(1) yi
阅读全文

浙公网安备 33010602011771号