python条件、循环和其他语法
2015-12-09 00:02
447 查看
print: print输出多个变量的时候可以用','隔开,print后面不用跟':'否则会报错。 print 10,20,'杨焕滨' |
import的用法: [align=left]'''导入模块'''[/align] import re; '''导入模块的某个 py''' from re import sub; [align=left]'''导入某个模块的所有方法'''[/align] from re import *; [align=left]'''导入模块使用别名,后面的代码可以使用rest代替re'''[/align] import re as rest; |
if语法: if __name__ == '__main__': num=input( 'Enter a num : ') if num>0 : 'This is a positive' elif num<0: 'This is a negative' [align=left]else:[/align] 'This is a zero' |
while循环: if __name__ == '__main__': name ='' while not name : name =raw_input('input your name:') 'hello %s!' % name |
while....else:while循环结束执行else。 |
for 循环: for number in [1,2,3,4,5]: print number 当 in 后面是dict类型的时候,for ... in ...循环不会取出每一项,只会取出字典的key print [x for x in {'a':'b','c':'d'}] 输出:['a', 'c'] |
列表推导式: if __name__ == '__main__': y=[x*x for x in range(10)] y [x*x for x in range(10) if x%3==0] [(x,y) for x in range(2) for y in range(2)] 输出为: [align=left][0, 1, 4, 9, 16, 25, 36, 49, 64, 81][/align] [align=left][0, 9, 36, 81][/align] [(0, 0), (0, 1), (1, 0), (1, 1)] |
del关键字: 删除变量,del x |
exec动态执行字符串Python语句、eval(str)是exec的内建函数: exec 'x=3*5+1' 等价于 x=eval('3*5+1') 最后都能得到x=16 |
def关键字: 定义函数,def add(a,b): return a+b |
[:]有类似于copy.copy的作用,可以复制一个列表或元组给另一个变量,两个变量是两个副本,不指向同一个对象。 但是[:]仅仅限于列表或元组,copy.copy可用范围更广。 例子:namecopy=name[:] |
global关键字: global关键字用于定义全局变量,在函数内部使用的变量使用global声明后,global变量在函数内部的改变会带到函数外。 def global_test(): global x x =x+ 1 [align=left][/align] if __name__ == '__main__': x =1 [align=left]global_test()[/align] x 输出结果: 2 |
r/R开头的字符串: 在Python中以r或R开头的字符串表示原始字符串(非转义),使用以下例子进行说明: [align=left]stri=r'\t123'[/align] [align=left]stri2='\t123'[/align] [align=left]print(stri)[/align] [align=left]print(stri2)[/align] 输出的结果如下: [align=left]\t123[/align] [align=left]123[/align] 在Python的re模块,也就是正则表达式中大量的经常使用r开头的字符串作为匹配模式,这是因为在正则表达式中‘\’是转义字符,字符串中‘\’也是转义字符,为了避免Python使用正则表达式的时候和Java一样使用正则表达式的转义字符需要‘\\’,所以在字符串的开头用r将移除字符串中'\'的转义功能。 |
判断条件(真/假)情况总结: 代码块: block= ? if block : print( "True") else:print ("False") ?用以下符号代替,最后的输出结果为 False,即以下情况在Python中都代表了 假: [] {} None ''(单引号) () (0) 0 ""(双引号) ''''''(三引号) 也就是在表示空的变量情况下,使用的判断结果都为False。其余情况下判断为True。 |
pass关键字:空语句。 |
break、continue:同其他语言用法 |
快速获得列表的值:>>> array = [ 1 , 2 , 5 , 3 , 6 , 8 , 4 ] >>> array[ 1 :] #列出1以后的 [ 2 , 5 , 3 , 6 , 8 , 4 ] >>> array[: - 1 ] #列出-1之前的 [ 1 , 2 , 5 , 3 , 6 , 8 ] >>> array[:: 2 ] [ 1 , 5 , 6 , 4 ] >>> array[ 2 ::] [ 5 , 3 , 6 , 8 , 4 ] >>> array[:: 3 ] [ 1 , 3 , 4 ] >>> array[:: - 1 ] [ 4 , 8 , 6 , 3 , 5 , 2 , 1 ] >>> array[:: - 2 ] [ 4 , 6 , 5 , 1 ] |
yield关键字: 任何包含yeild语句的函数称为生成器。除了名字不同意外,它的行为和普通的函数也有很大的区别。这就在于它不像return那样返回,而是每次产生多个值。每产生一个值(使用yield语句),函数就会被冻结:即函数停在那点等待被激活。函数被激活后就从停止的那点开始执行。 博客详细说明:/article/8889439.html |
Python中类函数中的参数self代表实例本身。 |
b开头的字符串会产生一个bytes类型的列表 |
rasie 抛出异常 |
try:...except Exception:...[except: ....[else:...[finally...]]]捕捉异常语法。 if __name__ == '__main__': [align=left]try :[/align] raise Exception( '这是异常!!!') except Exception , e: [align=left]print e[/align] 当捕捉到异常的时候不执行else内的代码,否则执行else内的代码。finally不管是否捕捉到异常都会执行。 如果需要自定义异常类,一定要继承Exception才能使用raise抛出。 例如: class myException(Exception): [align=left]pass[/align] [align=left][/align] if __name__ == '__main__': try : raise myException except myException: '这是自定义异常!' [align=left]else:[/align] '没有捕捉到!' |
Python特殊语法:filter、map、reduce、lambda[转] lambda表达式返回一个函数对象 例子: func = lambda x,y:x+y func相当于下面这个函数 def func(x,y): return x+y 注意def是语句而lambda是表达式 下面这种情况下就只能用lambda而不能用def [(lambda x:x*x)(x) for x in range(1,11)] map,reduce,filter中的function都可以用lambda表达式来生成! map(function,sequence) 把sequence中的值当参数逐个传给function,返回一个包含函数执行结果的list。 如果function有两个参数,即map(function,sequence1,sequence2)。 例子: 求1*1,2*2,3*3,4*4 map(lambda x:x*x,range(1,5)) 返回值是[1,4,9,16] reduce(function,sequence) function接收的参数个数只能为2 先把sequence中第一个值和第二个值当参数传给function,再把function的返回值和第三个值当参数传给 function,然后只返回一个结果。 例子: 求1到10的累加 reduce(lambda x,y:x+y,range(1,11)) 返回值是55。 filter(function,sequence) function的返回值只能是True或False 把sequence中的值逐个当参数传给function,如果function(x)的返回值是True,就把x加到filter的返回值里 面。一般来说filter的返回值是list,特殊情况如sequence是string或tuple,则返回值按照sequence的类型。 例子: 找出1到10之间的奇数 filter(lambda x:x%2!=0,range(1,11)) 返回值 [1,3,5,7,9] 如果sequence是一个string filter(lambda x:len(x)!=0,'hello')返回'hello' filter(lambda x:len(x)==0,'hello')返回'' |
','逗号的作用 1.print的时候使用逗号','可以不换行: 11, print22 输出:11 22 2.将其他类型转化为tupple类型: >>>‘a’, ('a',) 表示一个长度为0的元组的时候,一定要在第一个元素后面加',',否则会认为这个元素不是元组类型,不加逗号的情况: >>>('a') 'a' |
return x if condition else y: 如果condition成立return x 否则 return y |
相关文章推荐
- python时间戳转换
- openstack,rf,python杂记
- Python 多进程开发与多线程开发
- Python 多进程开发与多线程开发
- windows下安装ipython说明
- Python多线程/进程:os、sys、Queue、multiprocessing、threading
- Python自定义类
- Python自定义函数及函数参数
- Python运算符
- Python面向对象解析
- Python随笔
- python类中的特殊属性and特殊方法and特殊文件
- Python解析XML
- Python常用全局函数记录
- python算法:rangeBitwiseAnd(连续整数的与)
- Python 常用模块使用
- Python 变量类型自带函数介绍
- Python List 、 tuple和dict
- python numpy 模块学习
- python第三天---collections类