python自定义函数怎么用,python自定义函数名的命名规则

  python自定义函数怎么用,python自定义函数名的命名规则

  功能是有组织的、可重用的,并且是用于实现单个或相关功能的代码段。

  函数可以提高应用程序的模块化和代码的重用率。你已经知道Python提供了很多内置函数,比如print()。但是你也可以创建你自己的函数,我们称之为自定义函数。

  语法

  Python函数是用def关键字定义的,一般格式如下:

  定义函数名(参数):

  .

  功能体

  .

  功能的定义主要有以下几点:

  Def:函数名:函数的名字,以后根据函数名调用函数。函数体:在函数中进行一系列的逻辑计算,如:发送邮件,计算[11,22,38,888,2]中的最大个数等.参数:为函数体提供数据返回值:函数执行后可以将数据返回给调用者。以上几点中,比较重要的是参数和返回值:

  和其他高级语言:

  1.在函数名的末尾声明一个冒号。

  2.它不需要用花括号把语句块括起来,用TAB键缩进。

  函数式编程最重要的是增强代码的可重用性和可读性。

  示例:#定义一个函数

  定义测试_a():

  打印(“hello world”)

  #呼叫功能

  test_a()函数有三个不同的参数:

  普通参数默认参数动态参数

  test _ b(var 1,var2): #函数定义,参数,为用户提供接口。

  打印(可变)

  打印(var2)

  Test_b(12,13) #函数调用,参数。

  -

  12

  13

  默认参数

  函数传递参数的默认值

  Test _ c (a,b=0): #第二个参数是b,默认参数。如果调用函数时没有传递值,则使用默认值。

  打印(a,b)

  Test_c(1) #不输入第二个变量也可以

  当调用test_c(1,2) #时,在向B变量传入一个值后,将使用传入的值。

  Test_c(a=10,b=20) #指定对应于传入参数的变量,该变量也成为位置参数。

  -

  1 0

  1 2

  10 20

  动态参数具有以下特征:

  1.您可以接收任何参数。

  2.有两种动态参数*args和**kwargs,并且*args必须在**kwargs之前。

  3.Sequence:位置参数,*args,默认参数,**kwargs,其中

  *args:接收的值按位置传递,位置被组织成一个元组。

  **kwargs:接收关键字传递的值以形成字典。

  1.* args接收参数操作的示例

  # *args:接受n个位置参数,并将其转换为元组。

  定义测试_ d(*参数):

  打印(参数)

  test_d(1,2,3,4,5)

  test_d(*[1,2,3,4,5]) # args=tuple([1,2,3,4,5])

  -

  (1, 2, 3, 4, 5)

  (1, 2, 3, 4, 5)

  # x接收一个值,*args接收其余的值,并将其作为元组返回。

  定义测试(x,*参数):

  打印(x)

  打印(参数)

  测试(1,2,3,4,5,6,7)

  -

  一个

  (2, 3, 4, 5, 6, 7)

  2.* * kwargs接收参数操作示例

  # **kwargs:接受n个关键字参数并将其转换为字典的方法。

  定义测试(* *夸脱):

  印刷品(夸脱)

  print(kwargs[name])

  打印(夸脱[年龄])

  #两种方法的执行结果是一样的。

  测试(姓名=saneri ,年龄=18岁,性别=M )

  #test(**{name:saneri , age:18})

  -

  { 姓名:萨内里,年龄:18,性别: M}

  萨内里

  18

  进一步操作。

  # name按位置接收saneri,age接收34,kwargs接收N个关键字,转换成字典模式。

  def test4(姓名,年龄=18,**kwargs):

  打印(姓名)

  打印(年龄)

  印刷品(夸脱)

  test4(saneri ,年龄=34,性别=M ,爱好=tesla )

  -

  萨内里

  34

  { 性: M ,爱好:特斯拉 }

  混搭。

  定义记录器(来源):

  打印(“来自% s“%源”)

  def test_y(姓名,年龄=18,*args,**kwargs):

  打印(姓名)

  打印(年龄)

  打印(参数)

  印刷品(夸脱)

  logger(“你好,我是logger源”)

  test_y(saneri ,年龄=20,性别=M ,爱好=test )

  -

  萨内里

  20

  ()

  { 性别: M ,爱好:测试 }

  从你好,我是日志来源

  如果*arg也需要接收参数,前面不能有默认参数,否则调用时会报错。

  Def _ set (name,age,* args,* * kwargs): # * kwargs将把多个传入的参数转换成dict形式。

  打印(姓名)

  打印(年龄)

  打印(参数)

  印刷品(夸脱)

  edu _集(萨内里,32, Python , CN ,性别=男性)

  -

  萨内里

  32

  ( Python , CN )

  { 性别:男性 }

  返回语句

  return [expression]语句用于退出函数,并有选择地将表达式返回给调用者。不带参数值的return语句返回None。前面的例子都没有演示如何返回一个数值。下面的示例演示了return语句的用法:

  定义总和(arg1,arg2):

  #返回两个参数的和。

  总计=arg1 arg2

  打印(在函数中:,总计)

  Return total #如果不写Return的返回值,那么函数外调用将返回None

  #调用sum函数

  total=sum(10,20)

  打印(函数外部:,总计)

  -

  函数内:30

  功能外:30

  匿名函数

  我们在传入函数的时候,有时候不需要显式定义函数,但是直接传入匿名函数更方便。(匿名函数没有函数名)匿名函数使用关键字lambda来定义普通函数和lambda函数的方法和区别。

  # # # # # # # # # # # # # #普通函数# # # # # # # # #

  #定义函数(正常方式)

  定义乐趣(参数):

  返回参数1

  #执行职能

  结果=乐趣(123)

  # # # # # # # # # # # # # # # # # # ## # # # # # # # #

  #定义函数(lambda表达式)

  我的=arg:arg 1

  #执行职能

  result=my_lambda(123)

  #lambda的存在意义是简单函数的简洁表达:

  在Python中,对匿名函数的支持是有限的。还是以map()函数为例。计算f(x)=x2时,除了定义f(x)的一个函数外,还可以直接传入一个匿名函数:

  列表(map(lambda x: x * x,[1,2,3,4,5,6,7,8,9]))

  [1, 4, 9, 16, 25, 36, 49, 64, 81]

  #通过对比可以看出,匿名函数lambda x: x * x实际上是:

  定义f(x):

  返回x * x

  #关键字lambda表示匿名函数,冒号前的X表示函数参数。

  匿名函数有一个限制,就是只能有一个表达式,不需要写return。返回值是该表达式的结果。

  功能是有组织的、可重用的,并且是用于实现单个或相关功能的代码段。

  函数可以提高应用程序的模块化和代码的重用率。你已经知道Python提供了很多内置函数,比如print()。但是你也可以创建你自己的函数,我们称之为自定义函数。

  语法

  Python函数是用def关键字定义的,一般格式如下:

  定义函数名(参数):

  .

  功能体

  .

  功能的定义主要有以下几点:

  Def:函数名:函数的名字,以后根据函数名调用函数。函数体:在函数中进行一系列的逻辑计算,如:发送邮件,计算[11,22,38,888,2]中的最大个数等.参数:为函数体提供数据返回值:函数执行后可以将数据返回给调用者。以上几点中,比较重要的是参数和返回值:

  和其他高级语言:

  1.在函数名的末尾声明一个冒号。

  2.它不需要用花括号把语句块括起来,用TAB键缩进。

  函数式编程最重要的是增强代码的可重用性和可读性。

  示例:#定义一个函数

  定义测试_a():

  打印(“hello world”)

  #呼叫功能

  test_a()函数有三个不同的参数:

  普通参数默认参数动态参数

  test _ b(var 1,var2): #函数定义,参数,为用户提供接口。

  打印(可变)

  打印(var2)

  Test_b(12,13) #函数调用,参数。

  -

  12

  13

  默认参数

  函数传递参数的默认值

  Test _ c (a,b=0): #第二个参数是b,默认参数。如果调用函数时没有传递值,则使用默认值。

  打印(a,b)

  Test_c(1) #不输入第二个变量也可以

  当调用test_c(1,2) #时,在向B变量传入一个值后,将使用传入的值。

  Test_c(a=10,b=20) #指定对应于传入参数的变量,该变量也成为位置参数。

  -

  1 0

  1 2

  10 20

  动态参数具有以下特征:

  1.您可以接收任何参数。

  2.有两种动态参数*args和**kwargs,并且*args必须在**kwargs之前。

  3.Sequence:位置参数,*args,默认参数,**kwargs,其中

  *args:接收的值按位置传递,位置被组织成一个元组。

  **kwargs:接收关键字传递的值以形成字典。

  1.* args接收参数操作的示例

  # *args:接受n个位置参数,并将其转换为元组。

  定义测试_ d(*参数):

  打印(参数)

  test_d(1,2,3,4,5)

  test_d(*[1,2,3,4,5]) # args=tuple([1,2,3,4,5])

  -

  (1, 2, 3, 4, 5)

  (1, 2, 3, 4, 5)

  # x接收一个值,*args接收其余的值,并将其作为元组返回。

  定义测试(x,*参数):

  打印(x)

  打印(参数)

  测试(1,2,3,4,5,6,7)

  -

  一个

  (2, 3, 4, 5, 6, 7)

  2.* * kwargs接收参数操作示例

  # **kwargs:接受n个关键字参数并将其转换为字典的方法。

  定义测试(* *夸脱):

  印刷品(夸脱)

  print(kwargs[name])

  打印(夸脱[年龄])

  #两种写入方法的执行结果是相同的。

  测试(姓名=saneri ,年龄=18岁,性别=M )

  #test(**{name:saneri , age:18})

  -

  { 姓名:萨内里,年龄:18,性别: M}

  萨内里

  18

  进一步操作。

  # name按位置接收saneri,age接收34,kwargs接收N个关键字,转换成字典模式。

  def test4(姓名,年龄=18,**kwargs):

  打印(姓名)

  打印(年龄)

  印刷品(夸脱)

  test4(saneri ,年龄=34,性别=M ,爱好=tesla )

  -

  萨内里

  34

  { 性: M ,爱好:特斯拉 }

  混搭。

  定义记录器(来源):

  打印(“来自% s“%源”)

  def test_y(姓名,年龄=18,*args,**kwargs):

  打印(姓名)

  打印(年龄)

  打印(参数)

  印刷品(夸脱)

  logger(“你好,我是logger源”)

  test_y(saneri ,年龄=20,性别=M ,爱好=test )

  -

  萨内里

  20

  ()

  { 性别: M ,爱好:测试 }

  从你好,我是日志来源

  如果*arg也需要接收参数,前面不能有默认参数,否则调用时会报错。

  Def _ set (name,age,* args,* * kwargs): # * kwargs将把多个传入的参数转换成dict形式。

  打印(姓名)

  打印(年龄)

  打印(参数)

  印刷品(夸脱)

  edu _集(萨内里,32, Python , CN ,性别=男性)

  -

  萨内里

  32

  ( Python , CN )

  { 性别:男性 }

  返回语句

  return [expression]语句用于退出函数,并有选择地将表达式返回给调用者。不带参数值的return语句返回None。前面的例子都没有演示如何返回一个数值。下面的示例演示了return语句的用法:

  定义总和(arg1,arg2):

  #返回两个参数的和。

  总计=arg1 arg2

  打印(在函数中:,总计)

  Return total #如果不写Return的返回值,那么函数外调用将返回None

  #调用sum函数

  total=sum(10,20)

  打印(函数外部:,总计)

  -

  函数内:30

  功能外:30

  匿名函数

  我们在传入函数的时候,有时候不需要显式定义函数,但是直接传入匿名函数更方便。(匿名函数没有函数名)匿名函数使用关键字lambda来定义普通函数和lambda函数的方法和区别。

  # # # # # # # # # # # # # #普通函数# # # # # # # # #

  #定义函数(正常方式)

  定义乐趣(参数):

  返回参数1

  #执行职能

  结果=乐趣(123)

  # # # # # # # # # # # # # # # # # # ## # # # # # # # #

  #定义函数(lambda表达式)

  我的=arg:arg 1

  #执行职能

  result=my_lambda(123)

  #lambda的存在意义是简单函数的简洁表达:

  在Python中,对匿名函数的支持是有限的。还是以map()函数为例。计算f(x)=x2时,除了定义f(x)的一个函数外,还可以直接传入一个匿名函数:

  列表(map(lambda x: x * x,[1,2,3,4,5,6,7,8,9]))

  [1, 4, 9, 16, 25, 36, 49, 64, 81]

  #通过对比可以看出,匿名函数lambda x: x * x实际上是:

  定义f(x):

  返回x * x

  #关键字lambda表示匿名函数,冒号前的X表示函数参数。

  匿名函数有一个限制,就是只能有一个表达式,不需要写return。返回值是该表达式的结果。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: