python条件、循环和其他语法

print:
print输出多个变量的时候可以用','隔开,print后面不用跟':'否则会报错。
print 10,20,'杨焕滨'
import的用法:
'''导入模块'''
import re;
'''导入模块的某个 py'''
from re import sub;
'''导入某个模块的所有方法'''
from re import *;
'''导入模块使用别名,后面的代码可以使用rest代替re'''
import re as rest;
if语法:
if __name__ == '__main__' :
num=input( 'Enter a num : ' )
if num> 0 :
print 'This is a positive'
elif num< 0 :
print 'This is a negative'
else :
print 'This is a zero'
while循环:
if __name__ == '__main__' :
name = ''
while not name :
name =raw_input( 'input your name:' )
print '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 )]
print y
print [x*x for x in range( 10 ) if x% 3 == 0 ]
print [(x,y) for x in range( 2 ) for y in range( 2 )]
输出为:
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
[0, 9, 36, 81]
[(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
if __name__ == '__main__' :
x = 1
global_test()
print x
输出结果:
2
r/R开头的字符串:
在Python中以r或R开头的字符串表示原始字符串(非转义),使用以下例子进行说明:
stri=r '\t123'
stri2= '\t123'
print (stri)
print ( stri2 )
输出的结果如下:
\t123
123
在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语句),函数就会被冻结:即函数停在那点等待被激活。函数被激活后就从停止的那点开始执行。
Python中类函数中的参数 self代表实例本身。
b开头的字符串会产生一个bytes类型的列表
rasie 抛出异常
try:...except Exception:...[except: ....[else:...[finally...]]]捕捉异常语法。
if __name__ == '__main__' :
try :
raise Exception( '这是异常!!!' )
except Exception , e:
print e
当捕捉到异常的时候不执行else内的代码,否则执行else内的代码。finally不管是否捕捉到异常都会执行。
如果需要自定义异常类,一定要继承Exception才能使用raise抛出。
例如:
class myException(Exception):
pass
if __name__ == '__main__' :
try :
raise myException
except myException:
print '这是自定义异常!'
else :
print '没有捕捉到!'
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的时候使用逗号','可以不换行:
print 11 ,
print 22
输出:11 22
2.将其他类型转化为tupple类型:
>>>‘a’,
('a',)
表示一个长度为0的元组的时候,一定要在第一个元素后面加',',否则会认为这个元素不是元组类型,不加逗号的情况:
>>>('a')
'a'
return x if condition else y:
如果condition成立return x 否则 return y

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值