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

python基础语法(三-上)

基础语法3:

1.函数:

<1>.定义一个求和函数:

def calcSum(beg,end):thesum = 0for i in range(beg,end+1):thesum += ireturn(thesum)a = calcSum(1,100)
print(a)

上述代码要注意一个重要的点:那就是返回值,若没有返回值,而是直接定义的函数里print的话,那么调用时就不要再print了,如果不小心调用时也print了,那么将会打印出两个值,第二个值为None,因为w当你调用 a = calcSum(1, 100) 时,函数虽然正确计算了累加和 5050 并打印出来,但变量 a 实际上被赋值为 None(因为函数没有返回值),所以第二个 print(a) 会输出 None

<2> .语法格式:

创建函数、调动函数,先定义再使用

<3>.函数参数:

在C++、Java中,不光要求形参和实参个数要匹配,还要求类型也匹配

但是在python中,只要求个数,对类型无要求(动态类型),在函数体里能够支持对应运算操作即可。

例:


def add(x,y):return x+yprint(add(10,20))
print(add(1.5,2.5))
print(add('Hello','world'))
print(add(10,'Hello'))

上述代码第四个打印是错误的,不支持这种运算操作。

<4>.函数返回值:


函数的参数可以视为是函数的“输入”,则函数的返回值就可以视为是函数的“输出”。

一个函数可以含有多个return,python中一个函数可以返回多个值

例:

if num % 2 == 0:return False
return True

<5>.函数的作用域:

函数内部的变量名,只能在函数内部生效。

函数内部,外部可以使用同名变量,但是是不同变量

在函数中尝试查找全局变量是可取的,但是想修改,需使用global,global x意为将x变为全局变量

<6>.链式调用:

def isOdd(num):if num % 2 == 0:return Falseelse:return Trueresult = isOdd(10)
print(result)

将一个函数的返回值作为另一个函数的参数,被称为链式调用。

<7>.嵌套调用:

Python 嵌套调用指在一个函数内部调用另一个函数,可多层嵌套。

def square(x):return x ** 2  # 计算平方def add(a, b):return a + b   # 计算加法# 嵌套调用:add(square(3), square(4)) = 3² + 4² = 25
result = add(square(3), square(4))
print(result)  # 输出 25

<8>.递归:

递归是嵌套调用中的一种特殊情况。

例:计算5!

def factor(n):if n == 1:return 1return factor(n - 1) * n result = factor(3)
print(result)

<9>.参数默认值

python中的函数,可以给形参指定默认值,带有默认值的参数,可以在调用时不传参

例:

def add(x,y,debug = False):if debug:print(f'调试信息:x = {x},y = {y}')return x+y
print(add(20,10))
print(add(10,20,True))

上述代码中。debug = False 未指定时,默认为False,且带有默认值的参数需放到没有默认值的参数后面。

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

相关文章:

  • 技术文档:变频器干扰问题与解决方案
  • 印度全印度游戏联合会(AIGF)介绍与用途
  • 本地化部署HomeAssistant语音助手并接入DeepSeek
  • git 本地提交后修改注释
  • 数控机床控制单元技术方案:基于EFISH-SCB-RK3588/SAIL-RK3588的赛扬N100/N150国产化替代全场景解析
  • Seata源码—3.全局事务注解扫描器的初始化二
  • Femap许可用户行为分析
  • 培训考试系统在职业技能培训中发挥着怎么样的作用
  • 乡村地区无人机医药配送路径规划与优化仿真
  • 山东大学计算机图形学期末复习整理5——CG10上
  • FTP 工具 vs. 命令行 SCP/RSYNC
  • (十九)Java集合框架深度解析:从基础到高级应用
  • Linux 内核核心知识热点题分析:10 个连环打通的难点
  • Modern C++(一)基本概念
  • 养生:健康生活的极简攻略
  • free void* 指令
  • list简单模拟实现
  • miniconda
  • 智能手表集成测试报告(Integration Test Report)
  • 磁盘性能测试与分析:结合fio和iostat的完整方案
  • muduo库中Channel模块的深度解析
  • LeetCode 3337.字符串转换后的长度 II:矩阵快速幂(也没有想象中的那么高级啦)
  • 小白上手RPM包制作
  • InforSuite RDS 与django结合
  • 21、工业大数据分析与实时告警 (模拟根因分析) - /数据与物联网组件/bigdata-root-cause-analysis
  • 创建你的第一个MCP服务
  • 【ROS2】ROS节点启动崩溃:rclcpp::exceptions::RCLInvalidArgument
  • Redis 大 key 问题解决方案
  • Windows软件插件-音视频捕获
  • 配置别名路径 @