python-函数

# --*--code --*--
# @time: 2021/11/1:21:15
# @author: 
# @file:demo5.py
# 函数
# 步骤
# 1.封装函数 独立功能
# 2.调用函数
# 3.提高代码效率
语法:
'''
def 函数名():
逻辑代码a
'''

两个数字相加

def sum(a,b):
  # a = int(input('请输入数字a:'))
  # b = int(input('请输入数字b:'))
  sum = a+b
  print('a+b=%s'%sum)
sum(1,4)


def sum():
  a = int(input('请输入数字a:'))
  b = int(input('请输入数字b:'))
  sum = a+b
  print('a+b=%s'%sum)

sum()

拓展术语: 实参 形参

函数里面还可以有返回值 先运行函数,但是函数不会执行

def sum(a,b):
  c = a+b
  return c

a = sum(3,5)
print(a)

空函数

def empty():
  pass

函数中的参数: 必须参数,关键字参数,默认参数,不定长参

必须参数:必须要传,位置,个数

def sum(a,b):
  return a+b
sum(1,3)

关键字参数 命名参数 顺序可以不同

def person1(name, age):
  return '我是{},今年{}岁'.format(name, age)
d = person1(age='23', name='xx')
print(d)

# 默认参数 默认参数在后面
def person1(age,name='张三'):
  return '我是{},今年{}岁'.format(name, age)
d = person1(age='23')
print(d)

不定长参数 在参数前加 * 或 **
* 元组 传进的参数放在元组中 ** 字典 传进的参数放在字典中

def a1(*args):
  print(args)
a =a1('rrr',22,'3223')
# *后面,参数要带上命名
def a2(name,age,*,sex):
  return '我是{},今年{}岁,姓名{}'.format(name,age,sex)
c =a2('续租','100',sex='dd')
print(c)
# **
def test1(**kwargs):
  print(kwargs)
a=test1(a=1,b=3,c=5)
print(a)
执行结果:

('rrr', 22, '3223')
我是续租,今年100岁,姓名dd
{'a': 1, 'b': 3, 'c': 5}


# 在函数中参数 一定是*args在前 **kwargs在后
def test2(*args,**kwargs):
  print(args)
  print(kwargs)
a=test2('xx',1,3,name='xuzu',age=11)
print(a)
def test2(*args,**kwargs):
  print(*args)
  print(kwargs)
a=test2('xx',1,3,name='xuzu',age=11)
print(a)

执行结果:
('xx', 1, 3)
{'name': 'xuzu', 'age': 11}
None
xx 1 3
{'name': 'xuzu', 'age': 11}
None

函数嵌套

def test1():
  print('--'*50)

def test2():
  print('*'*50)
  print('+' * 50)
test1()
print('='*50)
test2()

执行结果:
----------------------------------------------------------------------------------------------------
==================================================
**************************************************
++++++++++++++++++++++++++++++++++++++++++++++++++

匿名函数 lambda
语法:lambda 参数,参数: 表达式
本身自带返回,不需要返回

sum = lambda a,b:a+b
print(sum(1,3))

执行结果:
4

三目运算 if语法的简写 写在一行
判断两个数字大小
语法: if 判断条件 满足条件的内容 else 不满足条件的内容

x = int(input('x='))
y = int(input('y='))
print('打印第一个数字{}'.format(x)) if x>y else print('打印第二个数字{}'.format(y))
执行结果:
x=5
y=8
打印第二个数字8

推导式 for循环
列表推导式:[表达式 : for xx in range()]
字典推导式:{表达式:表达式 : for xx in range()}

for xx in range(5):
  print(xx)

d = [xx for xx in range(5)]
print(d)

d = {xx:xx+1 for xx in range(5)}
print(d)
执行结果:
0
1
2
3
4
[0, 1, 2, 3, 4]
{0: 1, 1: 2, 2: 3, 3: 4, 4: 5}
posted on 2021-12-22 10:32  xxxxaaa  阅读(51)  评论(0编辑  收藏  举报