编程语言
首页 > 编程语言> > python 小小小进阶

python 小小小进阶

作者:互联网

函数参数类型

位置参数,关键字参数,默认参数,可变参数

位置参数:

传参时,按照实参的传递顺序,按照形参定义的顺序进行传递的传参方式

关键字参数:

穿参时, 忽略形参的顺序,按照形参等于实参的形式进行传参的传参方式 (传参时,关键字参数必须在位置参数的后面

默认参数:

在定义参数的时候,给形参一个默认的值,当调用的时候,如果不给有默认值的参数传参,就会采用默认的值

如果给有默认值的参数穿参,函数就会使用重新赋的值,当某个值变化频率较小的时候,就可以使用默认参数 ( 默认参数一定要写在形参后面

可变参数

如果函数中的参数过多,我们定义起来非常的麻烦,调用起来也非常的麻烦,因此 python给我们提供了可变参数类型。能处理比当初声明时更多的参数,会将传入的参数变成元组或键值对

*args元组参数——接收多个位置参数



def score(*nums): sum=0
    for num in nums:
        sum=sum+num

return sum

#把实际分数存放在元组里或列表里
nums1=(100, 98, 76, 89, 90) print(score(*nums1))#必须加*打散元组,不然报错

*具有打散元组或者列表的作用

**kwargs字典参数——接收多个关键字参数     

def score(**kwargs):
    sum=0
    for key in kwargs:
        sum=sum+kwargs[key]
    return sum
dic={'zs':100,'ls':98}
print(score(**dic))

**具有打散字典的作用

列表生成式、迭代器、生成器、yield函数

什么是迭代?

一件事情重复很多次,比如 for 循环

什么是可迭代对象?

for x in lis,tuple,str,dic[key],dic[values] 以上lis,tuple,str,dic[key],dic[values]都可以称为可迭代对象

那么专业点来说,什么是可迭代对象:具有iter()方法的,调用iter()方法,就会返回一个迭代器

迭代器有next()方法,在调用这个迭代器的next()方法时,迭代器就回返回它的下一个值,

当迭代器中没有值可 以返回了,就回抛出一个名为StopIteration的异常,停止迭代

list=[1,2,3,4]
# 创建迭代器对象
it = iter(list)
# 输出迭代器的下一个元素
print (next(it)) #1
print (next(it)) #2
print (next(it)) #3
print (next(it)) #4
print (next(it))#StopIteration
import sys # 引入 sys 模块
list = [1, 2, 3, 4]
it = iter(list) # 创建迭代器对象
while True:
    try:
        print(next(it),end=' ')
    except StopIteration:
sys.exit()

 

#直接用for循环列表 list=[1,2,3,4] 
for x in list: print (x, end=" ")

  

 

 

 

 

 

 

标签:小小,进阶,迭代,python,sum,list,next,参数,print
来源: https://www.cnblogs.com/Crush1998/p/16222729.html