千家信息网

有哪些重要的Python技巧

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇内容介绍了"有哪些重要的Python技巧"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、变量的
千家信息网最后更新 2026年11月01日有哪些重要的Python技巧

本篇内容介绍了"有哪些重要的Python技巧"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

一、变量的交换

a = 1  b = 2  如果我们需要交换a 和 b中的内容  我们通常可以定义一个临是变量tmp tmp = a   a = b  b = tmp

先将a 的内容存放在其中,然后将a 设置成b,再将b 设置成这个临时的变量;

不过上面这段代码其实在Python中可以被改写成这样:这样的话,程序的可读性就提高了很多;

a = 1  b = 2  a, bb = b, a

二、字符串的格式化

name = "Chan"  print("Hi, I'm" + name)

通常我们在程序中需要组合或拼接字符串的话,我们用加号来做字符串的连接,如果做两个字符串的连接,这样做其实并没有什么问题,但如果字符串比较多的话,类似这种情况:

name = "Chan"  country = "China"  age = 23  print("Hi, I'm " + name + ". I'm from " + country + ". And I'm " + str(age) + "."

这样的程序就会显得非常的杂乱并且不易阅读;而且,当我们在连接整形数据的时候,还需要进行类型的转化,不然程序会报错。

其实,我们可以把程序写成这个样子,利用Python的百分号语法来格式化字符串,其中%s代表这里会被替代成一个字符串,%d表示这里会被替换成一个替换成一个十进制,最后面括号内里的内容表示会被替换的内容:

name = "Chan"  country = "China"  age = 23  print("Hi, I'm %s. I'm from %s. And I'm %d." % (name,country,age))

虽然程序写成这样已经好看很多了,但是我们在这里还可以做的更好一些,我们可以利用python中的format函数和花括号语法,把程序写成下面这样:

花括号里面的内容会被替换成format函数中传入的各个参数;

name = "Chan"  country = "China"  age = 23  print("Hi, I'm {}. I'm from {}. And I'm {}.".format (name,country,age))

花括号里面的内容会被替换成format函数中传入的各个参数,使用这个函数好处是:

你可以在花括号中写入被替代的索引,同个索引的地方会被替换成同一个内容,像下面这样:

name = "Chan"  print("Hi, I'm {0}. And I'm {0}.".format (name))  结果:Hi, I'm Chan. And I'm Chan

最后一种,也是我最喜欢的,叫做f-string,我们只需要在字符串开头写一个f,花括号中的内容就会被自动替换成指定表达式的值,注意是表达式:

name = "Chan"  country = "China"  age = 23  print(f"Hi, I'm {name}. I'm from {country}. And I'm {age+1}."

三、Python中Yield语法

比如在这里,我们定义了一个fibonacci()函数,来列举斐波那契数列的前n位:0、1、1、2、3、5...

def fibonacci(n):      a = 0      b = 1      nums = []      for _ in range(n):          nums.appends(a)          a, bb = b, a+b      return nums  for i in fibonacci(10):      print(i)

我们可以修改这个fibonacci()函数来使用Python中的yield语法:

首先把append改写成yield;

然后删除num列表;

这样程序会和以上是一样的,yield a表示,每当我们计算出一个元素,就立马将这个元素送出去;并不需要等整个列表生成后再输出;yield的优势是在一些非常耗时的操作,及时输出;

def fibonacci(n):      a = 0      b = 1      for _ in range(n):          yield a           a, bb = b, a+b      return nums  for i in fibonacci(10):      print(i)

四、列表解析式

比如我们有一系列水果的名字,存放在fruit列表里,如果我们希望把列表的内容都改成大写,我们可以有很多种办法:

fruit = ["apple", "pear", "orange", "banana"]  第一种:  for i in range(len(fruit)):       fruit[i] = fruit[i].upper()   更简单的语法:  fruit = [x.upper for x in fruit]

方括号中for后面内容是告诉python,我们需要枚举fruit变量中的所有元素,而其中每个元素名称叫做x,前半部分则是将x大写upper().

做个练习,评论区可以说说这段代码是什么意思:

fruit = ["apple", "pear", "orange", "banana"]  new_fruit = [x for x in fruit if x.startwith("a")]

五:Enumerate函数

使用4的例子,我们希望按顺序输出一个列表中的所有元素,我们可以使用下面方式:

fruit = ["apple", "pear", "orange", "banana"]  for x in fruit:      print(x)

如果我们希望得到每个值对用的索引值,比如apple是0,orange是2,我们可以使用Enumerate函数,把程序改成这样:

fruit = ["apple", "pear", "orange", "banana"]  for i,x in enumerate(fruit):      print(i,x) i是索引值,x是内容值

六、反向遍历

如果我们希望对列表从后往前依次输出,那么应该怎么做呢?

其实只要加入reversed函数就可以了:

fruit = ["apple", "pear", "orange", "banana"]  for i,x in enumerate(reversed(fruit)):      print(i,x)

希望水果元素按照字母顺序输出,使用sorted函数:

fruit = ["apple", "pear", "orange", "banana"]  for i,x in enumerate(sorted(fruit)):      print(i,x)

七、字典的合并操作

比如我们有两个字典,存放不同用户的用户名和密码,可以写一个程序,将两个字典合并:

a = {"ross":"123456","xiaoming":"xiao123"}  b = {"lili":"11111","nana":"123456"}  c = {}  for k in a :      c[k] = a[k]  for k in b:      c[k] = b[k]

我们可以将程序改写成:

a = {"ross":"123456","xiaoming":"xiao123"}  b = {"lili":"11111","nana":"123456"}  c = {**a, **b}

两个**号在python中称为解包unpacking,意为将a和b的内容都直接放入c中;

八、三元运算符:

我们经常会根据条件,将变量设置成不同的值:

if score > 60:     s = "pass"   else:     s = "fail"

其实可以直接改成:

s = "pass" if score > 60 else "fail"

这里的if...else称为Python中的三元运算符;

九、序列解包

我们定义一个变量,存储名字的名和姓,如果我们想要单独提取他们的姓和名,并存入不同变量,我们最简单的办法就是使用split()函数:

Name = "Xiao Chen"  str_list = name.split()  first_name = str_list[0]  last_name = str_list[1]

其实这段代码可以被改写成:

Name = "Xiao Chen"  first_name,last_name = name.split()

我们直接将split()函数返回列表中的元素赋给first_name和last_name,这个操作在python中就被称为序列解包,这里的序列不一定是列表,可以是元组,甚至是range;

十、With语句

如果我们想打开某个文件,我们可以使用open函数,打开并读取文件;

读取后不要忘记关闭文件,如果不关闭,Python将一直占用这个文件的资源,直到程序退出为止;

f = open("suchfils.txt", "r")  s = f.read()  f.close()

对于小脚本来说,这不是什么大事,但是,对于一个长时间在服务器运行的程序,系统资源很可能被吃光,系统程序就会崩溃;所以更好的习惯是使用Python的with语句,将程序改写成:

with open("suchfils.txt", "r") as f:       s = f.read()

这样的话,就不用调用close函数了,执行完,文件就会自动关闭

"有哪些重要的Python技巧"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

程序 内容 函数 字符 字符串 元素 变量 括号 输出 文件 语法 两个 索引 不同 代码 字典 序列 重要 技巧 这样的话 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 小米移动互联网科技园 科技互联网企业 互联网科技媒体 科技互联网创业计划书 中正互联网科技招聘 互联网科技创新企业排名 哈尔滨秒房互联网科技有限公司 西藏七维空间互联网科技有限公司 互联网科技热点资讯 常德市电业局互联网科技部 顶级互联网科技成果有哪些 荆州市昕露互联网络科技有限公司 玉溪新华互联网科技好不好 元气玛特互联网科技公司是外包吗 互联网营销推广黑科技 互联网科技快讯热点 云鲸互联网络科技有限公司 长沙渺峰互联网科技有限公司 保山互联网科技靠谱吗 科技和互联网行业的特点 互联网科技名片 深圳九邦互联网科技有限公司 互联网科技网 广州紫鲸互联网科技有限公司 中国最先进互联网科技公司 中国科技互联网公司收入 来此购互联网科技有限公司 中国航天科技大学国际工业互联网 华夏恒生互联网科技013171 互联网科技和医药行业
0