首页 > 编程语言 >python-函数

python-函数

时间:2023-03-07 18:25:37浏览次数:43  
标签:函数 num2 python 形参 print my def

函数的定义

  先定义再使用

  def

  定义函数的时候代码不执行

  调用函数的时候代码才执行

函数的参数

  形参

    定义函数时候的参数

    形参必须是变量

  实参

    调用函数时候的参数

    实参可以是常量,变量和表达式

函数的返回值

  return

  如果一个函数没有return语句,那么这个函数就没有返回值

函数的嵌套

  一个函数的内部调用另外一个函数

变量的作用域

  局部变量

    在函数内部定义的变量

    变量的生命周期只局限在函数内部

  全局变量

    定义在函数的外部,生命周期和程序一致

    global 在函数内部修改全局变量的值

局部变量和全局变量重名

  如果在函数内部定义一个变量,名字和全局变量重名,那么在这个函数内部只能使用局部变量

#全局变量与局部变量重名
num2 = 1
def my_func1():
    num2 = 30  #这里不是为全局变量赋值,这里是定义了一个局部变量,名字和全局变量重名
    print(num2)#打印的局部变量num2的值
    num2 += 1#这里改的局部变量num2的值

def my_func2():
    print(num2)  #全局变量num2

my_func1()
my_func2()
print(num2)  #打印的全部变量num2的值

形参和实参的值传递

  如果形参的类型为数字或者字符串,在函数内部修改了形参的值,实参的值不会改变

def my_func1(a):
    a += 1
    print(a)

a = 10
my_func1(a)
print(a)

  如果形参的类型为列表、集合、字典,形参的值改变,会影响实参的值

a = [1,2,3]

def my_func1(a):
    a[0] = 10

print(a)
my_func1(a)
print(a)

形参的缺省值   

  定义形参的时候可以提供一个缺省值,调用函数的时候,如果没有提供相应的实参,那么形参会采用缺省值

def my_test1(a=1,b=10):
    print(a,b)

my_test1(1,2)
my_test1(100)
my_test1()
my_test1(100,12)

  不能把有缺省值的形参写在没有缺省值的形参的前面

匿名函数

  lambda是给特别小型的函数准备的一个简化语法

  不用写def,也不用写return

  一行代码就能定义一个函数

  语法

  lambda  参数1,参数2,......:函数执行代码

# def my_sum(a,b):
#     return a + b

my_sum = lambda a,b:a+b
num1 = my_sum(5,6)
print(num1)

带有if的匿名函数

# def my_max(a,b):
#     if a > b:
#         return a
#     else:
#         return b
# num1 =my_max(4,5)
# print(num1)

num1 = (lambda a,b : a if a>b else b)(4,5)
print(num1)

  lambda注意事项

    匿名函数内部只能有一条语句,而且这条语句要有个具体的值返回

    匿名函数不能使用print

  

 

标签:函数,num2,python,形参,print,my,def
From: https://www.cnblogs.com/suitcases/p/17124218.html

相关文章

  • 函数
    函数的定义与调用:1.函数必须先定义,后调用2.函数在定义阶段,如果有参数,调用阶段也需要给对应的参数3.函数在定义阶段只检测语法是否正确,不执行具体的代码功能4.函数......
  • mysql 去除重复字符串的函数
    CREATEDEFINER=`root`@`localhost`FUNCTION`deleteManyChar`(in_strvarchar(2000))RETURNSvarchar(2000)CHARSETutf8COLLATEutf8_unicode_ciBEGINDECLAREv_r......
  • cuda错误检查函数
    cuda大部分库函数的返回值都是cudaError_t,所以可以用一个函数来接收其他库函数的返回值,从而判断该库函数是否正常执行这个函数可以用宏来实现#defineCHECK(call)......
  • 阿里云函数计算 FC 助力高德 RTA 广告投放系统架构升级
    作者:赵庆杰(阿里云函数计算)、林雪清(阿里云函数计算)、杜玲玲(高德)、王壁成(高德)导言2023年春节,经历了三年的疫情后,我们终于在春天迎来了曙光。国人的出行热情空前高涨:......
  • 阿里云函数计算 FC 助力高德 RTA 广告投放系统架构升级
    作者:赵庆杰(阿里云函数计算)、林雪清(阿里云函数计算)、杜玲玲(高德)、王壁成(高德)导言2023年春节,经历了三年的疫情后,我们终于在春天迎来了曙光。国人的出行热情空前高涨:回家看......
  • 生成函数相关
    P6295有标号DAG计数考虑不一定弱联通的DAG的EGF,ln一下得到答案。\(F[i]\):\(i\)个点的有标号DAG数量\(F[i]=\sum_{j=1}^{i}(-1)^{j-1}\dbinom......
  • 22个受欢迎的Python不同类型开源框架
    22个受欢迎的Python不同类型开源框架记录:一、PythonWeb框架Django:PythonWeb应用开发框架链接:https://www.djangoproject.com/Django应该是最出名的Python框架,GAE甚......
  • 从青铜到王者,揭秘 Serverless 自动化函数最佳配置
    作者:丛霄背景介绍全托管的Serverless计算平台能给用户带来更少的运维代价、更强的稳定性和更快的弹性能力。Serverless的目标之一是免运维,但仍旧存在一些障碍,在Serv......
  • C++笔记-函数指针
    函数指针语法://fcnPtrisapointertoafunctionthattakesnoargumentsandreturnsanintegerint(*fcnPtr)();特点:函数指针的类型(参数和返回值)都必须和......
  • python小练习——图书管理系统(增加数据存储)
     上一次我们做了一个小的图书馆里系统,用来学习python基础部分的:函数、模块、列表、字典、循环、判断 现在我们在上一次的基础上增加一个功能,将写入系统的书籍存放起来......