1、声明及调用

  1. """
  2. def 函数名([形参]):
  3. 函数体
  4. """
  1. def say():
  2. print("hello world")
  3. say()
  4. def sum_2(a, b):
  5. """
  6. 两个数求和
  7. :return:
  8. :param a: 参数1
  9. :param b: 参数2
  10. :return: 两个数的和
  11. """
  12. return a + b
  13. result = sum_2(1, 2) #pycharm:鼠标放在调用函数上,按ctrl+Q 可以查看函数文档注释
  14. print(result)

注意:需要先定义函数,才能使用,因为python是解释一行,执行一行。

1.1、不带参数

  1. import random
  2. def generate_random():
  3. for i in range(10):
  4. ran = random.randint(1, 10)
  5. print(ran)
  6. generate_random()

1.2、固定参数及返回值

  1. def int_sum(a, b):
  2. sum1 = a + b
  3. print(sum1)
  4. return sum1
  5. int_sum(2, 4)

1.3、可变参数

注意:可变参数必须在后面

  1. def int_sum(*args):
  2. print(args) # 元组 (1,2,3)
  3. int_sum(1, 2, 3)
  4. def int_sum1(a, *args):
  5. print(a) # 1
  6. print(args) # 元组 (2,3)
  7. int_sum1(1, 2, 3)

1.3.1、关键字参数:

注意,需要在 元组参数(*args)后面

  1. def int_sum(a, **kwargs):
  2. print(a, kwargs) # 1 {'c': 'sdf', 'b': 2}
  3. int_sum(1, c="sdf", b=2)
  4. def int_sum1(a, *args, **kwargs):
  5. print(a, args, kwargs)
  6. tuple1 = (2, 3)
  7. dict1 = {"aa": 1, "bb": 2}
  8. int_sum1(1, *tuple1, **dict1)

1.4、默认参数

注意:默认参数需要在非默认参数后面

  1. def int_sum(a, b=10, c=8):
  2. print(a, b, c)
  3. int_sum(1, 2)
  4. int_sum(1, c=3)

2、函数变量作用域

  1. a = 1
  2. def func():
  3. b = 2
  4. def inner_func():
  5. c = 3
  6. print(a, b, c)
  7. inner_func()
  8. func()
  1. a = 1
  2. def func():
  3. global a
  4. b = 2
  5. a += 1
  6. print(a)
  7. def inner_func():
  8. global a
  9. nonlocal b
  10. c = 3
  11. a += 100
  12. b += 100
  13. c += 100
  14. print(a, b, c)
  15. inner_func()
  16. func()

3、装饰器

  1. def decorate(func):
  2. a = 12
  3. def wrapper(*args, **kwargs):
  4. func(*args, **kwargs)
  5. print("装饰器---》", a)
  6. return wrapper
  7. @decorate
  8. def house(name):
  9. print("毛坯房",name)
  10. house("sdf")
  1. def outer(b):
  2. print("b:----", b)
  3. def decorate(func):
  4. a = 12
  5. print("a:----", a)
  6. def wrapper(*args, **kwargs):
  7. func(*args, **kwargs)
  8. print("装饰器---》", a)
  9. return wrapper
  10. return decorate
  11. @outer(10)
  12. def house(name):
  13. print("毛坯房", name)
  14. house("sdf")

4、系统函数

4.1、输入:input

变量的输入

  1. name = input("请输入你的名字:")

4.2、查看类型:type

查看变量的类型

  1. pytonp"
  2. type(name)
  3. print(type(name))

4.3、输出、打印:print

将内容输出到控制台, 打印
image.png

  1. # 默认打印会换行
  2. print("hello")
  3. print("hello", end="") #以""代替换行符,
  4. print("hello", end="---") # 以---代替换行符
  5. print("world")
  6. #格式化输出
  7. name = "小明"
  8. id = 1
  9. age = 18
  10. money = 9000.80
  11. up = 25
  12. print("名字:%s" % name)
  13. print("年龄:%d" % age)
  14. print("年龄:%06d" % id)
  15. print("工资:%f" % money)
  16. print("工资:%.2f" % money)
  17. print("工资:%.f%%" % up)
  18. print("名字:%s,年龄:%d,工资:%.2f" % (name, age, money))
  19. -------------
  20. 名字:小明
  21. 年龄:18
  22. 年龄:000001
  23. 工资:9000.800000
  24. 工资:9000.80
  25. 工资:25%
  26. 名字:小明,年龄:18,工资:9000.80

4.4、类型转换

  1. num = int("123")
  2. type(num)
  3. num = float("123.0")
  4. print(type(num))
  5. # 把字符串当初16进制格式转换成整数
  6. int("1a2c",16)
  7. str(34)
  8. bool(100) #True
  9. bool(0) #False
  10. bool('False') #True
  11. bool('')#False
  12. bool(None) #False
  13. #数字0、空字符串、空列表、空元组、空集合、空字典、空数据None都转为False

4.5、查看对象属性和方法:dir

  1. dir(demo) #查看demo函数的所有属性和方法

4.6、查看变量在内存中地址:id

  1. #查看变量的地址
  2. id(name)

4.7、进制转换

bin(8)
oct(8)
hex(8)

4.8、eval

eval('a=1+1')
将字符串当成代码执行

5、匿名函数

image.png
image.png