python3语法学习第五天--函数(1)

函数:函数能提高应用的模块性,和代码的重复利用率,是一段可重复使用的代码块

自定义函数:

1、函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()

2、任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。

3、函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。

4、函数内容以冒号起始,并且缩进。

5、返回值return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None

语法:

  def 函数名(参数列表):
    函数体

可更改(mutable)与不可更改(immutable)对象

在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。  

不可变类型:变量赋值 a=5 后再赋值 a=10,这里实际是新生成一个 int 值对象 10,再让 a 指向它,而 5 被丢弃,不是改变a的值,相当于新生成了a。

可变类型:变量赋值 la=[1,2,3,4] 后再赋值 la[2]=5 则是将 list la 的第三个元素值更改,本身la没有动,只是其内部的一部分值被修改了。

python 函数的参数传递:

不可变类型:类似 c++ 的值传递,如 整数、字符串、元组。如fun(a),传递的只是a的值,没有影响a对象本身。比如在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。

可变类型:类似 c++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响

python 中一切都是对象,严格意义我们不能说值传递还是引用传递,我们应该说传不可变对象和传可变对象。

参数:

必需参数:调用时传的参数必须和声明时传的参数顺序和数量相同

关键字参数:调用时将‘形参名=实参’的形式传入,可以不按照顺序来传递

默认参数:声明时给形参指定值,如果调用时没有传递这个参数,便会使用默认参数

不定长参数:MyFuction(*params,exp)#不定长后有参数时,需要用关键字参数传入,建议声明函数时设一个默认参数

   “*”号:

    *params为不定长参数,加了星号 * 的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数

    加了两个星号 ** 的参数会以字典的形式导入。

    参数中星号 * 可以单独出现(a,b,*,c)#单独出现星号 * 后的参数必须用关键字传入

原文地址:https://www.cnblogs.com/code-fun/p/11735463.html

时间: 2024-07-30 07:27:01

python3语法学习第五天--函数(1)的相关文章

Lua学习笔记(五):函数

函数有两种用途: 1).完成指定的任务,这种情况下函数作为调用语句使用: 2).计算并返回值,这种情况下函数作为赋值语句表达式使用. 1 function func_name (arguments-list) 2 statements-list; 3 end; 4 5 --调用函数的时候,如果参数列表为空,必须使用()表明是函数调用 6 print(8*9, 9/8) 7 a = math.sin(3) + math.cos(10) 8 print(os.date()) 9 10 --上述规则有

C++Premer Plus学习(五)——函数探幽

一.内联函数 1.优点: 内联函数就是比较省资源,然后一般就是将简短,使用频率高的函数作为内联函数会比较合适. 2.一个demo #include "stdafx.h" #include<iostream> using namespace std; inline double Square(double x) { return x*x; } int _tmain(int argc, _TCHAR* argv[]) { int a = 16; cout << Sq

Delphi基本之pascal语法(第五章.函数与过程程序设计)

第五章.函数与过程程序设计一.函数(包括标准函数和自定义函数) 1.函数的定义 格式:FUNCTION 函数名(<形参表>):返回值类型: VAR <变量说明> BEGIN <函数体> END [注]:1.形参表每个参数都写明其类型: 2.有且只有一个返回值,并且要将返回值赋值给函数名. [例]:求五边形的面积 function area(a,b,c:real):real; var p:real; begin p:=(a+b+c)/2; area:=sqrt(p*(p-

Python学习(五)函数 —— 内置函数 lambda filter map reduce

Python 内置函数 lambda.filter.map.reduce Python 内置了一些比较特殊且实用的函数,使用这些能使你的代码简洁而易读. 下面对 Python 的 lambda.filter.map.reduce 进行初步的学习. lambda 匿名函数 lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值. lambda语句构建的其实是一个函数对象,参考下例来感受下 lambda 匿名函数: 1 def f(i): # 用户自定义返回平方数 2 retur

python3语法学习第四天--字符串、序列

字符串:是python中的常用数据类型 Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用 访问字符串的值: 下标和分片截取 字符串的连接:‘+’ 字符串内置函数挺多,选取代表性:(python有许多不仅从左边也可也从右边开始的对字符串的操作) join(sub):将sub以字符串为分隔符分割 center(width):将字符串在width的居中并且其余部分用空格补齐 ljust(width):将字符串在width的居左并且其余部分用空格补齐 lstrip():去

C++学习基础五之函数参数——形参

一.理论部分 C++中函数形参主要分为两类,如图1所示, 图1 总结: 一.当函数参数为非引用形参时,传进函数体内的是实参的拷贝,(注意,对于基本类型而言,拷贝的是实参的值,对于指针而言拷贝的是实参的地址) (1)若形参为非const的基本类型,则即可接收const实参,也可接收非const实参.只是在函数体内修改形参的值不影响实参的值. 因为对于基本类型的形参而言,传递进函数体的是实参拷贝的值,而不是实参本身,所以在函数体内修改实参的值不影响实参. (2)若形参为非const的指针类型,则即可

Python学习(五)—— 函数

一.函数 1. 定义声明 def 函数名(参数): 函数体 return 返回值 注意:函数必须在调用前完成定义声明 2. 参数 1)普通参数 def test(a): #此处参数a为普通参数 print(a) 2)指定参数 def test(a): print(a) test(a=5) #此处a为指定参数 3)默认参数 def test(a, b=3): #a为普通参数,b为默认参数 print(a+b) test(5) # 输出为8 test(5, 5) # 输出为10 4)动态参数 def

Python学习笔记五,函数及其参数

在Python中如何自定义函数:其格式为 def 函数名(函数参数): 内容 交互模式下编写函数完毕按两次回车返回>>> pass作为函数为空函数的占位符(她的意思是什么都不做),也就是说没想好写什么函数,先用pass占位,然后先让程序跑起来: 数据类型检查可以用内置函数isinstance(object,calssinfo)实现:如果参数object是classinfo的实例,或者object是classinfo类的子类的一个实例, 返回True.如果object不是一个给定类型的的对

iOS开发——swift篇&amp;经典语法(十五)函数

函数 函数是执行特定任务的代码自包含块.给定一个函数名称标识, 当执行其任务时就可以用这个标识来进行”调用”. Swift的统一的功能语法足够灵活来表达任何东西,无论是甚至没有参数名称的简单的C风格的函数表达式,还是需要为每个本地参数和外部参数设置复 杂名称的Objective-C语言风格的函数.参数提供默认值,以简化函数调用,并通过设置在输入输出参数,在函数执行完成时修改传递的变量. Swift中的每个函数都有一个类型,包括函数的参数类型和返回类型.您可以方便的使用此类型像任何其他类型一样,这