7. 推导式创建序列和函数详解

1. 推导式创建序列

推导式是从一个或者多个迭代器快速创建序列的一种方法。它可以用来将循环和条件判断结合,从而避免冗长的代码。推导式是典型的python风格。

1.1列表推导式

列表推导式生成列表对象,语法格式为:

[表达式 for item in 可迭代对象]
或者
[表达式 for item in 可迭代对象 if 条件判断]

例如:

>>>[x for x in range(1,5)]
[1,2,3,4]
>>>[x*2 for x in range(20) if x%5==0]
[10,20,30]
>>>[(row,col) for row in range(1,10) for col in range(1,10)]
[(1,1),(1,2),(1,3),(1,4),(1,5)...(9,9)]

1.2. 字典推导式

字典推导式生成字典对象,格式如下:

{key_expression : value_expression for 表达式 in 可迭代对象}

例如:

>>>text = "my name is hetianxia, I love apple"
>>>{c:text.count(c) for c in text}
#可统计出字符串字符及符号出现的次数

1.3 集合推导式

集合推导式生成集合,和列表推导式的语法格式类似:

{表达式 for item in 可迭代对象}
或者
{表达式 for item in 可迭代对象 if 条件判断}

例如:

>>>{x for x in range(1,100) if x%9==0}
{99,36,72,9,45,81,18,54,90,27,63}

1.4 生成器推导式(生成元组)

>>>gnt = (x for x in range(1,100) if x%9==0)
>>>for x in gnt:
    print(x,end='')
9 18 27 36 45 54 63 72 81 90 99

2.函数

2.1 函数的基本概念

  • 一个程序由一个个任务组成:函数就是代表一个任务或者一个功能
  • 函数是代码重用的通用机制

2.2 python函数的分类

  1. 内置函数(例如str(),list(),len()等都是内置函数,可以直接拿来用的)
  2. 标准库函数(通过import导入库,然后使用库里面的函数)
  3. 第三方库函数(import导入后直接使用)
  4. 用户自定义函数(用户自己定义的函数)

2.3 函数的定义和调用

python中,函数定义语法如下:

def 函数名([参数列表]):
	"""文档字符串(注释)"""
    函数体/若干语句

函数的调用直接在语句后面输入函数名和函数需要的参数即可

PS:

1.使用def定义函数,然后就是一个空格和函数名称;

2.参数列表:

​ (1)圆括号内是形参列表,有多个参数用逗号隔开

​ (2)形参不需要声明类型,也不需要指定函数返回值类型

​ (3)无参数,也必须保留空的圆括号

​ (4)实参列表必须与形参列表一一对应

3.return返回值

​ (1)函数体若包含return语句,则执行并返回值,否则返回None

2.4 形参和实参

def printmax(a,b):
    """实现两个数的比较,并返回最大的值"""
    if a>b:
        print(a,'较大值')
    elseprint(b,'较大值')
        
printmax(10,20)

​ 该函数中,定义时写的printmax(a,b),a和b称为“形式参数”。形参只是在定义函数时使用的,形参的命名只要符合标识符命名即可。

​ 在调用函数时,传递的参数为实际参数。上述printmax(10,20)即为实参。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值