python中execute函数_Python中的函数定义与参数使用

本节知识点:(1)函数定义格式;(2)五种参数使用

函数定义

基本语法格式

def function_name(  parameter_list  ):
     
        
 return values
  • 函数通常为小写英语单词及其组合,以下划线隔开,例如:sum、mean、cost_calculate

  • 埋个坑,记得用pass

    def function_name(  parameter_list  ):
     pass
  • 没有 return values 的时候,返回值为None

  • 很多教材喜欢写 参数是可变的、不可边的怎么怎么考虑!其实这么啥子必要。

    在Python中所有的变量均是reference,理解这一点,就都ok了

    参考之前的推文:Pyhon中的赋值与参数传递,或许跟你想的不太一样!

  • 函数的简单介绍可以通过, """ 简单的测试函数 """ 这样子实现

    def func():
        """ 简单的测试函数 """
        
        
        pass
    func.__doc__
    ' 简单的测试函数 '

函数参数

从左至右位置排序:位置参数、默认参数、可变参数、命名关键字参数、关键字参数

位置参数

代码示例、

def power(x,n):
    return x**n
print( power( 10,2) ) 
print( power( 10,3) )
100
1000
  • 比较简单,没啥子好说的,就是注意一哈调用的时候需要一个一个对上号就行

  • 假如怕自己对不上号,就辛苦点,这么调用

    print( power(x= 9,n=3) )
    729

    或者

    print( power(9,n=3) )
    729

    但是不要这样子写

    print( power(n=3,9) )
      File "", line 1
        print( power(n=3,9) )
                        ^
    SyntaxError: positional argument follows keyword argument

    原因就不多说了,SyntaxError已经给出解释,SyntaxError: positional argument follows keyword argument

    这样子写也不对

    print( power(3,x=9) )
    ---------------------------------------------------------------------------
    TypeError                                 Traceback (most recent call last)
     in 
    ----> 1 print( power(3,x=9) )
    TypeError: power() got multiple values for argument 'x'

    原因就不多说了,TypeError已经给出解释,TypeError: power() got multiple values for argument 'x'

默认参数

用途:简化调用。出于这个目的,设置默认参数基本原则:

  • 位置参数设置在前,默认参数设置在后
  • 函数有多个参数,变化大的参数放置在前,变化小的参数放置在后面位置,同时为变化小的参数设置默认值

代码示例、

def power(x,n=2):
    return  x**n

print( power(10) )
print( power(5,3) )
100
125
def enroll_func(name, gender, money=60, city='Beijing'):
    print( "name:{};gender:{};money:{};city:{}".format(  name, gender, money ,city )  )
    
    
enroll_func("xiaole", "male" )
enroll_func("Frank", "male", money=1000, city="shanghai" )
name:xiaole;gender:male;money:60;city:Beijing
name:Frank;gender:male;money:1000;city:shanghai

可变参数

用途:解决传入参数个数不定的情况,

代码示例、

def simulate_sum( *args ):
    result = 0 
    print( "args: {} ; 数据类型:{}".format( args, type(args)    ) )
    for arg in args:
        result+=arg
    
    return result

result =  simulate_sum(  1,2,3,4,5  )
print(  result )
args: (1, 2, 3, 4, 5) ; 数据类型:'tuple'>
15
result =  simulate_sum(    )
print(  result )
args: () ; 数据类型:'tuple'>
0

传多了就是一个大的tuple,传少了就是一个小的tuple,不传就是个空tuple

关键字参数

用途:允许传入0个或者多个包含参数名字的参数,这样这些个参数就可以组成一个dict,从dict取参数相较于从tuple取参数,舒服!!

代码示例

def person_info(name,gender, **kwargs):
    print( "主要信息:name {},gender {}".format( name, gender  )   )
    print( "其他信息:")
    for key,value  in kwargs.items():
        print( "{} ---> {}".format( key,value  )  )

person_info(  'Bob', 'female', city='Beijing',age=18, height =  168 )
主要信息:name Bob,gender female
其他信息:
city ---> Beijing
age ---> 18
height ---> 168

命名关键字参数

用途:指定关键字的名字

def sorted(__iterable: Iterable[_T],
           *,
           key: Optional[(_T) -> Any] = ...,
           reverse: bool = ...) -> List[_T]
Return a new list containing all items from the iterable in ascending order.
A custom key function can be supplied to customize the sort order, and the reverse flag can be set to request the result in descending order.

此处的key和reverse都是命名关键字参数,说白了,我就只允许你这来关键字来了,其他的我不要,不要

sorted( [-1,4,2,3], reverse=True)
[4, 3, 2, -1]
sorted( [-1,4,2,3], reverse1=True)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
 in 
----> 1 sorted( [-1,4,2,3], reverse1=True)
TypeError: 'reverse1' is an invalid keyword argument for sort()

参数组合

所有的参数都能组合使用,但是位置得定好,从左到右依次是:位置参数、默认参数、可变参数、命名关键字参数、关键字参数

常用的几种格式

格式1、只要位置参数

def func(x, y):
    pass

格式2、位置参数+默认参数

def func(x, y,m=1,n=2):
    pass

格式3、*args + **kwargs

def func(*args, **kwargs):
    pass

格式4、位置参数+ 命名关键字参数

def func(x, *,reverse, order   ): 
    pass

格式5、位置参数+ 命名关键字参数

def func(x, *,reverse =False , order  = 1 ): 
    pass

References

[1] Runnoob  https://www.runoob.com/python3/python3-function.html

Motto

日拱一卒,功不唐捐

长按下图  关注xiao乐
a5c401109255a6b1586dd8aeaceee075.png
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值