# ~ 函数
使用关键字 def 可以有返回值 直接用return 返回
def print_hello(name):
print('hello '+name)
print_hello('python')
def sum (x,y,z):
return x+y+z
# ~python 中的参数和其他语言有些许不同
# ~ 位置实参
sum(1,2,3)
# ~ 关键字实参
sum(x= 1,y=2,z=3) 顺序可以调换
sum(2,y=2,z=3)
# ~ 任意数量实参
def sum_2(x,z,y=4):
print(x+y+z)
sum_2(2,3)
参数y 存在默认值的时候,可以不传入,如果调用的时候传入,将使用传入的新值
在参数前+* 表示可变参数,可传入0到多个参数
def sum_4(*nums):
result = 0
for n in nums:
result +=n
return result
print(sum_4(2,3))
print(sum_4(3,4,3))
print(sum_4(32,222,33,333))
** 表示传入可变数量的键值对
def create_user(name,age,**params):
user ={}
user['name']= name
user['age']= age
for key,value in params.items():
user[key]=value
return user
user1 = create_user('sunny','15',size='big',color='red')
print(user1)
print(create_user('justin','10',size='small',color='black',weight='100'))
# ~ 返回值
def sum_3(x,y,z):
result = x*y*z
return result
r = sum_3(1,2,3)
print(r)
# ~ 如果列表names作为参数
# ~ names 改变原列表
# ~ names[:] 不改变原列表
# ~ 模块
# ~ 导入 import 模块名 导入整个模块
# ~ 调用 模块名.函数名
module1.py
def foo():
print('窗前明月光')
module2.py
def foo():
print("地上鞋两双")
test.py
import module1
import module2
module1.foo()
module2.foo()
# ~ 设置别名 as
test.py
import module1 as m1
import module2 as m2
m1.foo()
m2.foo()
# ~ from 模块名 import 函数名 导入一个函数
# ~ 调用 直接调函数名即可
test.py
from module1 import foo
foo()
# ~ from 模块名 import * 导入整个模块
# ~ 调用 直接调函数名即可
test.py
from module1 import *
foo()