python----函数

一:函数的定义

                          def关键字开头,空格加函数名加圆括号最后加冒号-------------------------def innner():

                          函数名:只能包含字符串,字母,数字下划线,并且不能用数字开头。

二:函数的调用

                     无返回值:函数名+括号-----------------------------------inner()

                     有返回值:变量名=函数名()------------------------------ret1=inner()

                    多个变量接收多个返回值:变量名1,变量名2.......=函数名()--------------ret1=inner()

                                                                                                                                  ret2=timer()

        圆括号用来接收参数。
        若传入多个参数:
        应按先位置传值,再按关键字传值
        具体的传入顺序应按照函数定义的参数情况而定
ef wukong():
    return 1,2,3,4,5
def bajie():
    return 'hello word',4,['hwbhwb','jwjjwbdjwbd',{'jsbcjsbj':'bxhbxbwhxbw'}]
ret1=wukong()
print(ret1)
ret2=bajie()
print(ret2)

(1, 2, 3, 4, 5)
('hello word', 4, ['hwbhwb', 'jwjjwbdjwbd', {'jsbcjsbj': 'bxhbxbwhxbw'}])

#函数的定义
def mylen():
    s1='hello word'
    length=0
    for i in s1:
        length=length+1
    print(length)
#函数的调用
wode_len=mylen()
print(wode_len)

   10
   None


三:函数的返回值

     return关键字:是返回的意思,return后面的值就是返回值。

     有返回值:定义变量接收返回值。

     多个返回值:定义多个变量接收,变量数和返回值应一致。

     没有返回值:不写return的情况下,默认返回一个None.

                        只写return不写其他内容,也会返回None。(一旦遇到return,就结束函数)   

            return[表达式] 结束函数。不带表达式的return相当于返回 None

            def 函数名(参数1,参数2,*args,默认参数,**kwargs)
            return 返回值            
def ret_demo():
    print(111)
    return
    print(222)

ret = ret_demo()
print(ret)

    111
    None


 四:参数

        实参:在定义函数时调用的。

                   参数种类与传递顺序:

                                           按位置传参:*()或*[]可传多个位置参数。

                                            按关键字传参:**{}的形式可传多个关键字参数。

  按位置传递多个参数。

def mymax(x,y):
    the_max=x if x > y else y
    return the_max
ma=mymax(10,20)
print(ma)

20

          按关键字传参

ef mymax(x,y):
print(x,y)
the_max=x if x > y else y
return the_max
ma=mymax(x=100,y=120)
print(ma)

        100 120
        120

       

             

                   

        形参:在调用函数时接收的。

                    参数种类与定义顺序:

                                            位置参数:

                                            动态*args参数:接收多个位置参数,并组织成元祖。没有值则为()

                                            动态**wkargs参数:接收多个位置参数,并组织成字典。没有值则为{}

                                            默认参数:设置默认值,调用时可以不传参数。定义不可变数据类型。

                                      (位置参数必须在关键字参数前面,每个参数只能赋值一次。

           默认参数

def my_info(name,sex='male'):#设定默认参数
    print(name,sex)
my_info('wang',)
my_info('xie','female')



      wang male
      xie female

       *args 动态传参

      


def mysum(*args):
print(args)
mysum(1,2,3)


(1, 2, 3)

 

     动态**kwargs

def my_info(**kwargs):
    print(kwargs)
my_info(name='wangshanglong',sex='male')

{'name': 'wangshanglong', 'sex': 'male'}

      作业:

#1 、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数
def my_len(msg):                          #----定义函数----
    sz=zm=kg=qt=0
    for i in msg:
        if i.isdigit():
            sz+=1
        elif i.isalpha():
            zm+=1
        elif i.isspace():
            kg+=1
        else:
            qt+=1
    return sz,zm,kg,qt
m = my_len('fwi,445151518484, ,-----###$^R&^')
print(m)
   
                                 (12, 4, 1, 15)
 3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
def my_len(s): #----定义函数------
    if len(s) > 5:#----判断s的长度是否大于5------
        return True#---是-----
    else:
        return False#----否---
s=my_len('[kwmk,iwmcimw,icwiciw,]')#-----调用my_len,并传递参数----
print(s)#------打印s------
                             
                             
                                     True
def my_len(s):#----定义函数----
    if len(s)>2:#----判断s是否大于2----
        return s[0:2]#----大于2保留前两位----
    else:
        return s#----小于2返回给调用者----
s=my_len(['xua',789,{'name':'wang'}])#----调用并传递参数----
print(s)#----打印----

                      
                         ['xua', 789]
原文地址:https://www.cnblogs.com/w-s-l123/p/7256052.html