你需要知道的 20 个 Python 技巧(1)

???? 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)


上一篇:windows 10 +fedora双系统引导修复


下一篇:MongoDB GridFS——本质上是将一个文件分割为大小为256KB的chunks 每个chunk里会放md5标识 取文件的时候会将这些chunks合并为一个整体返回