ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Python函数def,新手必踩6个坑!看完彻底搞懂

2026/8/28 19:23:35 拓冰建站 浏览量
Python函数def,新手必踩6个坑!看完彻底搞懂 处在入门阶段时, 函数也就是当中的def, 它属于“模块化编程”的关键基础条件, 只有把函数学会了, 代码才能够得以具备更加简单直接简洁特点的同时有更为容易维护的特性。可是偏偏有好多刚开始接触函数的新手, 满心都是疑惑, 他们会问, 函数具体该怎么去进行定义, 参数又究竟要怎样去传递, 函数到底有着什么样的用途?今天剖析新手最常碰到的6个函数疑惑, 联合实战代码, 新手也能够轻易透彻理解一、困惑1函数怎么定义必须有参数吗函数定义有着固定格式, 其格式为: def 函数名(参数): , 接着是缩进的函数体, 参数并非是必须存在的, 也就是说可以没有参数。3种常见函数实战示例# 1. 无参数函数不需要传值 def say_hello(): print(Hello Python!) # 调用函数直接写函数名括号 say_hello() # 输出Hello Python! # 2. 有参数函数需要传值 def add(a, b): print(a b) # 调用函数传入参数 add(10, 20) # 输出30 # 3. 有默认参数函数不传值就用默认值 def add(a, b5): # b的默认值是5 print(a b) add(10) # 不传b用默认值5输出15 add(10, 20) # 传b用传入的值20输出30二、困惑2函数参数顺序错了会报错吗会的函数参数那所谓的“位置”可是相当重要的, 按照默认的情况而言, 传进去的参数得跟定义时这些参数的顺序保持一致才行, 不然的话就会出现逻辑方面的错误不一定立马呈现报错的状态, 不过最终得出的结果会是不对的。错误示例参数顺序错def student(name, age): print(f姓名{name}年龄{age}) # 顺序错了把年龄传给name姓名传给age student(18, 小明) # 输出姓名18年龄小明逻辑错误正确写法顺序一致student(小明, 18) # 输出姓名小明年龄18若记不清顺序, 可采用“关键字参数”, 也就是参数名等于值的形式使用, 无需理会顺序, 这是一种技巧。student(age18, name小明) # 正确输出姓名小明年龄18三、困惑3和print的区别到底是什么容易混淆 print 的初学着, 当认为 print二者都属于为有着“输出内容”情况来展现时, 事实上全然不一样, 要是存在错误使用状况, 那么会致使程序出现差错核心区别对比示例# 用print的函数 def add1(a, b): print(a b) # 只打印不返回 # 调用函数无法获取结果 result1 add1(10, 20) # 输出30 print(result1) # 输出None没有return默认返回None # 用return的函数 def add2(a, b): return a b # 返回结果不打印 # 调用函数获取返回值再打印 result2 add2(10, 20) print(result2) # 输出30四、困惑4函数里定义的变量外面能用到吗不行于函数当中所定义的变量也就是局部变量, 仅仅能够在函数的内部予以运用, 在其外部是没有办法进行访问的而在外部定义的变量即全局变量, 函数的内部能够加以使用。错误示例局部变量外部访问def test(): a 10 # 局部变量只能在函数内部用 test() print(a) # 报错name a is not defined正确用法全局变量a 10 # 全局变量函数内部可以用 def test(): print(a) # 可以访问全局变量a test() # 输出10五、困惑5函数可以调用另一个函数吗行得通这属于函数的一项显著优势之处, 能够使得代码变得更为简洁, 更为模块化, 初涉者能够大胆地加以运用。实战示例函数嵌套调用# 定义函数1计算两个数的和 def add(a, b): return a b # 定义函数2计算三个数的和调用add函数 def add_three(a, b, c): # 调用add函数计算ab再和c相加 return add(a, b) c # 调用函数 print(add_three(10, 20, 30)) # 输出60六、困惑6函数必须有吗不是这样的要是函数并不需要去返回结果, 那么就能够不进行书写, 在这个时候函数会默认返回None , 也就是空值有标点符号。示例# 不需要返回结果只做打印 def show_info(name): print(f姓名{name}) # 调用函数不需要接收返回值 show_info(小明) # 输出姓名小明新手函数避坑总结1. 函数的定义呈现为, def 函数名(参数), 紧接着是缩进体, 参数是可以没有的。2. 参数顺序要一致不确定就用关键字参数3. print是打印是返回结果别混淆4. 局部变量只能在函数内用全局变量可在函数内用5. 函数可以嵌套调用代码更简洁6. 函数不一定需要看需求。写函数之际, 最为经常碰到啥困惑? 于评论区留言, 留意我, 入门会更轻松