Python编程 函数的定义与参数

news/2024/11/18 4:27:45/

  • 作者简介:一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 

  •  座右铭:低头赶路,敬事如仪

  • 个人主页:网络豆的主页​​​​​​

目录

 前言

一.函数

1.函数例子

不会让代码重复的出现。CV=out

2.函数介绍(熟悉)

3.自定义函数(掌握)

4.函数的参数

5.函数的参数

形参与实参:

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

位置参数:

关键字参数:

默认值参数:

可变长度参数:

解包:


 前言

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


一.函数

1.函数例子

不会让代码重复的出现。CV=out


2.函数介绍(熟悉)

函数介绍:
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数作用:
提高 应用的模块性代码的复用性

3.自定义函数(掌握)

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

注意:
函数 只有在调用时才会执行,通过 function_name(param) 进行调用
#实现打印九九乘法表
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. 实参 就是 调用函数时传入的 参数,是一个实际存在的参数。

def test_one(b):    #函数定义时传入:形参print(b)a = 1
test_one(a)     #函数调用时传入:实参#过程
# a = 1
# b = a

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

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

位置参数:

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

关键字参数:

以 形参 = 实参 形式指定,不论参数位置
def test_one(a):#整数为不可变对象a = 10print('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))
#实现两个数字相加
def sum_nums(num1,num2):res = num1+num2print(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)
# 默认值参数,当不传时,就为形参指定的值。
#如果在实参中传了,会覆盖掉形参中指定的值。
def test_one(a, b=2):a = a + bprint(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)

创作不易,求关注,点赞,收藏,谢谢~ 


http://www.ppmy.cn/news/4183.html

相关文章

【操作系统三】图解网络IO(bio\nio\slect\epoll)

【操作系统三】图解网络IO实战一、计算机组成二、系统中断三、晶振(时间中断、分时复用)四、事件中断1、DMA2、事件中断3、网卡也会产生中断?五、linux系统知识1、linux下一切皆文件?1.1、nc启动一个服务端,端口号80801.2、linux下…

CS61A Homework 8

更好的阅读体验 Homework 8 Solutions hw08.zip Solution Files You can find the solutions in the [hw08.py hw08.lark](https://cs61a.org/hw/sol-hw08/hw08.py hw08.lark) file. Questions RegEx Q1: CS Classes On reddit.com, there is an /r/berkeley subreddit …

第十四届蓝桥杯集训——if——配套基础示例

第十四届蓝桥杯集训——if——配套基础示例 目录 第十四届蓝桥杯集训——if——配套基础示例 例题1:三角形任意两边之和大于第三边 例题2:判断回文数 例题3:狗的年龄 例题4:帐密登录 例题1:三角形任意两边之和大于…

Linux部署Nginx并配置https

1. 下载nginx安装包 wget http://nginx.org/download/nginx-1.21.6.tar.gz2. 解压压缩包 tar -zvxf nginx-1.21.6.tar.gz3. 初始化configure #配置configure --prefix 代表安装的路径,--with-http_ssl_module 安装ssl,--with-http_stub_status_module…

04-Golang的一些基本变量

Golang的一些基本变量变量介绍概念变量使用注意事项变量的使用的基本步骤程序中 号的使用变量介绍 概念 变量相当于内存中一个数据存储空间的表示,你可以把变量看作是一个个房间的门牌号,通过门牌号我们可以找到房间,同样的道理&#xff0c…

【电脑使用】硬盘无法引导进入系统,无法退出BIOS

前言 因为想要给自己的笔记本添置装备,于是想着把老电脑上的固态拆下来,但是考虑到老电脑虽然不常用,但还是偶尔会用,不能是瘫痪状态,于是想把我之前淘到的一个机械硬盘换上去,结果发现无法引导进入系统&am…

奇舞周刊 476 期:代码在内存中的 “形状”

记得点击文章末尾的“ 阅读原文 ”查看哟~下面先一起看下本期周刊 摘要 吧~奇舞推荐■ ■ ■代码在内存中的 “形状”众所周知,js 的基本数据类型有 number、string、boolean、null、undefined 等。那么问题来了 typeof null 和 typeof undefined 分别是什么呢&…

zabbix——分布式监控系统

目录 zabbix概述 zabbix 是什么 zabbix 监控原理 zabbix常见的五个程序 zabbix端口号 安装 zabbix 5.0 部署 zabbix 服务端 部署 zabbix 客户端 自定义监控内容 在客户端创建自定义 key 在 Web 页面创建自定义监控项模板 zabbix 自动发现与自动注册 zabbix 自动发…