函数
- 函数的定义与调用
def say_hello(): print('hello') say_hello() def print_max(a,b): if a>b: print(a,'is max') elif a==b: print(a,'is equal to',b) else: print(b,'is max') print_max(3,4) x=7 y=7 print_max(x,y)
结果:
-
局部变量与全局变量
x=50 def func(): global x,y print('x is',x) x=2 y=3 print('change x y to',x,y) func() print('value of x y is',x,y)
结果:
-
默认参数值与关键字参数
def say(message,times=1): print(message*times) say('hello') say('world',5)
结果:
参数值列表中后面的可以默认,但前面的不行。即默认参数值不能在无默认参数值的前面。
4.字符串
str='Runoob'
print(str) # 输出字符串
print(str[0:-1]) # 输出第一个到倒数第二个的所有字符
print(str[0]) # 输出字符串第一个字符
print(str[2:5]) # 输出从第三个开始到第五个的字符
print(str[2:]) # 输出从第三个开始的后的所有字符
print(str * 2) # 输出字符串两次
print(str + '你好') # 连接字符串
print('------------------------------')
print('hello\nrunoob') # 使用反斜杠(\)+n转义特殊字符
print(r'hello\nrunoob') # 在字符串前面添加一个 r,表示原始字符串,不会发生转义
字符串可以用“+”连结,用“*”重复次数,最后一个字符用“-1”表示
关键字参数可以取向狙击
def newfunc(a,b=5,c=10):
print('a is',a,'and b is',b,'and c is',c)
newfunc(3,7)
newfunc(25,c=24)
newfunc(c=50,a=100)
结果:
5.可变参数(元组与字典)
def total(a=5,*numbers,**phonebook):
print('a',a)
for single_item in numbers:
print('single_item',single_item)
for first_part,second_part in phonebook.items():
print(first_part,second_part)
print(total(10,1,2,3,Jack=1123,John=22331,Inge=1500))
结果:
注意这个none从何而来呢?事实上每个python程序的末尾都会隐式地多出一个“none”但如果你直接调用一个函数而不使用其返回值的话其实是不会发现的,但若使用返回值如print(func)则会一并打印出“none”
def max(x,y):
if x>y:
return x
elif x==y:
return 'The numbers are equal'
else:
return y
print(max(2,3))
结果:
def max(x,y):
if x>y:
return x
elif x==y:
return 'The numbers are equal'
else:
return
print(max(2,3))
结果:
def some_function():
pass
print(some_function())
结果:
def some_function():
print(some_function())
结果:报错
可见空函数需要加入pass来占行
def print_max(x,y):
'''打印这两个数的最大数。
这两个数都是整数'''
x=int(x)
y=int(y)
if x>y:
print(x,'is max')
else:
print(y,'is max')
print_max(3,5)
print(print_max.__doc__)
结果: