首页 > 编程语言 > 详细

python-16-初识函数

时间:2019-12-19 01:30:54      阅读:116      评论:0      收藏:0      [点我收藏+]

前言

以前写的python代码都是像记流水账一样,那么函数时什么额?它可以在任何需要它的地方进行调用,函数分为:

  • 内置函数,print(),len()
  • 自定义函数

一、自定义函数

1、我们都知道内置函数 len() 是计算长度,如下:

s = 我是十位字符串666
lg = len(s)
print(lg)

技术分享图片

 2、这是有没有想到自定义一个函数也是计算长度呢?   直接定义函数名 def xxx():  一般小写,我们一起看看吧

def my_len(s):            # 自定义 my_len 函数
    count = 0
    for i in s:
        count += 1
    return count

s = 我是十位字符串666
lg = my_len(s)            # 调用 my_len 函数计算长度
print(lg)

技术分享图片

 3、函数返回值:return

①return 表示有返回值,结束函数调用,没返回值就不写 return

②return 可返回多个值,用多个变量接收:有多少返回值就用多少变量接收、用一个变量接收: 得到的是一个元组

# 多个返回值,有多少返回值就用多少变量接收,一个变量接收返回的是元组。
def common():
    return 1, 2, ss
print(一个变量接收:, common())         # 一个变量接收

r1, r2, r3 = common()            # 多个变量接收
print(多个变量接收:, r1, r2, r3)

技术分享图片

 4、函数的形参与实参:

①形参,定义函数时的参数,接收参数;

  • 位置参数:必须传,且有几个参数就传几个值
  • 默认参数: 可以不传,如果不传就是用默认的参数,如果传了就用传的(也就是常说的默认值)

②实参,调用函数实际传入的参数;

  • 按照位置传参
  • 按照关键字传参
  • 混着用可以:但是 必须先按照位置传参,再按照关键字传参数
  • 不能给同一个变量传多个值

技术分享图片

 技术分享图片

5、定义函数时注意:

  • 位置参数 : 直接定义参数
  • 默认参数,关键字参数 :参数名 = ‘默认的值‘
  • 动态参数 : 可以接受任意多个参数,也就是万能参数(参数名之前加*,习惯参数名args、参数名之前加**,习惯参数名kwargs)
  • 顺序:①位置参数,②*args,③默认参数,④**kwargs
def my_len(s, a, *args, q=123, **kwargs):  # 万能参数 

    return s, a, args, q, kwargs

# *args 是元组, **kwargs 是字典
lg = my_len(我是S, 我是a, ar1, ar2, q=321, name=小龙)
print(lg)

技术分享图片

6、另一种方式传参

① *arges:组合所有传过来的值,为元组

def login(*args):
    ‘‘‘ login注释 ‘‘‘
    print(args)

a = 小龙, 笑脸, GG, 889
login(*a)

技术分享图片

② **kwargs :关键字传参,组合为字典

def login(**kwargs):
    ‘‘‘ login注释 ‘‘‘
    print(kwargs)

login(a=1, b=2)
a = {a: 1, b: 2}
login(**a)

 技术分享图片

欢迎来QQ交流群:482713805

python-16-初识函数

原文:https://www.cnblogs.com/gsxl/p/12063755.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!