随笔分类 - Python
发表于 2019-08-19 17:25阅读:307评论:0推荐:0
摘要:需求 一个加法函数,想增强它的功能,能够输出被调用过以及调用过参数的信息 以上函数完成了需求,但是存在以下缺点: 打印语法的耦合太高 加法函数属于业务功能,而输出信息的功能,属于非业务功能代码,不该放在业务函数加法中 业务功能分离 但这里fn调用传参是个问题 解决传参的问题 柯里化 装饰器语法糖 @
阅读全文 »
发表于 2019-08-19 13:30阅读:387评论:0推荐:0
摘要:高阶函数 First Class Object 函数在python中是一等公民 函数也是对象,可调用的对象 函数可作为普通变量、参数、返回值等等 高阶函数 数学概念 y=g(f(x)) 在数学和计算机科学中,高阶函数应当是至少满足下面一个条件的函数 接受一个或多个函数作为参数 输出一个函数 接受一个
阅读全文 »
发表于 2019-08-16 17:03阅读:1101评论:0推荐:0
摘要:生成器generator 生成器指的是生成器对象,可以由生成器表达式得到,也可以使用yield关键字得到一个生成器函数,调用这个函数得到一个生成器对象 生成器函数 函数体中包含yield语句的函数,返回生成器对象 生成器对象,是一个可迭代对象,是一个迭代器 生成器对象,是延迟计算,惰性求值 举例:
阅读全文 »
发表于 2019-08-14 14:41阅读:372评论:0推荐:0
摘要:1、理解函数执行流程 执行结果 全局帧中生成foo1、foo2、foo3、main函数对象 main函数调用 main中查找内建函数print压栈,将常量字符串压栈,调用函数,弹出栈顶 main中全局查找函数foo1压栈,将常量100、101压栈,调用函数foo1,创建栈帧,print函数压栈,字符
阅读全文 »
发表于 2019-07-25 13:54阅读:2785评论:0推荐:0
摘要:函数返回值 多条return语句: 总结: python函数使用return语句返回“返回值” 所有函数都有返回值,如果没有return语句,隐式调用return None return 语句并不一定是函数的语句块的最后一条 一个函数可以存在多个return语句,但只有一条可以被执行,如果没有一条r
阅读全文 »
发表于 2019-07-23 17:19阅读:491评论:0推荐:0
摘要:1、编写一个函数,接受一个参数n,n为正整数,左右两种打印方 式。要求数字必须对齐 正三角 倒三角 实现思路: 思路1、一行一行打印,前面追加空格,每一个空格的宽度等于数字字符串的宽度 思路2、切割打印,首先每个数字隔一个空格,获取长度,当遇到遇到一个空格,就把前面全部补成空格后面数字和空格全部打印
阅读全文 »
发表于 2019-07-23 12:21阅读:1037评论:0推荐:0
摘要:函数 数学定义 y=f(x), y是x函数,x是自变量。y=f(x0,x1...xn) Python函数 由若干语句组成的语句块,函数名称,参数列表构成,它是组织代码的最小单位 完成一定的功能 函数作用 结构化编程对代码的最基本的封装,一般按照功能组织一段代码 封装的目的为了复用,减少冗余代码 代码
阅读全文 »
发表于 2019-07-19 18:27阅读:270评论:0推荐:0
摘要:内建函数 标识id 返回对象的唯一标识,CPython返回内存地址 哈希hash 返回一个对象哈希 类型type 返回对象的类型 类型转换 float() int() bin() hex() oct() bool() list() tuple() dict() set() complex() byt
阅读全文 »
发表于 2019-07-18 17:42阅读:347评论:0推荐:0
摘要:标准库datetime datetime模块 对日期、时间、时间戳的处理 datetime类 类方法 today() 返回本地时区当前时间的datetime对象 now(tz=None) 返回当前时间的datetiem对象,时间到微秒,如果tz为None,返回和today()一样 utcnow()
阅读全文 »
发表于 2019-07-18 10:18阅读:408评论:0推荐:0
摘要:字典dict key value 键值对的数据集合 可变的、无序的、key不重复 字典dict定义 初始化 d = dict() 或者 d = {} dict(**kwargs) 使用name=value对初始化一个字典 dict(iterable,**kwarg) 使用可迭代对象和name= va
阅读全文 »
发表于 2019-07-17 15:00阅读:2401评论:0推荐:0
摘要:集合set 可变的 无序的 不重复的元素集合 set定义 初始化 set() 生成一个空集合 set(iterable) 可通过可迭代对象生产一个新的集合 set的元素要求必须可以hash 目前学过的不可hash的类型有list、set 元素不可以索引 set可以迭代 set增加 add(elem)
阅读全文 »
发表于 2019-07-16 20:49阅读:2010评论:0推荐:0
摘要:封装 将多个值使用逗号分割,组合在一起 本质上,返回一个元组,只是省略了小括号 python的特有的语法,被很多语言学习借鉴 举例: 解构 把线性结构的元素解开,并顺序的赋给其他变量 左边接纳的变量数要和右边解开的元素个数一致 举例 其他举例: 使用*变量名接收,但不能单独使用 被*变量名 收集后组
阅读全文 »
发表于 2019-07-16 18:15阅读:301评论:0推荐:0
摘要:切片 通过索引区间访问线性结构的一段数据 sequence[start:stop] 表示返回[start,stop]区间的子序列 支持负索引 start为0,可以省略 stop为末尾,可以省略 超过上界(右边界),就取到末尾;超过下界(左边界),取到开头 start一定要早stop的左边 [:]表示
阅读全文 »
发表于 2019-06-24 14:31阅读:398评论:0推荐:0
摘要:字符串 一个个字符组成的有序的序列,是字符的集合 使用单引号,双引号,三引号引住的字符序列 字符串是不可变对象 Python3起,字符串就是Unicode类型 字符串定义 初始化 s1 = 'string' s2 = 'string2' s3 = ''' this's a "string" '''
阅读全文 »
发表于 2019-05-28 15:03阅读:327评论:0推荐:0
摘要:数据类型: 数值型 int float complex bool 序列对象 字符串 str 列表 list 元组 tuple 键值对 集合 set 字典dict 数值型: int、float、complex、bool都是class,1、5.0、2+3j都是对象既实例 int:python3的int就
阅读全文 »
发表于 2019-05-13 15:22阅读:463评论:0推荐:0
摘要:内存管理 1、变量无须事先声明,也不需要指定类型 2、python编程中一般无须关心变量的存亡,一般也不用关心内存的管理 3、python使用引用计数记录所有对象的引用计数 当对象引用数变为0,他就可以被垃圾回收GC 计数增加:赋值给其它变量就增加引用计数,例如:x=3;y=x 计数减少: 有关性能
阅读全文 »
发表于 2019-04-29 14:51阅读:1133评论:0推荐:0
摘要:基础语法 1、注释 “#”标注的文件 2、数字 整数,不区分long和int 浮点数 复数 3、字符串 使用' "单双引号引用的字符的序列 """和'''单双三引号,可以跨行,可以在其中自由的使用单双引号 在字符串前面加上r或者R前缀,表示该字符串不做特殊处理 4、转义序列 \\ \t \r \n
阅读全文 »
发表于 2017-08-12 22:50阅读:427评论:1推荐:0
摘要:Python基础 1、Python介绍 2、安装 3、Hello World程序 4、变量 5、用户输入 6、表达式if ...else语句 7、表达式for 循环 8、表达式while 循环 9、数据类型初识 10、运算符 1、Python介绍 Python是一种面向对象、直译式的电脑程序语言。它
阅读全文 »