py知识(每日更新) 7.12

反射

通过字符串去操作一个对象

字符串: 字符串类型
对象: 实例,类,当前文件(模块),其他模块
hasattr()  #
getattr()  #
setattr()  # 增
delattr()  # 删

函数VS方法

1.通过函数名可以大致判断
print(func)
print(obj.func)
2.通过模块types模块去验证
from types import FunctionType
from types import MethodType
print(isinstance(func, FunctionType))    # 判断是否是函数
print(isinstance(func, MethodType))     #判断是否是方法
# 类名调用fnuc就是一个函数 对象调用func就是方法

# 函数与方法
# 函数: 全部都是显性传参
# 方法: 存在隐性传参

特殊的上下方法

__len__:一个对象之所以可以使用len()函数 根本原因是这个对象从属于的类中有__len__双下方法

__hash_: hash(obj) 会调用obj这个对象的类(基类)的__hash__方法

__str__;__repr__: 展示功能一样, str优先级比repr高 print(obj)直接打印静态属性

__call__ : 对象+() 触发__call__

__eq__ : 对一个类的两个对象进行比较 触发__eq__

__del__ : 析构方法

__new__ : 构造方法

# 创造并返回一个新对象

# 单例模式
# 一个类只能实例化一个对象,无论实例化多少次,内存中都只有一个对象,都只使用这一个对象

__item__ : 对对象进行类似字典的操作

__enter__,__exit__ :

原文地址:https://www.cnblogs.com/lyoko1996/p/11201834.html

时间: 2024-10-29 11:35:23

py知识(每日更新) 7.12的相关文章

py知识(每日更新) 7.30

sql语句的分类 sql语句的分类 # DDL : CREATE ALTER DROP # DML : SELECT INSERT DELETE UPDATE # DCL : GRANT REVOKE 常用sql语句 # 库 # create database 库名; # use 库名 # show tables; # 表 # create table 表名(字段名 类型(长度),...); # desc 表名; # show create table 表名; # alter table 表名

py知识(每日更新) 6.18

万能传参 #当给函数传入的参数数目不定时,之前的穿饭餐方式解决不了问题 #万能参数//动态参数*args 将实参角度: 定义一个函数时* 所有位置参数聚合到一个元祖中. # **kwargs 函数定义是:**讲实参角度所有的关键字参数聚合成一个字典 * 的魔性用法: def func(*args,**kwargs): print(args) print(kwatgs) l1 = [1,2,3] l2 = ["阿萨德","去去去"] 函数形参角度的形参顺序 位置参数&

py知识(每日更新) 7.2

collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter.deque.defaultdict.namedtuple和OrderedDict等. 1.namedtuple: 生成可以使用名字来访问元素内容的tuple 2.deque: 双端队列,可以快速的从另外一侧追加和推出对象 3.Counter: 计数器,主要用来计数 4.OrderedDict: 有序字典 5.defaultdict:

py知识(每日更新) 7.1

包的使用 第一类: ? 执行文件 通过import导入包以及包内的功能 ? 创建一个aaa的包,自行创建一个__init__py文件 ? 创建一个包会发生三件事儿: ? 1.将以XXX包内的__init__py文件加载到内存中 ? 2.创建一个以XXX命名的名称空间. ? 3.通过XXX . 的当时引用__init__的所有的名字. import aaa # 如何在当前文件中,引用aaa包的bbb包? 1.在执行文件写入 import aaa 2. aaa的__init__ 里面写 from a

py知识(每日更新) 7.15

C/S B/S架构 C:client 客户端 B:Browers 浏览器 S:Service 服务端 C/S 客户端与服务器之间的架构 :QQ 微信 APP等 都属于C/S架构 ? 优点:安全性高,个性化设置,功能全面,相应速度快 ? 缺点:开发成本高,维护成本高,面向客户固定 B/S架构属于C/S架构, 浏览器-服务器之间的架构 ? 优点:开发维护成本低,面向用户广泛 ? 缺点: 安全性相对低,响应速度相对较慢,个性化设置单一 互联网通讯的原理 ISO七层协议(五层) ? 1.物理层:一系列的

py知识(每日更新) 7.29

初始数据库 数据库即存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的 数据库是长期存放在计算机内.有组织.可共享的数据集合. 数据库中的数据按一定的数据模型组织.描述和储存,具有较小的冗余度.较高的数据独立性和易扩展性,并可为各种 用户共享 关系型数据库: mysql oracle sqlserver 非关系型数据库: mongeDB redis 库的操作 1. 操作文件夹(库) 增:create database db1 charset utf8; 查:show

py知识(每日更新) 7.31

单表的查询 select * from 表名; select 字段名 from 表名; select 字段名,字段名,字段名 from 表名; select distinct 字段 from 表; # 对查出来的字段进行去重 select emp_name,salary*12 from 表 # 字段salary参与了四则运算 例如:# select concat(字段,'字符串2',字段) from 表 # select concat(emp_name,' : ',salary) as info

py知识(每日更新) 7.26

阻塞,非阻塞,异步,同步与协程 1.阻塞,非阻塞 1.1进程或线程在运行中表现的状态: ①阻塞 ②运行 ③就绪 1.2阻塞: 进程或线程遇到IO阻塞. 程序遇到IO立马会停止(挂起), cpu马上切换,等到IO 结束之后,在执行. 1.3非阻塞: 进程或线程没有IO或者 遇到IO通过某种手段让cpu去执行其他的任务,尽可 能的占用cpu. 2.异步,同步 站在任务发布的角度. 2.1同步 可以从两个方面去看: ①进程或线程间存在间接地相互制约关系 例如有一台打印机,进程A获取这台打印机后,进程B

py知识(每日更新) 6.5

1整数 int 计算和比较 a.bit_length() #求十进制数转换为二进制时所占用的位数 2布尔值 bool True 真 False 假 数字转成布尔值: 0 False 非0 True 字符串转换成布尔值: 空字符串 "" False 非空 True 布尔值转换成数字 True = 1 False = 0 布尔值转换成字符串 True = str(True) False = str(False) 3字符串 作用:存储少量数据 索引(下标):从左向右 0, 1, 2, 3;;