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的更多相关文章

随机推荐

  1. Linux下安装pymysql

    直接使用pip进行安装: [root@mycentos ~]#pip install pymysql

  2. DOIS 2019 DevOps国际峰会北京站来袭~

    DevOps 国际峰会是国内唯一的国际性 DevOps 技术峰会,由 OSCAR 联盟指导.DevOps 时代社区与高效运维社区联合主办,共邀全球80余名顶级专家畅谈 DevOps 体系与方法.过程与 ...

  3. Eclipse Error Reporting Welcome to the Eclipse Error Reporting Service.Do you want to help Eclipse? Enable Disable

    在开发的时候,使用Eclipse IDE,提示如下信息, 这是Eclipse的错误报告,如果不想发送,可以关闭掉,关闭方法: 选择Preferences -> General -> Err ...

  4. Hdu2041 超级楼梯 (斐波那契数列)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2041 超级楼梯 Time Limit: 2000/1000 MS (Java/Others)    M ...

  5. oracle数据库调整字段顺序

    oracle数据库调整字段顺序 https://blog.csdn.net/xiaobaixie/article/details/77892034

  6. 常用git命令总结 初始化git库操作 git 子模块

    查看 git status 查看状态 Gitk 界面各个版本查看 添加 Git add filename 添加指定文件 Git add . 操作未暂存的文件 Git add -A 操作所有文件 包括删 ...

  7. C#中抽象类和接口的区别与使用

    一.抽象类: 抽象类是特殊的类,只是不能被实例化:除此以外,具有类的其他特性:重要的是抽象类可以包括抽象方法,这是普通类所不能的.抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们.另外 ...

  8. c#高级编程第七版 学习笔记 第三章 对象和类型

    第三章 对象和类型 本章的内容: 类和结构的区别 类成员 按值和按引用传送参数 方法重载 构造函数和静态构造函数 只读字段 部分类 静态类 Object类,其他类型都从该类派生而来 3.1 类和结构 ...

  9. latch release ......

    MainControl_cfg.c brings error:  not defined. /* e_TIMER_MCtrlLatchReleaseTime  */     TIMER_ID_MCtr ...

  10. MySQL5.7 多源复制监控脚本

    #!/bin/bash :<<BLOCK Version : v1.0 2018-12-21 MySQL多源复制检测脚本 监控配置放在 $CONFIG_FILE 中,内容如下 #mysql ...