day18_python_1124
01 鸡汤
荷花定律 山竹定律 金蝉定律
荷花定律:
明天比今天要生长多一倍,池塘三十天生长满,第29天是一半。
山竹定律:
竹子在生长时,前三年只出地表3厘米,从第四年开始,以每天30cm的速度开始生长。
基础,根基很重要。
金蝉定律:
蝉 是第四年开始上树,开始nb了。前三年全部都是生活着地下,靠着腐败的叶子生存。
人生大致会遇到7次机会。看你能否抓住,不懂得坚持,不懂得容忍,7次机会,只要能抓住2,3次。
02 上周内容回顾
模块:python给咱们提供的第三方工具。你知道有这样的工具就行,用的时候,看说明书使用。
time:
# 三种时间的转化
time.time()
time.localtime()
time.strftime()
# 时间间隔:
datetime 时间相关
datetime.datetime.now()
计算三天前,三周前后,等等
直接跳转到某一天:19890425
序列化模块
序列化:将一个数据结构 ----> 特殊的字符串(可以用于网络传输)
反序列化:特殊的字符串(可以用于网络传输) ----> 还原成原数据
json :标准 非set
两对四个方法:
json.dumps() json.loads() 用于网络传输 多个数据写入文件
json.dump() json.load() 单个数据写入
{1: 'alex'} ----> {"1": "alex"}
pickle : 只用于python语言之间。
两对四个方法:
pickle.dumps() pickle.loads() 用于网络传输
pickle.dump() pickle.load() 、数据写入
shevel : 通过字典的形式将数据写入文件
hashlib:一大堆算法的集合。
将不定长字符串 ----> 等长的数字的过程。
字符串相同------> 数字相同。
字符串不同------> 结果一定不同。
md5() sha1() sha256()
ret = hashlib.md5()
ret.update('123456'.encode('utf-8'))
ret.hexdigest()
加盐:
ret = hashlib.md5('春哥'.encode('utf-8'))
ret.update('123456'.encode('utf-8'))
ret.hexdigest()
加动态盐:
func = lambda x : x[::2]
ret = hashlib.md5(func('老男孩教育').encode('utf-8'))
ret.update('123456'.encode('utf-8'))
ret.hexdigest()
密码的加密。
文件校验。
os sys:
os 与文件相关 os.remove() os.rename()
os 与文件夹相关:os.mkdir() os.mkdirs()
os 与路径相关:
os.path.xxx filename __file__
os.path.join() 拼接路径
os.path.exist() 路径是否存在
os.path.file() 等等
os.path.listdir()
sys: sys.path
sys.exit()
sys.version()
collctions: 特殊的数据类型
命名元组 双向队列,有序的字典,defualtdict counter
functiontools reduce
random:随机
shutil : 打包压缩 复制文件。
re:
\d
\w
.
*
+
?
a{1,4}
.*?
命名分组 (?P<组名>)
re.split()
xml
03,初识面向对象
04,面向对象的结构
05,类名操作类
06,实例化对象
07,对象操作类
# 02 面向对象初识 # 面向过程与函数对比# s1 = 'fwjeisdkl'# count = 0# for i in s1:# count += 1# l1 = [1,2,3,4] # count = 0# for i in l1:# count += 1 # 函数# def func(s):# count = 0# for i in s:# count += 1# return count # 函数与面向对象编程区别# auth# def login():# pass # def register():# pass # daccount# def func1():# pass # def func2():# pass # 购物车# def shopping(username,money):# pass # def check_paidgoods(username,money): # pass## def check_unpaidgoods(username,money): # pass # def save(username,money):# pass # 面向对象:# 1.面向对象是一类相似功能函数的集合体# 2.更清晰,更规范化# auth# class LoginHandler:# def login(self):# pass # def register(self): # pass # account# class Account:# def func1(self):# pass # def func2(self): # pass # 购物车# class ShoppingCar: # def shopping(username,money): # pass # def check_paidgoods(username,money): # pass # def check_unpaidgoods(username,money): # pass # def save(username,money): # pass # 类,对象。# 类:具有相似功能和技能的一类事物。 人类,犬类,猫类 等等。# 对象:类的具体表现。 # 猫,是一类,你们家养的 大橘。# 鸡,一类,公路上开车,突然飞过来一只野鸡。# 狗, 一类,日天犬是一个具体对象。# 男神,具体太白金星就是具体对象。 # 面向对象# 1,第一个优点:面向对象是一类相似功能函数的集合体。 # 更清晰化,更规范化。# 2,面向对象,必须要站在上帝的角度,去考虑问题,类其实就是一个公共模板,对象就从具体的模板实例化出来。 # 面向对象的结构 '''class 类名(): 变量 函数(方法)''' class Human: ''' 此类主要是构建人类 ''' mind = '有思想' # 静态属性 属性 静态变量 静态字段 language = '使用语言' # dic = {} # lst = [] def __init__(self,name,sex,age,hobby): # 方法 函数 动态属性 self.n = name self.s = sex self.a = age self.h = hobby def work(self): print(self) print('人类会工作') def tools(self): print(self) self.color = 'blue' print('人类都会使用工具') # 类名# 类名操作类中的静态属性。 # 第一种,类名.__dict__方式:查看类中所有内容时用。 # 查:# print(Human.__dict__)# print(Human.__dict__['mind']) #有思想 类似一个dict操作# Human.__dict__['mind'] = '有才' #报错,无法像这样直接改 # 第二种,万能的.可以增删改查类中的静态属性 #查# print(Human.mind) #有思想 #改# Human.mind = '有才'# print(Human.mind) #删# del Human.mind# print(Human.mind) #AttributeError: type object 'Human' has no attribute 'mind' # 增# Human.walk = '直立行走'# print(Human.walk) # 类名操作类中的方法(除去特殊方法:静态方法,类方法之外,一般不会通过类名执行类中的方法)。 # 类名.方法名(参数) # Human.work(111) #111 人类会工作#执行一遍work(),self是默认参数 # 下面可以做,但不用。# Human.__dict__['work'](111) #111 人类会工作 # 对象# 什么是对象?#只要类名() 这个就是一个实例化过程,就会产生一个对象。# obj = Human() # 实例化一个对象到底经历的那些事情? # 1,产生一个空的对象的空间。# print(obj) # <__main__.Human object at 0x0000019BC6A0F828># 2,自动执行类中的 __init__方法并且将这个空的对象空间传给self。# print(obj)# 3,在__init__中通过self给这个空间添加属性。# obj = Human('小胖','男',20,'女')# print(obj.__dict__) # 对象操作对象空间的属性 obj = Human('小胖','男',20,'女') #1, obj.__dict__ 查询对象中所有的属性# print(obj.__dict__) #2, 通过万能的.的方式操作对象中的单个属性。 # 增# obj.job = 'IT'# print(obj.__dict__) # 删# del obj.n# print(obj.__dict__) #改# obj.s = '女'# print(obj.__dict__) #3, 对象可以查询类中的属性。# print(obj.mind)# print(obj.language)# obj.a = 666 #增?# print(obj.a) # 4,对象可以执行类中的方法。 # 对象执行类中的所有方法(除去3个特殊方法)Python解释器都会将对象空间主动传给方法的第一个参数self、# print(obj) #<__main__.Human object at 0x00000000028EE160># obj.work() #<__main__.Human object at 0x000000000290E0F0> 人类会工作#打印地址??? 解决-->print(self)##self_test##obj.tools() #<__main__.Human object at 0x00000000028FE0B8> ##result:work()与tools()不传self,print(self)是同一个 # self:类中方法的第一个形参约定俗成写self 便于统一,self接受的就是对象空间。# print(obj.__dict__) #{'n': '小胖', 's': '男', 'a': 20, 'h': '女'}# obj.tools()# print(obj.__dict__) #{'n': '小胖', 's': '男', 'a': 20, 'h': '女', 'color': 'blue'} # self = [1,2,3]# self.append(666)# obj = self# print(obj,self)# self.append(777)# obj.append(888)# print(obj,self) # 多个对象xiaopang = Human('小胖','男',20,'美女')xiangye = Human('相爷','男',18,'肥女')print(xiangye,xiaopang) #<__main__.Human object at 0x000000000291E198> <__main__.Human object at 0x000000000291E160> #不同print(xiaopang.__dict__)print(xiangye.__dict__)
day18_python_1124的更多相关文章
随机推荐
- 深入理解Java虚拟机4-chap6-斗者1星
一.JVM语言无关性 1.以字节码为基础(Class文件为一组以8位字节为基础单位的二进制流),JVM与Class文件关联,而非与Java语言关联 2.代码编译从本地码(Native Code)转为字 ...
- 从零开始一起学习SLAM | 理解图优化,一步步带你看懂g2o代码
首发于公众号:计算机视觉life 旗下知识星球「从零开始学习SLAM」 这可能是最清晰讲解g2o代码框架的文章 理解图优化,一步步带你看懂g2o框架 小白:师兄师兄,最近我在看SLAM的优化算法,有种 ...
- [ Python ] OpenGL
pyOpenGL Installation Package Version------------------- -------numpy 1.14.2 PyOpenGL 3.1.0 PyOpenGL ...
- count列表中字符出现的次数
如何count列表中字符出现的次数?可以将其生成一个字典.key是列表中的字符串,value是出现的次数 例如gen = [2, 3, 4, 5, 6, 7, 3, 4, 5, 6, 7, 8, 4, ...
- win7共享打印机和防火墙配置
今天给公司一台Win7电脑连接的打印机做共享.办公司共6台电脑,其中1台是连接了打印机,并安装了打印机驱动,可以正常本机使用打印机.现在需要其他5台电脑也共享使用打印机. 1.当共享的时候,提示“无法 ...
- SRCNN
SRCNN(超分辨率卷积神经网络) 网络结构 l Conv1: f1 = 9 *9 activation = ‘relu’ l Conv2: f2 = 1 *1 activation = ‘rel ...
- 实现Runnable接口创建多线程及其优势
实现Runnable接口创建多线程: 创建一个Runnable接口的实现类RunnableImpl: 主线程中: 其中,链式编程的Thread类的静态方法currentThread方法点getName ...
- fpga板制作调试过程记录
2010-09-11 22:49:00 昨天淘宝准备买块fpga核心板学习,为了练习焊接,我让老板给我散料及pcb板自己焊接. 一,在物料到之前的准备: 我先设计了一下焊接测试计划 1,检查电路板:特 ...
- 如何利用cURL和python对服务端和web端进行接口测试
工具描述 cURL是利用URL语法在命令行方式下工作的文件传输工具,是开源爱好者编写维护的免费工具,支持包括Windows.Linux.Mac等数十个操作系统,最新版本为7.27.0,但是我推荐大家使 ...
- D1图论最短路专题
第一题:poj3660 其实是Floyed算法的拓展:Floyd-Wareshall.初始时,若两头牛关系确定则fij = 1. 对于一头牛若确定的关系=n-1,这说明这头牛的排名是确定的. 通过寻找 ...