当前位置: 首页 > news >正文

Python函数基础:简介,函数的定义,函数的调用和传入参数,函数的返回值

目录

函数简介

函数定义,调用,传入参数,返回值

函数的定义

函数的调用和传入参数

函数的返回值


函数简介

函数简介:函数是组织好,可重复使用,用来实现特定功能(特定需求)的代码段,在需要使用该功能的时候,进行调用。

使用函数的好处:对代码进行封装,减少重复性代码,提高程序复用性和开发效率。

比如:input(),print(),str(),len(),int()等..都是Python的内置函数。

注意:

  1. 函数定义不会执行函数中的代码,调用了该函数,才会执行函数中的代码
  2. 调用函数后,会进入函数内部执行代码,函数中代码是从上至下执行的
  3. 函数中的代码执行结束后,会回到调用的地方,继续向下执行
  4. 函数的参数和返回值,都不是必须的(依情况而定)

示例如下:

"""函数

"""# 需求:使用自定义的函数来统计字符串的长度(即不使用len()内置函数)def my_len(data):count = 0for i in data:count += 1print(f"字符串{data}的长度是{count}")my_len("Hello World")my_len("content")

运行

函数定义,调用,传入参数,返回值

函数的定义

函数的定义语法:

 
 
def 函数名(传入参数):函数体return 返回值
 
 

注意:

  1. 参数如不需要,可以省略;
  2. 返回值如不需要,可以省略;
  3. 函数必须先定义后使用;
  4. 函数体中,return后的语句不会执行。

函数的调用和传入参数

函数的调用:

函数名(参数)

函数的传入参数的使用:即接受外部调用时提供的数据。

注意:

  1. 在函数声明时,定义的参数被称为形参;
  2. 在函数调用时,传入的参数被称为实参;
  3. 函数的传入参数是不受限的(可不使用参数,也可使用N个参数)。

示例如下:

import random"""定义一个函数,用于计算薪资,薪资由等级(1~5)(随机)和工龄(1~30)(随机)而定基础薪资4000,总薪资=基础薪资+等级*0.2*500+工龄*100计算10名员工的总薪资

"""# 计算总薪资def salary(level, work_age):salary_num = 4000 + level * 0.2 * 500 + work_age * 100return salary_numfor i in range(1, 11):x = random.randint(1, 5)y = random.randint(1, 30)print(f"{i}名员工的总薪资为:{salary(x, y)}")

运行

函数的返回值

函数返回值:函数完成任务后,最后返回给调用者的结果。

注意:如果没有使用return返回数据,函数仍有返回值(返回了None字面量,其类型是:<class ‘NoneType’>,None即空,表示函数没有返回有意义的内容)

return关键字(只能用在函数中),作用有:

  1. 函数的返回值(将数据返回到调用的地方)
  2. 结束函数的执行(函数代码遇到return,会结束函数执行,回到调用位置,继续向下执行)

None的用法:

  1. 用在函数的返回值上
  2. 用在if判断上(在if判断中,None等同于假,即False;一般用于在函数中主动返回None,配合if判断做相关处理)
  3. 用在声明无内容的变量上(定义变量,但暂时不需要变量有具体值,可用None代替)

示例1如下:

# 用在函数的返回值上def add(x, y):result = x + yprint("用在函数的返回值上 ", add(1, 1), type(add(1, 2)))

运行

示例2如下:

# 用在if判断上def check_age(age):if age > 18:return "成年了!!"result = check_age(14)if not result:print("未成年!!")

运行

示例3如下:

# 用于变量定义,用于声明无初始内容的变量name = None

http://www.xdnf.cn/news/161533.html

相关文章:

  • 架构整洁之道 心得
  • 【线段树】P11414 [EPXLQ2024 fall round] 神奇磁铁|普及+
  • 如何在 PowerShell 脚本中调用外部 Windows 命令
  • 精益数据分析(29/126):深入剖析电子商务商业模式
  • 021-C语言文件操作
  • Linux系统性能调优技巧分享
  • 如何创建一个C#项目(基于VS2022版)
  • 本地电脑安装DeepSeek
  • 【特殊场景应对9】视频简历的适用场景与风险分析
  • Python----深度学习(基于DNN的PM2.5预测)
  • 作为高速通道光纤传输模式怎么理解以及到底有哪些?
  • “CSDN还有皮肤?“-如何更换(全网最新)
  • 小白如何学会完整挪用Github项目?(以pix2pix为例)
  • 识破养生假象,拥抱科学健康
  • 【随笔】地理探测器原理与运用
  • Python并发编程全景解析:多线程、多进程与协程的深度对比
  • 【OSG学习笔记】Day 11: 文件格式与数据交换
  • 3.1/Q1,Charls最新文章解读
  • RNN——循环神经网络
  • Jmeter数据库url开关设置+常用Beanshell
  • NSIS打包
  • 补码底层逻辑探讨
  • Web渗透之系统入侵与提权维权
  • 100个节点的部署,整合Docker、Kubernetes和Jenkins的详细设计
  • setup语法糖
  • JVM知识点(一)---内存管理
  • EXPLAIN使用教程EXPLAIN命令分析MySQL查询性能
  • LIDC-IDRI数据集切割代码教程【pylidc库】
  • 【Linux】web服务器的部署和优化
  • 大规模数据同步后数据总条数对不上的系统性解决方案:从字段映射到全链路一致性保障