1、声明及调用
"""def 函数名([形参]):函数体"""
def say():print("hello world")say()def sum_2(a, b):"""两个数求和:return::param a: 参数1:param b: 参数2:return: 两个数的和"""return a + bresult = sum_2(1, 2) #pycharm:鼠标放在调用函数上,按ctrl+Q 可以查看函数文档注释print(result)
注意:需要先定义函数,才能使用,因为python是解释一行,执行一行。
1.1、不带参数
import randomdef generate_random():for i in range(10):ran = random.randint(1, 10)print(ran)generate_random()
1.2、固定参数及返回值
def int_sum(a, b):sum1 = a + bprint(sum1)return sum1int_sum(2, 4)
1.3、可变参数
注意:可变参数必须在后面
def int_sum(*args):print(args) # 元组 (1,2,3)int_sum(1, 2, 3)def int_sum1(a, *args):print(a) # 1print(args) # 元组 (2,3)int_sum1(1, 2, 3)
1.3.1、关键字参数:
注意,需要在 元组参数(*args)后面
def int_sum(a, **kwargs):print(a, kwargs) # 1 {'c': 'sdf', 'b': 2}int_sum(1, c="sdf", b=2)def int_sum1(a, *args, **kwargs):print(a, args, kwargs)tuple1 = (2, 3)dict1 = {"aa": 1, "bb": 2}int_sum1(1, *tuple1, **dict1)
1.4、默认参数
注意:默认参数需要在非默认参数后面
def int_sum(a, b=10, c=8):print(a, b, c)int_sum(1, 2)int_sum(1, c=3)
2、函数变量作用域
a = 1def func():b = 2def inner_func():c = 3print(a, b, c)inner_func()func()
a = 1def func():global ab = 2a += 1print(a)def inner_func():global anonlocal bc = 3a += 100b += 100c += 100print(a, b, c)inner_func()func()
3、装饰器
def decorate(func):a = 12def wrapper(*args, **kwargs):func(*args, **kwargs)print("装饰器---》", a)return wrapper@decoratedef house(name):print("毛坯房",name)house("sdf")
def outer(b):print("b:----", b)def decorate(func):a = 12print("a:----", a)def wrapper(*args, **kwargs):func(*args, **kwargs)print("装饰器---》", a)return wrapperreturn decorate@outer(10)def house(name):print("毛坯房", name)house("sdf")
4、系统函数
4.1、输入:input
变量的输入
name = input("请输入你的名字:")
4.2、查看类型:type
查看变量的类型
pytonp"type(name)print(type(name))
4.3、输出、打印:print
将内容输出到控制台, 打印
# 默认打印会换行print("hello")print("hello", end="") #以""代替换行符,print("hello", end="---") # 以---代替换行符print("world")#格式化输出name = "小明"id = 1age = 18money = 9000.80up = 25print("名字:%s" % name)print("年龄:%d" % age)print("年龄:%06d" % id)print("工资:%f" % money)print("工资:%.2f" % money)print("工资:%.f%%" % up)print("名字:%s,年龄:%d,工资:%.2f" % (name, age, money))-------------名字:小明年龄:18年龄:000001工资:9000.800000工资:9000.80工资:25%名字:小明,年龄:18,工资:9000.80
4.4、类型转换
num = int("123")type(num)num = float("123.0")print(type(num))# 把字符串当初16进制格式转换成整数int("1a2c",16)str(34)bool(100) #Truebool(0) #Falsebool('False') #Truebool('')#Falsebool(None) #False#数字0、空字符串、空列表、空元组、空集合、空字典、空数据None都转为False
4.5、查看对象属性和方法:dir
dir(demo) #查看demo函数的所有属性和方法
4.6、查看变量在内存中地址:id
#查看变量的地址id(name)
4.7、进制转换
bin(8)oct(8)hex(8)
4.8、eval
eval('a=1+1')
将字符串当成代码执行
5、匿名函数


