企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
函数是组织好的, 可重复使用, 用来实现单一,或相关功能的代码段。 ## 函数的定义 * 函数代码块以def 关键词开头, 后接函数标识符名称和圆括号 * 任何传入的参数和自变量放在圆括号中间。圆括号之间可以用于定义参数。 * 函数的第一行语句可以选择性地使用文档字符串-用于存放函数说明 * 函数内容以冒号开始,并且缩进 * `return [表达式]` 结束函数, 选择性地返回一个值给调用方。不带表达式的return 相当于返回None 语法: ``` def 函数名( 参数列表 ): "函数_文档字符串" 函数体 return [expression] ``` 实例: ``` # 定义 def myfunc(): print("My Function") # 调用 myfunc() ``` ``` def max(a,b): if a>b: return a else: return b a = 3 b = 4 print(max(a,b)) ``` ***** 在 Python 中,函数是一种可重复使用的代码块,它可以执行一个特定的任务。你可以在你的程序中任何地方调用一个函数,使得代码更易读,更易理解。 * 以 def 关键字开头,后接函数标识符名称和圆括号**()** * 圆括号之间可以用于定义参数 * 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。 * 函数内容以冒号起始,并且缩进 * return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None Python 中的函数用 def 关键字定义,后面跟着函数名和括号。函数内的代码块应缩进。 这里有一个简单的函数定义和调用的例子: python Copy code # 定义一个函数 def greet(): print("Hello, world!") # 调用这个函数 greet() 这个函数没有参数,也没有返回任何值。如果想要一个函数接受参数,我们可以在括号中指定参数,如下: python Copy code # 定义一个接受参数的函数 def greet(name): print("Hello, " + name + "!") # 调用这个函数 greet("Alice") 如果要返回一个值,可以使用 return 关键字,如下所示: python Copy code # 定义一个返回值的函数 def add_two_numbers(num1, num2): return num1 + num2 # 调用这个函数并获取返回值 sum = add_two_numbers(3, 4) print(sum) # 输出 7 在 Python 中,函数也可以接受可变数量的参数,有默认值的参数,甚至可以返回多个值。 ## 参数传递 在Python 中, 类型属于对象, 变量是没有类型的。 `a=[1,2,3]` * `[1,2,3]` 是List 类型 * 变量a 没有类型 strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。 * 不可变类型: a=5 之后 a=10 , 新增一个int值对象, 5 被丢弃, 相当于新生成a * 可变类型: a=[1,2,3,4] , 元素改变, 本身没有变 参数传递: * 不可变类型: 值传递 * 可变类型: 引用传递 python 中一切都是对象,严格意义我们不能说值传递还是引用传递,我们应该说传不可变对象和传可变对象。 ## 参数类型 * 必备参数 * 关键字参数 ``` #可写函数说明 def printme( str ): "打印任何传入的字符串" print str return #调用printme函数 printme( str = "My string") ``` * 默认参数 ``` #可写函数说明 def printinfo( name, age = 35 ): "打印任何传入的字符串" print "Name: ", name print "Age ", age return ``` * 不定长参数 ``` def functionname([formal_args,] *var_args_tuple ): "函数_文档字符串" function_suite return [expression] ``` 加了星号(\*)的变量名会存放所有未命名的变量参数。 ## 匿名函数 使用 lambda 来创建匿名函数 ``` lambda [arg1 [,arg2,.....argn]]:expression ``` ``` # 可写函数说明 sum = lambda arg1, arg2: arg1 + arg2 # 调用sum函数 print "相加后的值为 : ", sum( 10, 20 ) print "相加后的值为 : ", sum( 20, 20 ) ``` ## return 语句 return语句\[表达式\]退出函数,选择性地向调用方返回一个表达式。不带参数值的return语句返回None ## 变量作用域