你需要知道的 20 个 Python 技巧

海拥* 2021-10-25 20:06:56
技巧 Python 知道 需要 要知道

作者主页:海拥
作者简介:CSDN全栈领域优质创作者、HDZ核心组成员、蝉联C站周榜前十
粉丝福利:粉丝群 每周送四本书,每月送各种小礼品(搪瓷杯、抱枕、鼠标垫、马克杯等)

直接跳到末尾 去评论区领书

目录

1.用itertools排列
2.单行条件表达式
3. 反转字符串
‍ 4. 使用 Assert 处理异常
5. 对多个输入使用拆分
6. 用 zip() 转置矩阵
7. 资源上下文管理器
8. 下划线作为分隔符
9. 尝试 f 字符串格式
🧦 10.用这个技巧交换整数
11. 使用 lambda 代替函数
12.多次打印无循环
13. 将字符串解包为变量
14. 使用 Map 进行列表理解
15. 从列表中删除重复项
16. 打印语句中的条件
17. 条件列表 All 和 Any
18. 合并两个字典
19.检查执行时间
20.检查函数库
🧵 去评论区领书

1.用itertools排列

在这个程序中,我们导入了名为 itertools 的内置模块。使用 itertools,您可以找到给定字符串的所有排列。在 itertools 中有很多方法,您可以尝试组合和其他方法。

import itertools
name= 'Python'
for i in itertools.permutations(name):
print(i)

回到目录


2.单行条件表达式

此条件表达式已添加到 Python 2.5 版本中。这可以与A if condition else B语法一起使用。首先,评估条件并根据条件的布尔值返回。如果为真,则返回 A,否则,如果为假,则返回 B。

x=10
y=100
res = x if x>y else y
print(f"The greater number is {
res}")

回到目录


3. 反转字符串

在这个程序中,我们使用扩展切片来反转字符串,扩展切片使用[begin:end:step]语法。所以当我们跳过开始、结束和步骤时,我们传递 (-1) 作为值。这将反转给定的字符串。

string = "medium"
reverse_string = string[::-1]
print(f"The reversed string is {
reverse_string}")

回到目录


‍ 4. 使用 Assert 处理异常

异常处理是编程中一个非常重要的概念。使用 assert 关键字和给定的条件打印错误语句。如果给定的条件不为真,那么它将打印一条错误消息并终止程序。

x = int(input("enter a number to divide "))
assert x<=-1 and x>0, 'Number should be greater than 0'
ans = 100/x
print(f'The output is {
ans}')

回到目录


5. 对多个输入使用拆分

split() 是字符串方法之一,它将字符串拆分为一个列表。此方法中使用的默认分隔符是空格。在这个程序中,不是为输入操作创建三个重复的行,而是用一行替换。

a,b,c = input("Enter the value for a, b, c :").split()
print(a)
print(b)
print(c)

回到目录


6. 用 zip() 转置矩阵

Zip 函数具有来自不同列的任意数量的可迭代对象并聚合相应的元组。星号(*) 运算符用于解压缩列表。稍后列表被更改为给定列表的转置矩阵。

matrix=[[1,2],[3,4],[5,6]]
trans=zip( *matrix)
print(list(trans))

回到目录


7. 资源上下文管理器

资源管理是编程过程中的重要任务之一。访问和释放文件、锁和其他资源是一项繁忙的任务。如果没有正确关闭资源,可能会导致内存泄漏等几个问题。为了解决这个问题,不要每次都使用 open 和 close 方法,而是使用代码片段中所示的上下文管理器。

with open("demo.txt", mode="w") as file:
file.write('Hola!')

回到目录


8. 下划线作为分隔符

在程序中使用大数字时,使用下划线代替逗号作为分隔符可以提高可读性。Python 语法不承认下划线。它用下划线表示,以首选格式表示数字并且可读。

x = 10_000_000_000
print(f" It is Ten Billion: {
x}")

回到目录


9. 尝试 f 字符串格式

F 字符串格式是在 Python 3.6 版本中引入的。它是最简单易行的字符串格式化方法。使用 f 字符串格式而不是传统格式使代码易于理解。

Name = input("Enter your name ")
print(f'Hello{
Name}! This is a Python Example')

回到目录


🧦 10.用这个技巧交换整数

注意交换整数是在不使用临时变量的情况下完成的。Python 从左到右计算表达式,但在赋值操作中,首先计算右侧。这为右侧变量(b 和 a)创建了元组,其值是从左侧变量分配的。此过程有助于交换变量。

a,b = input("Enter the value for a, b :").split()
a,b = b,a
print(a,b)

回到目录


11. 使用 lambda 代替函数

Lambda 是最强大的函数之一,也称为匿名函数。它不需要名称或函数定义或返回语句。普通函数 def 关键字,而 lambda 函数使用 lambda 关键字。它的工作方式与函数类似,只是它只适用于一个表达式。

x = lambda a, b : a + b
print(x(1, 2))

回到目录


12.多次打印无循环

在这个程序中,我们尝试使用单行而不使用循环多次打印语句。星号 (*) 使您能够将语句打印指定的次数。

print("This is a Python example to print this 100 times\n" *100)

回到目录


13. 将字符串解包为变量

一个序列或一个字符串可以解包成不同的变量。在这个程序中,python字符串字母将分别解压到变量中。程序的输出将是 p、y、t。

name='Python'
a,b,c,d,e,f =name
print(a)
print(b)
print(c)

回到目录


14. 使用 Map 进行列表理解

在这个程序中,我们尝试将元素添加到列表中。为此,我们将 lambda 函数与 map 和 list comprehension 结合使用。该程序的输出将是 [12, 15, 18]。

num1=[1,2,3]
num2= [4,5,6]
num3=[7,8,9]
result= map(lambda x,y,z:x+y+z,num1,num2,num3)
print(list(result))

回到目录


15. 从列表中删除重复项

在这个程序中,我们尝试从列表中删除重复项。要记住的一件事是集合不允许重复。我们将列表传递给 set(),并再次将其更改为列表,删除列表中的所有重复元素。

old_list = [1,2,2,3,3,4,5,5,6]
new_list = list(set(old_list))
print(new_list)

回到目录


16. 打印语句中的条件

这个程序很有趣并且包含了相当多的操作。首先,将执行输入法,然后将输入值更改为整数。然后它将检查条件并返回一个布尔值。如果它返回,一个非零数字奇数将是输出,或者,如果它返回零,那么偶数将是输出。

print("odd" if int(input("enter the value"))%2 else "even")

回到目录


17. 条件列表 All 和 Any

在这个程序中,我们一次检查一个条件列表。有两个函数:all()和any()。顾名思义,当我们使用 all() 时,所有条件都必须为真。并且当使用any()时,即使其中一个条件为真,代码块也会被执行。

Marks = 350
Percentage = 60
Passed = 5
Conditions = [Marks>200, Percentage>50,Passed>4]
if(all(Conditions)):
print("Hired for a company A")
elif(any(Conditions)):
print("Hired for a company B")
else:
print("Rejected")

回到目录


18. 合并两个字典

这一条现在已经弃用了

在这个程序中,我们尝试合并两个字典。请注意,在此程序中,可以使用“|”完成合并 操作员。

Household = {
'Groceries':'100','Electricity':'150'}
Travel = {
'Food':'50','Accomodation':'122','Transport':'70'}
Expense = Household | Travel
print(Expense)

回到目录


19.检查执行时间

通过导入timeit包来检查程序的执行时间。在这个程序中,形成一个1到1000个列表的执行时间。

import timeit
execution_time = timeit.timeit('list(range(1,1000))')
print(execution_time)

回到目录


20.检查函数库

在这个程序中,我们尝试检查函数的库。itertools 的所有属性和模块都会用这个程序打印出来。

import itertools
print(dir(itertools))

回到目录


评论区抽粉丝送书啦

欢迎大家在评论区提出意见和建议! (抽两位幸运儿送书,实物图如下)

在这里插入图片描述

《机器学习与深度学习算法基础》

【内容简介】

本书从机器学习的概念与基本原理开始,介绍了机器学习及近年来流行的深度学习领域的经典模型。阅读本书可以让读者系统地了解机器学习和深度学习领域的基本知识,领会模型算法的思路与策略。
本书分为两篇,共18章。一篇为经典机器学习模型,主要介绍常用的机器学习经典模型,包括线性回归、支持向量机模型、逻辑斯蒂回归、决策树模型、k近邻、朴素贝叶斯、线性判别分析和主成分分析、流形学习、聚类算法、稀疏编码、直推式支持向量机、集成算法。第二篇为深度学习模型与方法,剖析神经网络的基本要素,并介绍常用的深度学习模型,包括感知机、卷积神经网络、循环神经网络、生成对抗网络。

也有不想靠抽,想自己买的同学可以参考下面的链接

京东自营购买链接:

《机器学习与深度学习算法基础》(贾壮) - 京东图书

当当自营购买链接:

《机器学习与深度学习算法基础》- 当当图书

注意:

大家点赞关注,三天后也就是 10月25日 从评论区留言的同学中抽取两位送书

面试题库:Java、Python、前端核心知识点大全和面试真题资料
电子图书:图灵程序丛书 300本、机械工业出版社6000册免费正版图书
办公用品:精品PPT模板几千套,简历模板一千多套
学习资料:2300套PHP建站源码,微信小程序入门资料

如果中奖了联系不上则视为放弃,可以从下方公众号里找到作者的联系方式,每周都会送四本书,后面送书力度还会加大,一年送几百上千本不是问题,回复【进群】领书不迷路,群内 每位成员 我都会送一本。回复【资源】可获取上面的资料

版权声明
本文为[海拥*]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_44273429/article/details/120902198

  1. Python的多任务编程
  2. Python Advanced (21) Typing module - - type prompt support
  3. Error debugging is accurate to line, match case pattern matching... The official version of Python 3.10 is really friendly
  4. Introduction to machine learning: 7000 word detailed Python environment installation
  5. Comparison of Python small knowledge objects
  6. Python的多任務編程
  7. 用vscode来debug多个python文件问题
  8. Programmation multitâche en python
  9. Python utilise un dictionnaire pour concevoir un programme pour saisir les présentations des étudiants
  10. 用vscode來debug多個python文件問題
  11. Déboguer plusieurs problèmes de fichiers python avec vscode
  12. L'opération de division d'entiers Python produit plus de trois chiffres et des centaines de chiffres
  13. python 加密-对exe加密
  14. [Python] dixtra algorithm
  15. PYTHON贝叶斯推断计算:用BETA先验分布推断概率和可视化案例
  16. python中如何用递归实现二进制转十进制
  17. python中如何用遞歸實現二進制轉十進制
  18. Comment implémenter le binaire à la décimale en python avec récursion
  19. Python Bayesian Inference Calculation: Inference Probability and Visualization Case Using Beta precedent distribution
  20. Python+selenium 实现自动上传并发布好看短视频实例演示
  21. Python + sélénium implémente le téléchargement automatique et la publication d'une démonstration d'instance vidéo courte et belle
  22. Python爬虫能当副业吗?到了哪个层次能接单?解析能挣钱的方式
  23. 大佬今天教你用python制作五款简单又好玩的小游戏
  24. Les reptiles Python peuvent - ils être une entreprise secondaire? À quel niveau les commandes peuvent - elles être reçues? Analyse des moyens de gagner de l'argent
  25. Python+微信小程序开发(五)for指令和上传图片
  26. Python+微信小程序开发(四)页面跳转和获取用户信息
  27. Python+微信小程序开发(三)开发小程序及页面布局
  28. If I had these resources when I first learned python, I wouldn't have been tortured for so long!
  29. If you want to learn Python well, [container / iteratable object / iterator / generator] must learn Python steadily!
  30. 用Python定义一个函数用于比较两个数并返回较大的数
  31. 用Python定義一個函數用於比較兩個數並返回較大的數
  32. Définir une fonction en python pour comparer deux nombres et renvoyer un nombre plus grand
  33. python自定义错误self.args是什么意思
  34. Que signifie Python Custom Error self.args
  35. 用python编写一个用n填充列表的程序
  36. 用python編寫一個用n填充列錶的程序
  37. Écrivez un programme qui remplit la liste avec n en python
  38. 你需要知道的 20 个 Python 技巧
  39. Python development learning how to quickly enter the programming industry
  40. 20 conseils Python que vous devez connaître
  41. python中关于数列删减问题
  42. Python frequently asked questions - PIP install specifies the requirements.txt exported by the poetry, and an error is reported: in -- require hashes mode, all req
  43. Sur le problème de la réduction des séries en python
  44. 关于Python安装的问题(不知道自己下的什么)
  45. What do Python's u, R, B, f mean?
  46. Actual combat! Why is Changjin lake so popular? I use Python to analyze cat eye reviews.
  47. Python用xpath定位正确返回的是返回空值
  48. Python error handling
  49. django_celery_beat的clocked定时任务不触发
  50. Python renvoie une valeur nulle si elle est correctement retournée en utilisant XPath
  51. 关于#python#的问题:sqlalchemy.exc.ProgrammingError: (pymysql.err.ProgrammingError)
  52. python + selenium 能定位出来算你厉害
  53. Python + sélénium peut vous localiser.
  54. Python code reading (Chapter 13): check whether the elements in the list are the same
  55. Python online retail data association rule mining Apriori algorithm data visualization
  56. python习题,要求用for循环和if语句。
  57. 用Python获得女友聊天记录,一招解决疑神疑鬼
  58. Obtenez le chat de votre petite amie en python pour résoudre les problèmes
  59. Les exercices Python nécessitent des boucles pour et des énoncés if.
  60. Python code reading (Chapter 13): check whether the elements in the list are the same