- 函数的定义:
- 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。
-
python函数的定义:
函数的定义
备注:关键点:def声明函数,函数不是使用{}而是使用:开始函数,还有需要注意函数的语句是以缩进为标准的。
- python3的函数参数语法:python支持普通参数,关键字参数,默认参数,不定长参数,python3.8还支持强制位置参数。
- 普通参数,和java类似定义函数的时候在()定义形参,在函数调用的时候定义具体的实参,参数顺序和定义参数顺序相同,需要注意的是python3可变对象和不可变对象区分。
- 可变对象和不可变对象:python3的基础变量是不存在对象而言,基础变量的声明也不限制对象类型,即a=3标识a指向3的内存地址,后续a="xx"符合语法则标识a重新指向字符串对应的内存地址,等于重新创建一个对象给a先前的对象则废弃,python中数值型,字符串,元祖都属于不可变类型,其他列表,词典属于可变类型,可以通过其下标对其值进行修改。
- python参数针对可变变量需要注意函数内的修改影响外面的变量的使用,针对不可变变量则不影响外面的使用,函数内部的修改则是重新创建对象。
- python关键字参数:即函数调用的时候必须指明函数对应的形参名字,此参数和普通参数的区别是由于指定了参数名字传参所以不需要考虑参数的顺序。
- python默认参数:函数声明参数的时候可以指定参数的默认值,在调用函数的时候此参数可传可不传。传递会覆盖不传递使用默认参数。
- python不定长参数:python可以使用指定当前参数是不定长参数,函数调用的时候前面几种参数外的参数都属于不定长参数范围,函数中是以元祖的方式使用这个参数,使用也可以声明不定长参数,区别是函数中是以字典的形式使用不定长参数,还有就是可以在函数形参中单独使用,单独使用的时候代表*后面的参数在调用的时候必须以关键字参数即声明参数名字的方式调用。
- python3.8使用函数形参语法 / 用来指明函数形参必须使用指定位置参数,不能使用关键字参数的形式。即语法前的所有参数在函数调用的时候都得按照其顺序传入且不能使用关键字参数的形式传入。
- python3的函数参数语法:python支持普通参数,关键字参数,默认参数,不定长参数,python3.8还支持强制位置参数。
- python函数中的语句:条件语句/循环语句:
-
条件语句语法如下(if语句支持嵌套,但是语法规范建议梳理条件判断尽可能减少if语句嵌套,不然后续不好维护):
if语句
match语句- 循环语句:while循环和for循环:
-
while循环语句:
while循环语句 -
while循环语句支持else语句:即循环过程中符合要求执行要求内语句,不符合则执行else语句,简单说就是在循环完成后添加了一组逻辑执行。即:
while else循环语句-
for循环语句:for循环语句同样支持else语句即:
for循环语句
借助迭代器for循环
备注:内置函数range函数可以方便的创建数字序列,即range(1,2,3,4):创建一个1234的数字序列 方便遍历。
-
-
- python的循环语句也支持break和continue两个关键字,前者是退出整个循环,后者是退出当次循环。
- 循环语句:while循环和for循环:
-
- python中的迭代器和生成器:
- python和其他语言一样针对列表等数组结构的遍历提供了迭代器,但是python的迭代器并不仅仅是用于复合数据结构的迭代,迭代是Python最强大的功能之一,是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。迭代器有两个基本的方法:iter() 和 next()。字符串,列表或元组对象都可用于创建迭代器:迭代器的语法如下:
迭代器语法
迭代器while语法
备注:StopIteration 异常用于标识迭代的完成,防止出现无限循环的情况,在 next() 方法中我们可以设置在完成指定循环次数后触发 StopIteration 异常来结束迭代。上面的while循环就借助了停止迭代的用法。 - 针对对象创建迭代器还没有理解透彻,暂不整理后续补充。
- 生成器:在 Python 中,使用了 yield 的函数被称为生成器(generator)。跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。调用一个生成器函数,返回的是一个迭代器对象。和上面的对象迭代器相似此处的生成器也有待整理。
- python和其他语言一样针对列表等数组结构的遍历提供了迭代器,但是python的迭代器并不仅仅是用于复合数据结构的迭代,迭代是Python最强大的功能之一,是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。迭代器有两个基本的方法:iter() 和 next()。字符串,列表或元组对象都可用于创建迭代器:迭代器的语法如下:
- 推导式:python提供了一种比函数更简洁的复合数据结构的生成方式被称为推导式,列表,元祖,集合,字典都可以通过推导式由原有的变量生成新的变量,即可以从一个数据序列构建另一个新的数据序列的结构体。
-
语法:
推导式语法
备注:list1=[1,2,3,4]; list2 = i for i in list1 if i%2==0 则:list2=[2,4]
-
字典也适用于推导式,即:
字典推导式语法
-
网友评论