• Python上手就有


    Python上手就有

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

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

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

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

    输出结果:

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

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

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

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

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

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

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

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

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

    1. locals() 和 globals()

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

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

    test()

    输出结果:

    globals()

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

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

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

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

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

    python3 -O yourscript.py
    • 1

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

    assert 1==2

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

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

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

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

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

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

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

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

    本文由 mdnice 多平台发布

  • 相关阅读:
    SpringBoot SpringBoot 开发实用篇 5 整合第三方技术 5.1 缓存的作用
    勒索病毒最新变种.mallab勒索病毒来袭,如何恢复受感染的数据?
    k8s(三): 基本概念-ReplicaSet与Deployment
    fiddler抓包工具
    C++之list
    Flink Java 之 window(滚动, 滑动, 计数, 会话)
    Android Camera FW 里的requestId和frameId
    18 OpenCV霍夫变换检测直线
    LockSupport与线程中断
    表单嵌套表格,实现表格行内表单的校验
  • 原文地址:https://blog.csdn.net/qq_40523298/article/details/127555205