def自定义函数(方法)(define)

示例(无参):

def abc():  #abc为自定义函数名称(方法名),名称后必须加括号()

  message = "Hello World!"  #方法内的每行代码必须缩进

  print(message)

abc()    #调用自定义函数(调用方法)

 

示例(多参且返回单个结果):

def abc(i, s):

  total = i + s

  return total  #return关键字出现即为该自定义函数(方法)结束,之后在该代码块内的代码均不执行

  #i = 5    #该代码不会执行

result = abc(3, 8)  #调用该自定义函数(方法)并录入参数,用result变量接收结果

print(result)    #结果为11

 

示例(返回多个结果):

def abc():

  return 1, 2

x, y = abc()  #调用该自定义函数(方法)并录入参数,返回多少个结果就要用多少个变量接收,且一一对应

print(x)    #结果为1

print(y)    #结果为2

 

示例(可变参数):

def uni(*args):  #括号内的形参写为*args,也可以写为*wors, *items.....

  return args

x = uni(1)

print(x)    #结果为(1,)

y = uni('2', 3)

print(y)      #结果为('2', 3),无论输入多少个参数均不会报错

z = y[1] + 5

print(z)    #结果为8

# 注:调用出的结果一定是tuple元组类型,要使用元组的索引方式才能参与运算

 

def dic(**kwargs):  #括号内的形参必须写为**kwargs

  return kwargs

x = dic(name = "zhangsan", age = 23)

print(x)  #结果为{'name': 'zhangsan', 'age': 23}

# 注:调用出的结果一定是dict字典类型,要使用字典方式才能操作

 

示例(使用全局参数):

num = 100

def abc(s):

  global num    #因为函数(方法)外定义的变量不能直接用于函数(方法)内部,需要将其标识为全局变量

  total = num + s   #如果没有上一行代码,此处报错,因为函数(方法)中无法识别num参数的来源

  return total    #return关键字出现即为该自定义函数(方法)结束,之后在该代码块内的代码均不执行

  i = 5      #该代码不会执行

result = abc(8)  #调用该自定义函数(方法)并录入参数,用result变量接收结果

print(result)    #结果为108

 

函数的lambda表达式:

def abc(s):

  return "Hello " + s

可简化为:

res = lambda s : "Hello " + s  #省去了函数名称,调用时需在前方以变量接收

print(res("Zhangsan"))  # Hello Zhangsan

多参数:

lambda a, b : a * b

 

可以在lambda函数后立即将参数添加到括号中,从而动态地为lambda表达式提供参数。lambda表达式也应该用圆括号括起来。

res = (lambda a, b: a * b) (3, 5)

print(res)  #15

posted @   杨小帆65  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示