首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Python编程 函数的定义与参数

Python编程 函数的定义与参数

作者头像
网络豆
发布2023-10-15 14:13:02
发布2023-10-15 14:13:02
7450
举报
文章被收录于专栏:python基础文章python基础文章

 前言

本章将会讲解Python编程中的函数以及它的定义与参数。

一.函数

1.函数例子
不会让代码重复的出现。CV=out
2.函数介绍(熟悉)

函数介绍:

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

函数作用:

提高 应用的模块性代码的复用性

3.自定义函数(掌握)

定义规则:

  1. 函数代码块以 def 关键词 开头 ,后接 函数标识符名称 和 圆括号()
  2. 圆括号中间 可以 放入参数
  3. 函数内容以 冒号 起始,并且 缩进。

注意:

函数 只有在调用时才会执行,通过 function_name(param) 进行调用

代码语言:javascript
复制
#实现打印九九乘法表
def multi_tabel():
    for i in range(1, 10):
         for j in range(1,i+1):
             # print(i,j)
             print("{}*{}={}".format(j,i,(i*j)),end=" ")
         print()

#函数只有在调用的时候 才会执行
#如何调用:函数名()
multi_tabel()
4.函数的参数

形参与实参

关键字参数

可变类型参数与不可变类型参数

默认值参数

位置参数

可变长度参数


5.函数的参数
形参与实参:
  1. 形参 就是 函数定义中的 参数,没有实际的值,通过别人赋值后才有意义,相当于变量。
  2. 实参 就是 调用函数时传入的 参数,是一个实际存在的参数。
代码语言:javascript
复制
def test_one(b):    #函数定义时传入:形参
    print(b)

a = 1
test_one(a)     #函数调用时传入:实参

#过程
# a = 1
# b = a
可变类型参数与不可变类型参数:

 不可变类型参数在函数体内对变量重新赋值,相当于重新开辟了一块内存来保存值

 可变类型参数在函数体内可以改变原有的值

位置参数:

 位置参数也就是实参与形参顺序一一对应,而不论变量名

关键字参数:

 以 形参 = 实参 形式指定,不论参数位置

代码语言:javascript
复制
def test_one(a):
    #整数为不可变对象
    a = 10
    print('inner:',a)

a = 1
test_one(a)
print('outer',a)

def test_one(li):
    print('inner:',li,id(li))
    # 列表是可变数据类型
    li.extend([1,11])   #扩展


li = [1,2,3,4]
test_one(li)
print('outer',li,id(li))
代码语言:javascript
复制
#实现两个数字相加
def sum_nums(num1,num2):
    res = num1+num2
    print(f"num1:{num1}")
    print(f"num1:{num2}")
    print(f"{num1}+{num2}={res}")

num1 = int(input("请输入num1:"))
num2 = int(input("请输入num2:"))
sum_nums(num2,num1)         #位置参数:实参与形参的顺序是一一对应的,不论变量名实参与形参个数一致

sum_nums(num1=num1,num2=num2)   #关键字参数:不受位置影响
默认值参数:

形参处进行赋值,所以当调用时不传该参数就默认使用形参处的值。当调用时传了该参数,则覆盖

掉默认参数。

可变长度参数:

*args 接收时会转为元组数据类型

**kwargs 接收时会转为字典数据类型

解包:

ü a,b,c = (1,2,3)

代码语言:javascript
复制
# 默认值参数,当不传时,就为形参指定的值。
#如果在实参中传了,会覆盖掉形参中指定的值。
def test_one(a, b=2):
    a = a + b
    print(a, b)


a = 1
test_one(a, 10)


#*args --> 可变长度的参数,你可以传也可不传,并且长度不做限制。但是会给你统一打包为元组。
def test_one(*args):    # 形参
    print(args)


# test_one()        # ()
test_one("amy", 2, 3, 4, 5, 7)   # (1, 2, 3)


#注意:python3.0以后,*args参数后面只能跟关键字参数
def test_one(*args, a=1, b):    # 形参
    print(args)


# test_one()        # ()
test_one("amy", 2, 3, 4, 5, 7, a=10, b=20)   # (1, 2, 3)


#**kwargs --> 可变长度的参数,你可以传也可不传,并且长度不做限制。实参传需要传入键值对,然后形参会#将它打包为字典
def test_one(**kwargs):
    print(kwargs)


test_one(a=1, b=2, c=3)


#拆包
a, b, c = (1, 2, 3)
print(a,b,c,sep="\n")


#位置参数 形参实参个数一致 并且一一对应
def test_one(a, b, c):
    print(a, b, c)


tu = (1, 2, 3)
test_one(*tu)   # 1,2,3
# test_one(1, 2, 3)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  •  前言
    • 一.函数
      • 1.函数例子
      • 不会让代码重复的出现。CV=out
      • 2.函数介绍(熟悉)
      • 3.自定义函数(掌握)
      • 4.函数的参数
      • 5.函数的参数
      • 形参与实参:
      • 可变类型参数与不可变类型参数:
      • 位置参数:
      • 关键字参数:
      • 默认值参数:
      • 可变长度参数:
      • 解包:
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档