python学习笔记(三) 实现switch,内建函数,模块和包
来源:互联网 发布:安卓家长控制 源码 编辑:程序博客网 时间:2024/05/21 10:01
python学习笔记(三)
实现switch
python中没有switch,我们可以使用字典跟函数实现
def add(x,y): return x+ydef sub(x,y): return x-yoperator = {"+":add,"-":sub}def f(x,o,y): return operator.get(o)(x,y)print operator.get('+')(1,2)print f(1,'+',2)
简化x=1y=2result = { "+":x+y, "-":x-y, "*":x*y, "/":x/y }print result.get("+")
内建函数
一些常用函数
运算:abs() max() min() len()divmod() 取两个数的商和余数 列 divmod(5,2) 产生 (2, 1)pow() pow(x, y[, z]) 返回 (x**y) % zround() round(number[, ndigits]) 返回一个浮点数callable() 判断某一个函数是否可被调用type() 返回变量是什么类型的isinstance() 判断变量类型 例子 isinstance(l,list) 返回True或Falsecmp() 比较两个字符串range() 生成序列xrange()类型转化:type() int() long() float() complex() str() list() tuple() hex() oct() chr() ord()字符串处理
str.capitalize() 把首字母变大写str.replace() 替换str.split() 切割 例子:>>> ip='192.168.1.1'
>>> ip.split('.')
['192', '168', '1', '1']引入string模块import string用法 例如:>>> string.replace('www','w','a')
'aaa'序列处理
filter() filter(function or None, sequence) 把参数函数返回True的值保留zip() 选择最短的列表进行并行便利例如:name=['wang','zhang','li']age=[18,19,20]sex=['x','y','x']print zip(name,age,sex)输出: [('wang', 18, 'x'), ('zhang', 19, 'y'), ('li', 20, 'x')]如果sex=['x','y']只会输出 [('wang', 18, 'x'), ('zhang', 19, 'y')]map() 比zip()多了个函数函数,可以把列表并行便利的值传给这个函[('wang', 18, 'x'), ('zhang', 19, 'y')]数例子:a=[1,2,3]b=[2,3,4]def f(x,y): return x*yprint map(f,a,b)输出[2, 6, 12]如果有一个比其他的少并且函数参数是None,map会自动部Nonea=[1,2,3]b=[2,3]print map(None,a,b)[(1, 2), (2, 3), (3, None)]reduce() 递归 具体见help(reduce)
模块
同一目录有cal.py 跟 1.py文件cal.pydef add(x,y): return x+ydef sub(x,y): return x-yprint add(2,3)~1.pyimport cal运行1.py可以看见
add(2,3)的结果,说明,import cal是把cal.py 代码加到了1.py中如果在1.py 用cal.py 的函数得要加上 cal.xxximport calprint cal.add(1,2)print cal.sub(1,2)
如果想让cal.py 中的add(2,3)直接调用就执行,improt就不执行可以写成:def add(x,y): return x+ydef sub(x,y): return x-yif __name__=="__main__": print add(2,3)__name__是python内置变量,如果cal.py是直接执行就是__main__,如果不是__name__就是calimport cal as cc.add(1,2)可以为模块取别名from cal imoprt add这样就不用 cal.add(1,2) 直接add(1,2)就行李
包
创建包的步骤:
建立一个文件夹,文件夹名字就是包名在该文件夹下创建一个__init__.py文件根据需要在该文件夹下存放脚本文件,已编译扩展及子包。
导入包 就是 improt 报名.模块名
1 0
- python学习笔记(三) 实现switch,内建函数,模块和包
- Python学习笔记(三)-标准内建函数
- Python 视频学习 21-24 switch 内建函数
- Python学习笔记(七):模块和包
- python 学习笔记(4) python函数和模块
- python学习笔记13(模块、包)
- Python学习笔记(1) -- Python内建函数文档
- 【Python学习笔记】-模块、包
- Python学习笔记(三)Python模块、模块导入和重载
- Python学习笔记(三)函数初识和内置函数
- python学习笔记三 模块
- Python学习笔记(三)函数、面向对象、模块发布
- python基础学习之函数(2)-内嵌函数和闭包
- Python 学习笔记(四):常用内建模块和第三方模块
- Python学习笔记(三)--Python函数
- python模块学习之模块和包
- python学习笔记(三):常用函数和运算优先级
- 零基础入门学习Python(11):内嵌函数、闭包和变量作用域
- ARM 汇编指令
- Android TabHost实现简单标签页
- Android中获取应用程序(包)的信息--PackageManager的使用
- ORA-04030: out of process memory when trying to allocate
- 论文里的摘要和引言的区别
- python学习笔记(三) 实现switch,内建函数,模块和包
- mySQL写入中文乱码 免重装 处理character_set_server编码
- Spring中几种属性的配置
- 11111111111
- java反射--如何改变private中的变量及方法
- pcDuino上使用3G无线上网卡(华为E303s)
- OpenCV编程->ROI区域保存为图片
- dom4j解析xml字符串实例
- sqlserver 一张表两列都的值都相同处理