一.反射 反射类中的变量 反射对象中的变量 反射模块中的变量 反射本文件中的变量 .定义:使用字符串数据类型的变量名 来获取这个变量的值 例如: name = 'xiaoming' print(name) # xiaoming print('name') # name 平时我们要想获取'xiaoming'这个值,要用name去获取,但是如果想用字符串'name' 获取这个值呢, 就需要用到反射. .反射应用的场景(就是把接收的字符串转换成变量的名字便于使用) ,input 用户输入的如果是a,那…
python 类(object)的内置函数 # python 类(object)的内置函数 ### 首先 #### 以__双下划线开头的内置函数 __ #### __往往会在某些时候被自动调用,例如之前了解的__next__的函数,和__init__函数, 这类函数 还有一些常用的: #### 1 .isintance 2. issubclass ```python isinstance(obj , cls) class Foo (object): pass obj = Foo () isins…
Python标准库:内置函数hasattr(object, name) 本函数是用来判断对象object的属性(name表示)是否存在.如果属性(name表示)存在,则返回True,否则返回False.参数object是一个对象,参数name是一个属性的字符串表示. 例子: #hasattr() class Foo: def __init__(self): self.x = 123 def test(x): self.x = x foo = Foo() print(hasattr(foo, 'x…
  一.前言 python编程语言里的字符串与我们初期所学的c语言内的字符串还是有一定不同的,比如python字符串里的内置函数就比语言的要多得多:字符串内的书写格式也会有一点差异,例:字符串内含有引号就要在其前面加上一个斜杠,否则就会出错.本次小编就将本人近日所学的字符串内置函数做一次小小的分类和总结. 二.分类 字母处理类 字符串搜索类 字符串替换类 字符串判断类 格式化相关 字符串去空格及去指定字符 注:后面出现的[ ]表示内部参数可写可不写: 三.处理 字母处理类 capitalize(…
一.反射 通过字符串的形式操作对象相关的属性.(使用字符串数据类型的变量名来获取这个变量的值) Python中的一切事物都是对象(都可以使用反射) 反射类中的变量 反射对象中的变量 反射模板中的变量 反射本文件中的变量 用反射的场景: input 网络 文件 #hasattr def hasattr(*args, **kwargs): # real signature unknown """ Return whether the object has an attribute…
一. 反射 1. isinstance()和issubclass() isinstance( 对象名, 类名) : 判断对象所属关系,包括父类  (注:type(对象名) is 类名 : 判断对象所属关系,只包括当前的类.) issubclass(类名, 类名) : 判断类与类之间的继承关系 class A: pass class B(A): pass b = B() print(isinstance(b, B)) # True 判断对象b是否属于B类 print(isinstance(b, A…
什么是内置函数? 就是Python中已经写好了的函数,可以直接使用 内置函数图表: 以3.6.2为例 内置函数分类: 一.反射相关 1.hasattr() 2.getattr() 3.setattr() 4.delattr() 二.基础数据类型相关 1.和数字相关 (1)数据类型 a.bool() 把一个值转换成布尔值 li = ['',[],1,12,0] for i in li: print(bool(i)) # False # False # True # True # False b.i…
内容概要 组合 反射 面向对象的内置函数 异常 内容详细 一.组合 组合:在对象中定义一个属性,属性的值是另一个对象 除了继承父类的方法,这是获取另一个类中属性的另一种方式 如果想给学生对象添加课程属性: 1.直接把课程信息在调用阶段传入的话所需要的实参太多了,而且学生对象多需要不断重复传入 2.把课程信息放在People类里面的__init__初始化会给人的类添加了不属于它的课程属性 3.创建课程类,直接把课程类当作Student类的父类,不符合类的特性:学生不是课程类 所以解决以上方法,可以…
装饰器:装饰器的实质就是一个闭包,而闭包又是嵌套函数的一种.所以也可以理解装饰器是一种特殊的函数.因为程序一般都遵守开放封闭原则,软件在设计初期不可能把所有情况都想到,所以一般软件都支持功能上的扩展,而对源代码的修改是封闭的.开放封闭原则主要体现在两个方面: 对功能扩展开放:意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况. 对源码修改封闭:意味着类一旦设计完成,就可以独立完成其工作,而不要对源码进行任何修改. 对于上述的开放封闭原则有的时候确实很难完成,幸好装饰器可以满足放封闭…
面向对象进阶博客地址链接: http://www.cnblogs.com/Eva-J/articles/7351812.html 复习昨日内容: # 包 # 开发规范 # # hashlib # 登录验证 密文密码检测 # 密文存储 # 加盐 # 动态加盐 # 检测文件一致性 md5 #MD5.update() # configparser : 配置文件相关 #网络编程 ftp #[section1] #o1 = yes # logging : 日志 #记录一些信息和结果 #打日志 #日志就和p…