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开头的字符串表示原始字符串(非转义),使用以下例子进行说明:
输出的结果如下:
在Python的re模块,也就是正则表达式中大量的经常使用r开头的字符串作为匹配模式,这是因为在正则表达式中‘\’是转义字符,字符串中‘\’也是转义字符,为了避免Python使用正则表达式的时候和Java一样使用正则表达式的转义字符需要‘\\’,所以在字符串的开头用r将移除字符串中'\'的转义功能。
|
判断条件(真/假)情况总结:
代码块:
?用以下符号代替,最后的输出结果为 False,即以下情况在Python中都代表了 假:
也就是在表示空的变量情况下,使用的判断结果都为False。其余情况下判断为True。
|
pass关键字:空语句。
|
break、continue:同其他语言用法 |
快速获得列表的值:
>>> array
=
[
1
,
2
,
5
,
3
,
6
,
8
,
4
]
[
2
,
5
,
3
,
6
,
8
,
4
]
[
1
,
2
,
5
,
3
,
6
,
8
]
[
1
,
5
,
6
,
4
]
>>> array[
2
::]
[
5
,
3
,
6
,
8
,
4
]
>>> array[::
3
]
[
1
,
3
,
4
]
[
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 222.将其他类型转化为tupple类型: >>>‘a’, ('a',) 表示一个长度为0的元组的时候,一定要在第一个元素后面加',',否则会认为这个元素不是元组类型,不加逗号的情况: >>>('a') 'a' |
return x if condition else y: 如果condition成立return x 否则 return y |
python条件、循环和其他语法
最新推荐文章于 2022-11-05 16:14:36 发布