Python学习日记:day9--------函数

栏目: Python · 发布时间: 8年前

内容简介:Python学习日记:day9--------函数

初识函数

1,自定义函数

s ='内容'    #自定义函数
def my_len():#自定义函数没有参数
        i =0
    for k in s:
        i+=1
    print(i)
    return i #返回值
my_len()#调用函数

函数的特点:定义了之后可以在任何需要它的地方调用。

函数的定义与函数的调用是两部分

1.my_len()函数计算字符串长度与len()系统内置函数相比:

(1),不能变,只能计算s字符串的长度

(2),只是输出了结果

(3),没有返回长度,只是单纯的打印。

1.2返回的重要性

a=‘bdfer’,b=‘efggghh’

可以计算len(a)、len(b)的长度,但是如果没有返回值没法计算len(a)+len(b)

1.3return的三种情况

(1),没有返回值

1),没有返回值的第一情况--》没有return

 def func():
    l =['金老板','erge']
      for i in l:
         print(i)
  ret = func
  print(ret)

2),只有return,没有返回值的时候,返回值默认为None。return None与没有返回值相同.

return None--------不常用

def func():
         l =['金老板','erge']
          for i in l:
                print(i)
            return
ret = func
print(ret) 

函数遇到return,函数后面的内容不执行。

return:--->结束一个函数的继续

(2),返回一个值

def func():
    l = ['金老板','二哥']
    for i in l:
        print(i)
         if i=='金老板':
                return {'k':'v'}
print(func())

(1),返回一个值的时候,可以返回任何数据类型。

(2),只要返回了就可以接收到。

(3),如果在一个程序中有多个return的话,只执行第一个。

3,返回多个值

def fun2():
    return 1,2
r1,r2 = func2()
print(r1,r2)

(1),多个返回值用多个变量接收;有多少返回值就用多少变量接收

(2),返回多个值用一个变量接收,返回值是一个元祖。

def fun2():
    return 1,2,3
r = func2()
print(r)

4,def my_len(s):#接受参数,形式参数:简称形参


i =0
for k in s:#接受参数,形式参数:简称形参
    i+=1
    return i
s ='内容'
ret =my_len(s)#传递参数:传参。---》实际参数:实参
print(ret)

形参与实参

5、参数有三种情况

(1)没有参数

#定义函数和调用函数时括号里都不写内容

(2)有一个参数

#传什么就是什么

(3)有多个参数

#位置参数

def my_sum(a,b):
        res =a+b  
        return res
ret =my_sum(1,2)
print(ret)

Python学习日记:day9--------函数

def my_len(s):  #自定义函数只需要0个参数。接收参数,形式参数,形参
    i = 0
    for k in s:
        i += 1
    return i  #返回值

ret = my_len('wwwww')  #传递参数:传参。实际参数,实参
ret = my_len([1,2,3,4,5])  #传递参数:传参
print(ret)
站在实参的角度上:
    按照位置传参
    按照关键字传参
    混着用可以:但是 必须先按照位置传参,再按照关键字传参数
             不能给同一个变量传多个值

站在形参的角度上
    位置参数:必须传,且有几个参数就传几个值
    默认参数: 可以不传,如果不传就是用默认的参数,如果传了就用传的
定义函数的时候:
    位置参数 : 直接定义参数
    默认参数,关键字参数 :参数名 = '默认的值'
    动态参数 : 可以接受任意多个参数
                参数名之前加*,习惯参数名args,
                参数名之前加**,习惯参数名kwargs
    顺序:位置参数,*args,默认参数,**kwargs
动态参数有两种:可以接受任意个参数
    *args   : 接收的是按照位置传参的值,组织成一个元组
    **kwargs: 接受的是按照关键字传参的值,组织成一个字典
    args必须在kwargs之前
  默认参数和动态参数之前的顺序关系:位置,*args,默认参数,**kwargs
动态参数的另一种传参方式
def func(*args):#站在形参的角度上,给变量加上*,就是组合所有传来的值。
    print(args)
def func(**kwargs):
    print(kwargs)

站在实参的角度上,给一个序列加上*,就是将这个序列按顺序打散。

站在形参的角度上,给变量加上*,就是组合打散的序列

Python学习日记:day9--------函数

总结:

函数的参数

形参:

位置参数 : 必须传参数

*args :可以接收任意多个位置参数

默认参数 : 可以不传

**kwargs : 可以接收多个关键字参数

实参:按照位置传参,按照关键字传参


以上所述就是小编给大家介绍的《Python学习日记:day9--------函数》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

What Technology Wants

What Technology Wants

Kevin Kelly / Penguin Group (USA) Incorporated / 2010-10-14 / USD 27.95

A refreshing view of technology as a living force in the world. This provocative book introduces a brand-new view of technology. It suggests that technology as a whole is not a jumble of wires and ......一起来看看 《What Technology Wants》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

MD5 加密
MD5 加密

MD5 加密工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具