摘要:
简单说,"函数式编程"是一种"编程范式"(programming paradigm),也就是如何编写程序的方法论。 主要思想是把运算过程尽量写成一系列嵌套的函数调用。举例来说,现在有这样一个数学表达式: (1 + 2) * 3 - 4 传统的过程式编程,可能这样写: var a = 1 + 2; v 阅读全文
摘要:
变量可以指向函数,函数的参数能接受变量,那么一个函数就可以接受另外一个函数作为参数, 这种函数就是高阶函数。 def add(a,b,f): return f(a)+f(b) res=add(3,-6,abs) print(res) f是形参,是abs函数的占位符 内置参数 内置参数 阅读全文
摘要:
在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。 递归特性: 1. 必须有一个明确的结束条件 2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少 3. 递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的 阅读全文
摘要:
全局与局部变量 在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。 全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。 当全局变量与局部变量同名时: 在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。 局部变量只在一个函数内生效。在函数内部定义的不 阅读全文
摘要:
函数参数:形参和实参 形参:表示符,相当于占位符。 实参:真实实际的参数 形参和实参根据位置相对应的。形参和实参的个数不可以少也不可以多。 也可以指定形参等于莫个值: def func(x,y): print(x) print(y) func(y=1,x=2) 位置参数和关键词调用混用时。 关键词不 阅读全文
摘要:
编程方式方法: 面向对象 》类 》定义关键字class 面向过程 >过程 》定义关键字 def 函数式编程 函数 》定义关键字 def 函数:逻辑结构化和过程化的一种编程方法 函数好处:代码重复利用,可扩展,保证一致性 定义函数 def 函数名(参数): 子代码 print('test') retu 阅读全文
摘要:
1.在python2默认编码是ASCII, python3里默认是unicode。可以识别中文 2.unicode 分为 utf-32(占4个字节),utf-16(占两个字节),utf-8(占1-4个字节), so utf-16就是现在最常用的unicode版本, 不过在文件里存的还是utf-8,因 阅读全文
摘要:
对文件操作流程 f=open("路径/文件",'r',encoding="utf-8") .read() 文件句柄. 从头开始读。读完后状态会停留在最后一行 read(5) 读5个字符 打开文件的模式有: "U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使 阅读全文
摘要:
集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集、差集、并集等关系 list1=[1,2,5,6] list1=set[list1] 变成集合 list2=set([5,6,86,9,97,65]) 集合 list1.i 阅读全文
摘要:
字典是一种key-value的数据类型,dict是无序的。key必须是唯一的。不能重复 info={'name':liuhailin,'age':18} print(info['name']) 查,没有报错 info.get('name') 查,没有提示没有 info['name']='zilong 阅读全文
摘要:
字符串特性:不可修改 字符串名:name="liuhailin" 字符串名:name="{liu}hai{lin}" name.capitalize() 首字母大写 name.count("a") 统计字符串a 有几个 name.center(50,"-") 打印50字符,不够用-补上。字符串在中间 阅读全文
摘要:
列表是我们最以后最常用可变有序的数据类型,通过列表可以对数据实现最方便的存储、修改等操作。 切片:取多个元素 追加 插入 修改 删除 扩展 拷贝 统计 排序&翻转 获取下标 元组 元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表 语法: 1 names = ("a 阅读全文
摘要:
三元运算 a,b,c =1,2,3 d=a if a>b else c 如果a大于b,则d等于a,否则c等于b 16进制表示法:后缀 :BH 前缀:0X 二进制换16制:一分为四,每个4位表示一个16进制。 bytes类型(二进制) 字符串与字节数据类型在py3已经清晰区分了 decode解码 en 阅读全文
摘要:
算数运算: 比较运算: 赋值运算: 逻辑运算: 成员运算 身份运算: 位运算: 运算符优先级: % 取模,余数 // 商的整数部分 == 等于,两对象比较 != 不等于 and 两条条件同时满足 or 两条件其中一条满意即可 not 不为真,不在莫个对象中 in 指定在序列中找到返回true,否则返 阅读全文
摘要:
1、数字 2 是一个整数的例子。长整数 不过是大一些的整数。3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3 * 10-4。(-5+4j)和(2.3-4.6j)是复数的例子,其中-5,4为实数,j为虚数,数学中表示复数是什么?。 2 是一个整数的例子。长 阅读全文
摘要:
PyCodeObject和pyc文件是不同的两个概念 我们在硬盘上看到的pyc自然不必多说,而其实PyCodeObject则是Python编译器真正编译成的结果。我们先简单知道就可以了,继续向下看。 当python程序运行时,编译的结果则是保存在位于内存中的PyCodeObject中,当Python 阅读全文
摘要:
Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持。常用模块有os,sys,time等模块 标准库:安装时python自带的库 第三方库:从网站自己下载安装的功能模块 python用import方法导入模块。如下代码: 阅读全文
摘要:
while循环是一种死循环,也可以做条件循环。格式如下: while 条件: 语句 else: 语句 循环10次就退出程序。 for循环格式: for 循环变量 in 遍历对象: 语句 else: 语句 range函数产生一个整数列表。格式如下: range(start,stop,step) 参数如 阅读全文
摘要:
if else 主要用于做条件判断,在python或其他语言中都是应用很广泛的。格式如下: 也有多重条件判断: 比如下面场景: 阅读全文
摘要:
python3中使用的是函数input()进行用户交互,而在py2中是用raw_input函数来进行用户交互。 代码如下所示: 但在一些特定的场景下,可能需要隐藏输入的字符,比如在linux下输入密码时是不可见的。这是我们需要导入getpass模块的getpass方法: 阅读全文