随笔分类 - Python入门到放弃
摘要:反射 反射指的是在程序运行过程中可以"动态"获取对象的信息。比如判断用户输入的一个字符串是不是一个对象的属性。通过反射可以避免程序使用较为繁琐的 判断,使得代码结构简洁清晰。 ~~~python class Ftp: def get(self): pass def set(self): pass f
阅读全文
posted @ 2020-04-15 22:20
the3times
摘要:在python中,类内定义的函数分为两大类:绑定方法和非绑定方法。 绑定方法 其中绑定方法又分为绑定给对象的对象方法和绑定给类的类方法。 在类中正常定义的函数默认是绑定到对象的,而为某个函数加上装饰器@classmethod后,该函数就绑定给了类。 绑定给对象的方法,对象调用时会将对象作为该方法的第
阅读全文
posted @ 2020-04-10 16:02
the3times
摘要:多态 面向对象的最后一个特性是多态。多态指的是一个事物的具有不同的形态,即多种形态。比如,动物这个类:可以具体表现为猫类,狗类,猪类。 ~~~python class Animal: 同一类事物:动物 def talk(self): pass class Cat(Animal): 动物的形态之一:猫
阅读全文
posted @ 2020-04-10 15:46
the3times
摘要:继承 继承是面向对象思想的另一个特性。它的存在是为了解决类与类之间代码重复的问题。 ~~~python class Student: school_name = 'oldboy' def __init__(self, name, age, sex): self.name = name self.ag
阅读全文
posted @ 2020-04-09 16:06
the3times
摘要:封装 不绕弯子,面向对象的编程思想有三大特性,分别是:封装、继承、多态。 其中,封装是面向对象的最基本的概念。我们之前提到,对象是一个容器,装的是数据和功能。这本身就是一种封装思想,将数据和功能封装到一个对象中。 对象封装了数据和功能,那对象(类)就有了管理数据和功能的权利,即对象或者类可以把数据和
阅读全文
posted @ 2020-04-08 14:54
the3times
摘要:面向对象思想 ~~~python 面向过程的核心是:过程 过程的终极奥义就是将程序流程化 过程是"流水线",用来分步骤解决问题 面向对象的核心是:对象 对象的终极奥义就是将程序"整合" "整合"程序中的数据和功能;对象是"容器",用来盛放数据与功能 许多个对象具有类似的数据和功能,那这些对象是类似的
阅读全文
posted @ 2020-04-07 16:42
the3times
摘要:介绍 本文以 "ATM项目" 为背景,介绍一个比较实用的编程技巧,使用装饰器将项目中的指定函数添加到字典中。 利用字典通过key访问value的特点,实现用户输入编号,通过字典直接获取并调用编号对应的功能函数。 ~~~python 实现的目标:让用户输入使用功能的编号,程序调用相应的函数。 ~~~
阅读全文
posted @ 2020-04-06 16:13
the3times
摘要:三层架构 在项目开发中,清晰明了的结构设计非常重要。它的重要性至少提现在三个方面:结构清晰;可维护性强;可扩展性高。 常用的项目结构设计中,三层架构设计非常实用。这种架构设计模式将整个程序分为三层: 用户视图层:用于与用户交互的,可以接受用户的输入,打印接口返回的数据。 逻辑接口层:接收视图层传递过
阅读全文
posted @ 2020-04-02 21:37
the3times
摘要:logging模块 loggin模块是一个专门用来做日志记录的模块。 初识logging ~~~python 日志等级 CRITICAL = 50 FATAL = CRITICAL ERROR = 40 WARNING = 30 WARN = WARNING INFO = 20 DEBUG = 10
阅读全文
posted @ 2020-04-01 16:26
the3times
摘要:json&pickle模块 序列化&反序列化 ~~~python 序列化 我们把对象(变量)从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling 反序列化 将可存储或传输的数据变成内存中可识别的数据结构或对象的过程称之为反序列化 ~~~ 序列化的目的 ~~~python 1
阅读全文
posted @ 2020-03-31 15:27
the3times
摘要:time模块 python中三种方式表示时间:时间戳、格式化的时间字符串、结构化的时间 ~~~python 1 时间戳:从1970年到现在经过的秒数。作用:用于时间间隔的计算。 res = time.time() 1585552751.8468723 2 格式化的时间字符串 print(time.s
阅读全文
posted @ 2020-03-30 21:24
the3times
摘要:规范的导模块 不要使用 ,这样做会混乱或者说污染当前执行文件的名称空间,难以分辨名字到到底是被导模块的还是当前执行文件名称空间的。 在文件的顶部导模块,且每行一个导入,尽量避免当行导入多个模块或名字。 导入顺序:内置模块、第三方模块、自定义模块。 非顶部导入模块的场景 避免循环导入问题。 只有一个函
阅读全文
posted @ 2020-03-29 16:48
the3times
摘要:为了提高程序的可读性与可维护性,我们应该为软件设计良好的目录结构,这与规范的编码风格同等重要。 软件的目录规范并无硬性标准,只要清晰可读即可。 "参考这篇博客的目录规范介绍"
阅读全文
posted @ 2020-03-29 15:05
the3times
摘要:"友情链接" 什么是包 包是模块的集合。如果把模块比成一个个的python文件,那包就是一个文件夹,里面存放一堆的python文件。 学习包要从两个角度来看, 包的设计者 和 包的使用者 。因为包是模块,所以包的使用和普通模块的使用方式是一样的。 还需要注意,包的目的不是为了运行,而是为了被导入使用
阅读全文
posted @ 2020-03-29 14:59
the3times
摘要:什么是模块 模块是一系列功能体的集合,算是一种代码'封装'的方式。 python脚本文件本身就是一个模块,我们运行一个脚本文件就是在执行该模块里面的代码功能。 ~~~python python中有三类模块: 内置模块:python解释器自带的模块,直接使用 第三方模块:python社区伙伴们开源提供
阅读全文
posted @ 2020-03-26 15:22
the3times
摘要:编程范式 编程范式,指的是编程的方式。更具体点是在解决实际问题时,解决问题的思路在编写代码风格上的的体现。 常见的编程范式: 面向过程:将解决问题的方式流程化,一步一步逐一解决; 函数式:只关注每个环节问题的结果,不关注流程细节; 面向对象:将解决问题角色化,不同的角色具有不同的功能,每个角色配合工
阅读全文
posted @ 2020-03-25 21:36
the3times
摘要:匿名函数就是没有名字的函数,这个没有值得是这个函数可以没有名字,但你给他起名字也是可以的。这也是pythonic。 定义 普通函数用 定义,匿名函数用 定义 ~~~python lambda 参数1, 参数2, ...: expression ~~~ 调用 匿名用于临时调用一次的场景:更多的是将匿名
阅读全文
posted @ 2020-03-25 21:34
the3times
摘要:递归 递归是函数自己调用自己的一种使用方式,是函数嵌套调用的一种特殊形式。 递归的两个条件: 调用自己(直接或间接); 终止条件; 递归的两个阶段: 回溯:一层一层调用下去; 递推:满足给递归结束条件,结束递归调用,然后一层一层返回; 递归应用 ~~~python 遍历列表内的数字 l=[1,2,[
阅读全文
posted @ 2020-03-25 16:30
the3times
摘要:本节主要学习内容有两点: python迭代器 ; for循环原理 。 在介绍这两点前我们要了解什么是 可迭代对象 ,下面依次介绍之。 可迭代对象 可迭代对象(iterable)指的是可以依次返回其内部成员的对象。比如字符串、列表、字典、文件等都是可迭代对象。从语法方面说就是那些具有 的方法的对象,对
阅读全文
posted @ 2020-03-24 16:27
the3times
摘要:python的迭代器很好用,如何自定义一个迭代器呢。有一种方式就是通过生成器的方式来实现迭代器机制。 python中生成器有两种:函数生成器和表达式生成器;我们自定义迭代器需要用到的是生成器函数。 生成器函数很简单,就是将普通函数的 换成 ,修改后这个函数就变成了一个生成器函数。 生成器 生成器ge
阅读全文
posted @ 2020-03-24 16:25
the3times

浙公网安备 33010602011771号