广告
返回顶部
首页 > 资讯 > 后端开发 > Python >有哪些重要的Python技巧
  • 167
分享到

有哪些重要的Python技巧

2023-06-16 10:06:26 167人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

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

本篇内容介绍了“有哪些重要的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技巧”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: 有哪些重要的Python技巧

本文链接: https://www.lsjlt.com/news/283161.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 有哪些重要的Python技巧
    本篇内容介绍了“有哪些重要的Python技巧”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、变量的交换a = 1&nb...
    99+
    2023-06-16
  • Python初学者必学的重要技巧有哪些
    这篇文章主要介绍“Python初学者必学的重要技巧有哪些”,在日常操作中,相信很多人在Python初学者必学的重要技巧有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python初学者必学的重要技巧有哪些...
    99+
    2023-06-16
  • 重要的Python技能有哪些
    这篇文章主要讲解了“重要的Python技能有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“重要的Python技能有哪些”吧!1、拉姆达函数(Lambda Functions)拉姆达函数非...
    99+
    2023-06-16
  • Python的技巧有哪些
    本篇内容主要讲解“Python的技巧有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python的技巧有哪些”吧!1、对输入的字符串“消毒”对用户输入的内容“消毒”,这问题几乎适用于你编写的...
    99+
    2023-06-15
  • Python技巧有哪些
    这篇文章主要讲解了“Python技巧有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python技巧有哪些”吧!1. 列表理解列表理解可以代替丑陋的for循环来填充列表。列表理解的基本语...
    99+
    2023-06-15
  • 重定向 git 接口,Python 有哪些技巧?
    Git 是一个非常流行的版本控制系统,它可以帮助开发者更好地管理代码,并且方便多人协作开发。在 Git 中,常常会用到一些重定向技巧,以便将 Git 的输出结果导入到其他命令中,或者将其他命令的输出结果导入到 Git 中。Python 作...
    99+
    2023-08-11
    重定向 git 接口
  • 有哪些有用的Python技巧
    本篇内容介绍了“有哪些有用的Python技巧”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 函数连续调用def add(...
    99+
    2023-06-16
  • 重要的Python库有哪些
    这篇文章主要讲解了“重要的Python库有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“重要的Python库有哪些”吧!01 NumPyhttp://numpy.orgNumPy是Num...
    99+
    2023-06-15
  • 写Python的技巧有哪些
    本篇内容主要讲解“写Python的技巧有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“写Python的技巧有哪些”吧!1.导入模块你是不是经常对调用模块时输入一长串模块索引感到头疼?说实在的...
    99+
    2023-06-16
  • 有哪些Python小技巧
    这篇文章主要讲解了“有哪些Python小技巧”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“有哪些Python小技巧”吧!集合开发人员常常忘记 Python 也有集合数据类型,大家都喜欢使用列...
    99+
    2023-06-15
  • PHP使用技巧的要点有哪些
    这篇文章将为大家详细讲解有关PHP使用技巧的要点有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。程序员们对于PHP语言的学习还在不断的进步着。我们应当在实际的代码编写中不断的积累经验来完...
    99+
    2023-06-17
  • 需要掌握的JavaScript技巧有哪些
    这篇文章主要讲解了“需要掌握的JavaScript技巧有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“需要掌握的JavaScript技巧有哪些”吧!1....
    99+
    2022-10-19
  • Python入门需要了解的实用技巧有哪些
    这期内容当中小编将会给大家带来有关Python入门需要了解的实用技巧有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。主要记录 Python 中一些常用技巧Python 禅道这是Python的指导原则,...
    99+
    2023-06-17
  • Python重要的功能有哪些
    这篇文章主要介绍“Python重要的功能有哪些”,在日常操作中,相信很多人在Python重要的功能有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python重要的功能有哪些”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-16
  • 实用的Python技巧有哪些
    这篇文章主要介绍“实用的Python技巧有哪些”,在日常操作中,相信很多人在实用的Python技巧有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”实用的Python技巧有哪些”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-02
  • Python的实用技巧有哪些
    本篇内容介绍了“Python的实用技巧有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!ALL OR ANYPython之所以成为这么一门...
    99+
    2023-06-02
  • 有哪些高级的Python技巧
    本篇内容主要讲解“有哪些高级的Python技巧”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“有哪些高级的Python技巧”吧!1.通过多个键值将对象进行排序假设要对以下字典列表进行排序:peop...
    99+
    2023-06-16
  • Python的编程技巧有哪些
    以下是一些Python编程的技巧:1. 使用列表推导式:列表推导式是一种简洁的方式来创建列表。它可以通过迭代一个可迭代对象,并根据条...
    99+
    2023-09-25
    Python
  • Python有哪些好用的技巧
    本篇内容主要讲解“Python有哪些好用的技巧”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python有哪些好用的技巧”吧!import模块在Python经常使用import声明,以使用其他模...
    99+
    2023-06-02
  • C++转Python的技巧有哪些
    本篇内容主要讲解“C++转Python的技巧有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++转Python的技巧有哪些”吧!C++是跳水,Python 是潜水C++给人的感觉就像是一头...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作