ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python 小小小进阶

2022-05-04 23:04:27  阅读:151  来源: 互联网

标签:小小 进阶 迭代 python sum list next 参数 print


函数参数类型

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

位置参数:

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

关键字参数:

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

默认参数:

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

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

可变参数

如果函数中的参数过多,我们定义起来非常的麻烦,调用起来也非常的麻烦,因此 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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有