摘要: 文件常用IO操作 打开操作 open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)打开一个文件,返回一个文件对象(流对象)和文件描述符。开发文件失败 阅读全文
posted @ 2019-08-26 16:01 大胖猴 阅读(455) 评论(0) 推荐(0) 编辑
摘要: functools模块 reduce方法: reduce方法 reduce方法,顾名思义就是减少 可迭代对象不能为空,初始值没提供就在可迭代对象中去一个元素 reduce方法,顾名思义就是减少 可迭代对象不能为空,初始值没提供就在可迭代对象中去一个元素 partial方法: 偏函数,把函数部分的参数 阅读全文
posted @ 2019-08-20 14:11 大胖猴 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 函数定义的弊端 python 是动态语言,变量随时可以被赋值,且能赋值为不同类型 python 不是静态编译型语言,变量类型是在运行器决定的 动态语言很灵活,但是这种特性也是弊端 难发现:由于不做任何类型检查,直到运行期问题才显现出来,或者线上运行时才能暴露出问题 难使用:函数的使用者看到函数的时候 阅读全文
posted @ 2019-08-20 13:56 大胖猴 阅读(9477) 评论(0) 推荐(2) 编辑
摘要: 需求 一个加法函数,想增强它的功能,能够输出被调用过以及调用过参数的信息 以上函数完成了需求,但是存在以下缺点: 打印语法的耦合太高 加法函数属于业务功能,而输出信息的功能,属于非业务功能代码,不该放在业务函数加法中 业务功能分离 但这里fn调用传参是个问题 解决传参的问题 柯里化 装饰器语法糖 @ 阅读全文
posted @ 2019-08-19 17:25 大胖猴 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 高阶函数 First Class Object 函数在python中是一等公民 函数也是对象,可调用的对象 函数可作为普通变量、参数、返回值等等 高阶函数 数学概念 y=g(f(x)) 在数学和计算机科学中,高阶函数应当是至少满足下面一个条件的函数 接受一个或多个函数作为参数 输出一个函数 接受一个 阅读全文
posted @ 2019-08-19 13:30 大胖猴 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 生成器generator 生成器指的是生成器对象,可以由生成器表达式得到,也可以使用yield关键字得到一个生成器函数,调用这个函数得到一个生成器对象 生成器函数 函数体中包含yield语句的函数,返回生成器对象 生成器对象,是一个可迭代对象,是一个迭代器 生成器对象,是延迟计算,惰性求值 举例: 阅读全文
posted @ 2019-08-16 17:03 大胖猴 阅读(1095) 评论(0) 推荐(0) 编辑
摘要: 1、理解函数执行流程 执行结果 全局帧中生成foo1、foo2、foo3、main函数对象 main函数调用 main中查找内建函数print压栈,将常量字符串压栈,调用函数,弹出栈顶 main中全局查找函数foo1压栈,将常量100、101压栈,调用函数foo1,创建栈帧,print函数压栈,字符 阅读全文
posted @ 2019-08-14 14:41 大胖猴 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 函数返回值 多条return语句: 总结: python函数使用return语句返回“返回值” 所有函数都有返回值,如果没有return语句,隐式调用return None return 语句并不一定是函数的语句块的最后一条 一个函数可以存在多个return语句,但只有一条可以被执行,如果没有一条r 阅读全文
posted @ 2019-07-25 13:54 大胖猴 阅读(2754) 评论(0) 推荐(0) 编辑
摘要: 1、编写一个函数,接受一个参数n,n为正整数,左右两种打印方 式。要求数字必须对齐 正三角 倒三角 实现思路: 思路1、一行一行打印,前面追加空格,每一个空格的宽度等于数字字符串的宽度 思路2、切割打印,首先每个数字隔一个空格,获取长度,当遇到遇到一个空格,就把前面全部补成空格后面数字和空格全部打印 阅读全文
posted @ 2019-07-23 17:19 大胖猴 阅读(483) 评论(0) 推荐(0) 编辑
摘要: 函数 数学定义 y=f(x), y是x函数,x是自变量。y=f(x0,x1...xn) Python函数 由若干语句组成的语句块,函数名称,参数列表构成,它是组织代码的最小单位 完成一定的功能 函数作用 结构化编程对代码的最基本的封装,一般按照功能组织一段代码 封装的目的为了复用,减少冗余代码 代码 阅读全文
posted @ 2019-07-23 12:21 大胖猴 阅读(1023) 评论(0) 推荐(0) 编辑
摘要: 内建函数 标识id 返回对象的唯一标识,CPython返回内存地址 哈希hash 返回一个对象哈希 类型type 返回对象的类型 类型转换 float() int() bin() hex() oct() bool() list() tuple() dict() set() complex() byt 阅读全文
posted @ 2019-07-19 18:27 大胖猴 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 标准库datetime datetime模块 对日期、时间、时间戳的处理 datetime类 类方法 today() 返回本地时区当前时间的datetime对象 now(tz=None) 返回当前时间的datetiem对象,时间到微秒,如果tz为None,返回和today()一样 utcnow() 阅读全文
posted @ 2019-07-18 17:42 大胖猴 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 字典dict key value 键值对的数据集合 可变的、无序的、key不重复 字典dict定义 初始化 d = dict() 或者 d = {} dict(**kwargs) 使用name=value对初始化一个字典 dict(iterable,**kwarg) 使用可迭代对象和name= va 阅读全文
posted @ 2019-07-18 10:18 大胖猴 阅读(407) 评论(0) 推荐(0) 编辑
摘要: 集合set 可变的 无序的 不重复的元素集合 set定义 初始化 set() 生成一个空集合 set(iterable) 可通过可迭代对象生产一个新的集合 set的元素要求必须可以hash 目前学过的不可hash的类型有list、set 元素不可以索引 set可以迭代 set增加 add(elem) 阅读全文
posted @ 2019-07-17 15:00 大胖猴 阅读(2391) 评论(0) 推荐(0) 编辑
摘要: 封装 将多个值使用逗号分割,组合在一起 本质上,返回一个元组,只是省略了小括号 python的特有的语法,被很多语言学习借鉴 举例: 解构 把线性结构的元素解开,并顺序的赋给其他变量 左边接纳的变量数要和右边解开的元素个数一致 举例 其他举例: 使用*变量名接收,但不能单独使用 被*变量名 收集后组 阅读全文
posted @ 2019-07-16 20:49 大胖猴 阅读(2007) 评论(0) 推荐(0) 编辑