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. java.lang.ClassCastException: com.sun.proxy.$Proxy* cannot be cast to***

    Spring AOP 有两种代理方法, 一种是常规JDK,一种是CGLIB. 当代理对象实现了至少一个接口时,默认使用JDK动态创建代理对象: 当代理对象没有实现任何接口时,就会使用CGLIB方法. ...

  2. 基于ROS和python,通过TCP通信协议,完成键盘无线控制移动机器人运动

    一.所需工具包 1.ROS键盘包:teleop_twist_keyboard 2.TCP通讯包:socket $ cd ~/catkin_ws/src $ git clone https://gith ...

  3. ELK学习笔记之基于kakfa (confluent)搭建ELK

    0x00 概述 测试搭建一个使用kafka作为消息队列的ELK环境,数据采集转换实现结构如下: F5 HSL–>logstash(流处理)–> kafka –>elasticsear ...

  4. java面试题汇总(有的题无视即可,没什么实际用途)

    相关概念 面向对象的三个特征 封装,继承,多态,这个应该是人人皆知,有时候也会加上抽象. 多态的好处 允许不同类对象对同一消息做出响应,即同一消息可以根据发送对象的不同而采用多种不同的行为方式(发送消 ...

  5. WIN10下,JAVA安装及环境变量配置(cmd可以运行java,却不能运行javac)

    1.安装JDK 选择安装目录 安装过程中会出现两次 安装提示 . 第一次是安装 jdk ,第二次是安装 jre .建议两个都安装在同一个java文件夹中的不同文件夹中.(不能都安装在java文件夹的根 ...

  6. ★Pandas 零碎知识

    1 修改属性 1.1 修改1列的类型属性: df['总金额'] = pd.to_numeric(df['总金额']) #转变dataframe的1列为数值型 1.2 多列设为数值型:(使用DataFr ...

  7. 对比Python中_,__,xx__xx

      对比Python中_,__,xx__xx _ 的含义 不应该在类的外面访问,也不会被from M import * 导入. Python中不存在真正的私有方法.为了实现类似于c++中私有方法,可以 ...

  8. 剑指offer(56)删除链表中重复的节点

    一直忘记更新了,把剑指offer更新完吧.... 题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3-&g ...

  9. yum downloadonly模式,保存所需软件及其依赖包

    command: sudo yum install --downloadonly --downloaddir='yourderictory'

  10. Learning-Python【2】:简单介绍Python基本数据类型及程序交互

    人类可以很容易的分清数字与字符的区别,但是计算机并不能,计算机虽然很强大,但在某些方面很笨,你得明确的告诉它,“1”是数字,“我”是文字.否则计算机是分不清的.因此,在每个编程语言中都会有数据类型的概 ...