Python上手就有

Python上手就有

#7) 在Python中提示密码,同时隐藏我们用户输入的任何内容

  1. 我们可以用Python程序化地打开我们的浏览器
import webbrowser
webbrowser.open_new("https://medium.com")

注意--webbrowser模块是预装的,所以我们不需要用Pip来安装它。运行上述代码后,无论我们使用哪个浏览器,都会打开medium.com的一个新标签。

  1. 使用F字符串进行调试的更简单方法
名称 = "rocky"
年龄 = 4
品种 = "德国牧羊犬"
print(f"{name=}{age=}{breed=}")

输出结果:

name='rocky' age=4 breed='german shepherd' 名字='rocky'年龄=4,品种='german shepherd'
name = "rocky"
age = 4
breed = "german shepherd"
print(f"{name=} {age=} {breed=}")

The output:
name='rocky' age=4 breed='german shepherd'

这使我们在调试时可以少打一些东西。

  1. Python有一个内置的中位数函数

#还有其他与统计有关的函数

from statistics import median
lis = [1, 5, 3, 4, 2] 。
print(median(lis))   # 3

statistics模块是一个内置的模块,我们不需要用Pip来安装,它包含了许多其他与统计有关的函数。我不知道这个,一直以来我都在使用Numpynp.median!

  1. Python中的内置分数
from fractions import Fraction
x = Fraction(1/2)
print(x**2) # 1/4

Python在fractions模块中内置了不返回浮点数的分数。再一次,这是Python标准库的一部分,我们不需要用Pip来安装它。

  1. locals() 和 globals()

内置的 globals() 函数允许我们检查我们有哪些全局变量,而内置的 locals() 函数允许我们检查我们在函数范围内有哪些局部变量。

x = 1
y = 2
def test():
    z = 3
    print(globals())
    print(locals())

test()

输出结果:

globals()

{
    
    '__name__''__main__''__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x108a30dc0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'buildins' (included)>, '__file__''/Users/lzl/Documents/repos/testa.py''__cached__': None, 'x': 1, 'y': 2, 'test': <函数test在0x10896beb0>}。
# locals()
{ 'z': 3}

我们甚至可以使用 globals() 和 locals() 来分配全局/局部变量。但是我建议你不要这样做,因为有可能会产生副作用。

x = 1
def test():
    globals()["x"] = 5
test()
print(x) # 5
  1. __debug__变量

#可能是我们在Python中唯一不能重新赋值的变量

__debug__变量是一个布尔值,当我们正常运行我们的Python脚本时,它通常为 "真"。然而,如果我们使用-O标志运行我们的Python脚本,__debug__就会被设置为False。

python3 -O yourscript.py

当__debug__为False时,断言语句被忽略。

assert 1==2

^ 如果我们正常运行上述代码,我们会得到一个断言错误。然而,如果我们用-O标志运行它,__debug__被设置为False,断言语句被忽略。

  1. 在Python中提示密码,同时隐藏我们用户输入的任何内容

注意到许多命令行界面,如git、docker等,在你输入密码时不会打印你的密码?我们可以在Python中使用内置的getpass模块实现同样的效果。

from getpass import getpass
password = getpass()
print(password)

^ 这里,当提示输入密码时,我在命令行中输入了 "abcdefg"。由于getpass的原因,我输入的内容没有被打印出来,但被储存在变量password中。

  1. Turtle
import turtle
screen = turtle.getscreen()
x = turtle.Turtle()
for i in range(1000):
    x.forward(200)
    x.right(115)

复制这段代码并在你的电脑上运行它。并等待奇迹的发生。

总结 希望你在读完这篇文章后,至少学到了一个关于Python的新东西!

本文由 mdnice 多平台发布

猜你喜欢

转载自blog.csdn.net/qq_40523298/article/details/127555205