python高级编程实例(上篇)

本篇博客重点讲述了关于python高级编程的一些实现,由于篇幅比较长,因为会将该内容分为上、中、下三篇进行文章发布。后续中、下篇的内容有:二、高级语法实践——类级别以下1. 迭代器;2. 生成器;3. 装饰器;4.上下文管理器;5.其他语法元素三、高级语法实践——类级别以上1.类的三种实现方式;2.子类化内置类型;3.访问超类中的方法;4.高级属性访问模式
摘要由CSDN通过智能技术生成

一、高级语法实践——基本数据类型

1. 数字、字符串、列表的几种内置方法运用

1.1 数字取最大值、最小值

取最大值使用max()函数,最小值使用min()函数
代码示例:

list_1 = [12, 56, 32, 89, 70, 20]
# 取最大值
print('Max:%d'%max(list_1), end=', ')
# 取最小值
print('Min:%d'%min(list_1))

运行结果如下:

Max:89, Min:12

1.2 字符串的几种内置方法

s.count()   # 统计子字符串出现的次数
s.split()   # 字符串分隔,默认为所有的空字符,包含空格、换行(\n)、制表符(\t)等
s.replace(old, new, num)  # old为被替换字符串,new为替换字符串,num为替换的个数

s.find()   # 检索子字符串是否存在,并返回最先出现的索引值
s.lstrip()   # 删除字符串左端的一种或多种字符
s.rstrip()   # 删除字符串右端的一种或多种字符

字符串操作符
+   # 字符串连接
*   # 重复输出字符串
[i:j]  # 截取字符串中的一部分

1.3 列表的几种内置方法

l.extend(t)  # 列表l末尾添加一个列表t
l.remove(x)  # 移除列表l中第一个值为x的元素
l.count(x)   # 统计列表中出现元素x的次数

列表操作符
+、*、[i:j]  # 与字符串的操作一样
list[-i]    # 倒数第i个元素
list[::-1]   # 列表倒序
list[j:i:-1]  # 输出第i+2个元素到第j+1个元素的倒序
del list[i]   # 删除列表中索引为i的元素

2. 推导式

2.1 列表推导式

语法如下:

# 语法一
[value_exp for item in collection if codition]
# 语法二
[value_exp1 if codition else value_exp2 for item in collection]

普通情况下,编写这样的代码是很不便利的:

evens=[]
for i in range(10):
    if i%2==0:
        evens.append(i)

这种写法可能适用于C语言,但在python中的实际运行速度很慢,原因如下:

  • 解释器在每次循环中都需要判断序列中的哪一部分需要修改;
  • 需要用一个计数器来跟踪需要处理的元素;
  • 由于append()是一个列表方法,所以每次遍历时还需要额外执行一个查询函数。

列表推导式刚好解决这个问题。它使用编排好的功能对上述语法的一部分做了自动化处理:

[i for i in range(10) if i%2==0]

这样写法除了更加高效之外,也更加简短,涉及的语法元素也更少。

2.2 字典推导式

字典推导式与列表推导式的语法很像:

# 语法一
{
   key_exp:value_exp for key, value in dict.items() if condition}
# 语法二
{
   key_exp:value_exp1 if condition else value_exp2 for key,value in dict.items()
  • 12
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逆鳞_Kevin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值