发布时间:2025-06-24 17:52:54 作者:北方职教升学中心 阅读量:824
用于声明无内容的变量上 · 定义变量,但暂时不需要变量有具体值,可以用None来代替,暂时不赋值变量具体值 name=None'''# 主动返回None的函数def say_hi2(): print("你好呀!") # 输出结果:“你好呀” return Noneresult=say_hi2()print(f"无返回值函数,返回的内容是:{result}") # 输出结果中;无返回值函数,返回的内容是:Noneprint(result) #输出结果:Nonedef say_hi2(): print("你好呀!") # 输出内容:“你好呀” return "加油,加油"result=say_hi2()print(f"与上一例子对比,我将返回值随便定义为“加油,加油”,,返回的内容是:{result}") # 与上一例子对比,我将返回值随便定义为“加油,加油”,,返回的内容是:加油,加油print(result) # 输出结果也不再是None,而是:加油加油# None用于if判断:def check_age(age): if age>18: return "已满18岁,可以进入" else: return Noneresult=check_age(22) #返回值:"已满18岁,可以进入"result_1=check_age(16) # 返回值是Noneif not result_1: #双重否定表示肯定,if判断语句,在肯定情况下执行下面要做的事情。num_4=123def test_1(): print(f"test_1:{num_4}")def test_2(): global num_4 # global关键字声明num_4是全局变量 num_4=1314 # 有了声明后,这次修改的num_4,变成了全局部变量。在这个例子中,我们定义了一个名为get_name_and_age的函数,# 它返回一个元组,包含一个名字和一个年龄。#print(num) # 报错:name'num'is not definedprint(a) # 输出结果:None,因为testA运行完后,并没有返回值,所以不能存储数值print(testA()) # 输出结果:100、当我们调用这个函数时,我们可以使用元组解包将返回的值赋给两个变量。参数不需要时,可以省略2、300、有很多应用场景1、因此在定义函数时,函数的形参不代表任何具体的值,只有函数在被调用时,才会有具体的值赋值给形参,形参个数不限量,超过1个,各个参数之间就要用英文逗号隔开,要和形式参数顺序一一对应。'''# 局部变量def testA(): num=155 num_1=377 print(num) print(num_1)a=testA() # 输出结果:155、程序中的返回值def add(a,b): result=a+b return result r=add(1,2)print(r)'''# 情况1:有返回值def add_numbers(a, b): result = a + b return resultsum_result = add_numbers(3, 5) # 把函数传入实际参数3和5后,将运行的结果8返回给函数,并将8赋值给一个新变量。 print(f"test_2:{num_4}")test_1() # 输出内容:test_1:123test_2() # 输出内容:test_2:1314print(num_4) # 输出内容:1314'''# 注意!声明和赋值,必须是分开执行,而且顺序先通过global声明是全局变量,再给变量赋值。但不会对print(num_3)输出有影响 print(f"test_2:{num_3}")test_1() # 输出内容:test_1:666test_2() # 输出内容:test_2:888print(num_3) # 输出内容:666。当我们调用这个函数并传入数字3和5时,函数会计算出和(即8),然后通过return语句将这个结果返回。函数返回值的定义:两数相加,会将相加的结果返回给函数调用者,所以,变量r接收到了函数的执行结果。此外,如果函数没有return语句或者return后面没有任何表达式,那么函数将返回一个特殊的值——None。 # 使用global关键字,让在内部修改的函数变量也能在外部打印出来。{type(result)}") #输出结果:无返回值函数,返回的内容类型是:「、无意义、None;因为testA()先调用,再打印print(a)=None.# 全局变量'''全局变量可以在整个代码文件中访问,可以在函数外定义赋值,也可以在函数内用global关键字转变为作用域。注意,Python允许用户同时使用位置参数和关键字参数,但遵循位置参数在前,关键字参数在后的原则,否则会显示语法错误,无法执行。关键字参数让我们不再需要考虑参数的顺序,函数的使用将更加容易。def add(x,y): result=x+y print(f"{x}+{y}的结果是:{result}")'''def add(): result=1+2 print(f"1+2的结果是:{result}")# 调用函数add()def add_1(x,y): # 这时候的x、<class 'NoneType'>def say_hi(): result=say_hi() # result 表达式没有任何其他计算公式,因此下面打印的结果仍然是Noneprint(result) # 输出解雇:None''''''None 类型的应用场景None作为一个特殊的字面量,用于表示:空、·实际参数:调用函数时输入的参数叫实际参数,简称实参,用于接收函数调用时用户传递的值,这个值传递方法有不同情况,输入错误可能报错。也可以写成if result==None: print("未成年人,不可以进入") # 返回值None==None,所以要打印“未成年人,不可以进入”print(result) # result=check_age(22)的返回值是: "已满18岁,可以进入",所以输出结果:已满18岁,可以进入。'''函数的基础定义语法:def 函数名(传入参数): 函数体 return 返回值(表达式)变量=函数名(参数)注意:1、'''num_2=666def test_1(): print(f"test_1:{num_2}")def test_2(): print(f"test_2:{num_2}")test_1() # 输出内容:test_1:666test_2() # 输出内容:test_2:666print(num_2) # 输出内容:666# 将函数内的局部变量修改为全局变量num_3=666def test_1(): print(f"test_1:{num_3}")def test_2(): num_3=888 # 这次修改的num_3,有变成了局部变量。'''def happy_new_year(name,year): print('祝愿'+name+str(year)+'年快乐')#调用函数,关键字参数在前,位置参数在后#happy_new_year(name='哆猫咪',2024)#运行结果如下#SyntaxError: positional argument follows keyword argument#语法错误:位置参数跟在关键字参数后面# 08 函数的说明文档'''函数时纯代码语言,想要理解其含义,就需要一行行的阅读理解代码,效率比较低。什么是函数的嵌套? · 所谓函数嵌套调用是指一个函数里面又调用另外一个函数; · 在函数A执行到调用函数B的语句,会将函数B全部执行完成后,继续执行函数A的剩余内容。def testA(): num=100 print(num)testA() # 100print(num) # 报错:name'num'is not defined变量a是定义在‘testA'函数内部的变量,在函数外部访问则立即报错。def add(): global s s = 100print(s)#运行结果如下NameError: name 's' is not defined#名称错误:未定义名称“s”def add(): global s s = 100add() # 没有结果,不打印print(add()) # s在函数中的运行结束,且函数没否返回值,所以print(add())的打印结果是Noneprint(s) #n 直接按照全局变量打印出来,打印结果100print(s*s)#运行结果如下None10010000'''