python:函数和循环判断
输出显示
先说一下最基础的输出:
print('hello world')
唯一值得提到是字符串的format函数。
format函数代替了C中的%s。
print('{0} say:{0} {1}。'.format('python', 'hello world'))
{0}是format的第一个字符串,{1}是format的第二个字符串。
IF判断
if 1 > 2: print('1>2') else: print('1<=2')
在if判断中,还有elif,在之后的联系中,可能会用。
for循环
for item in [1, 2, 3]: print(item)
for item in [1, 2, 3]: print(item) if item == 2: break else: print(5)
在这里我们要注意,for循环中还可以加else,我在C++,java中都没有遇见怎么好用的功能,只有全部循环完成,才能执行else;当break时,就不能执行else。
函数
普通参数
def f1(name): print('hello', name) f1('alex')
默认参数
def f1(name='no name'): print('hello', name) f1()
默认参数无参数传入也可以运行
还有两种是普通参数和默认参数的延伸——收集参数。
收集参数
def f2(*args): print(type(args)) for i in args: print(i) f2('alex', 'alen')
收集参数可以传入好多参数,只要不是关键字参数,没有被默认参数抢走,都会存成tuple。
def f3(**kwargs): print(type(kwargs)) for k, v in kwargs.items(): print(k + '-------' + v) f3(name = 'alex', sex = 'male')
而传进的多余的关键字参数,会存在字典(dictionary)中
关键字参数
在调用函数时,如果要指定传某个参数,而不是按顺序传参数,就用到了关键字参数。
多种参数混合调用的顺序问题
def f4(name, sex = '男', *args, **kwargs): print('my name is {0}'.format(name)) print('my sex is {0}'.format(sex)) for item in args: print(item) for k, v in kwargs.items(): print(k + '-----' + v) f4('alex', hobby = 'ball')
显示的结果
my name is alex
my sex is 男
hobby-----ball
【注意】
这里的顺序不能错,先写普通参数,之后写默认参数,然后是收集参数和关键字参数。