网站LOGO
博客 | 棋の小站
页面加载中
12月6日
达尔达尼亚瀑布,博洛尼亚,意大利 ...
网站LOGO 博客 | 棋の小站
记录学习,心得,状态,生活。
菜单
  • 热评
    用户的头像
    首次访问
    上次留言
    累计留言
    我的等级
    我的角色
    打赏二维码
    打赏博主
    奇怪的知识:Py`*`和`_`号的使用
    点击复制本页地址
    微信扫一扫
    文章二维码
    文章图片 文章标题
    创建时间
  • 一 言
    确认删除此评论么? 确认
  • 本弹窗介绍内容来自,本网站不对其中内容负责。
    按住ctrl可打开默认菜单

    奇怪的知识:Py`*`和`_`号的使用

    · 原创 ·
    学学编程 · Python
    共 2255 字 · 约 1 分钟 · 229

    有些人看到这个标题的时候可能会问,*号不就是乘法用的吗?下画线不就是用来命名变量的吗?单下画线开头的变量表示保护变量,双下画线开头表示私有变量,可是Python远比你想象的强大。Python中这些特殊的符号还有这其他不同的含义。本篇文章将从基础到高级用法,带你探索一下这两个神奇的符号。

    “*”号

    *号最基础的当然就是相乘和乘方了。

    python 代码:
    print('5 * 5 =', 5 * 5)  # 5 * 5 = 25
    print('2 ** 3 =', 2 ** 3)  # 2 ** 3 = 8

    列表的连接。

    python 代码:
    lst = [1, 2, 3] * 2
    print(lst)  # [1, 2, 3, 1, 2, 3]

    列表解包。

    python 代码:
    lst = [1, 2, 3]
    print(lst) # [1, 2, 3]
    print(*lst) # 1 2 3

    解包字典,但是不常用。

    python 代码:
    dic = {'a': 1, 'b': 2}
    print(dic)  # {'a': 1, 'b': 2}
    print(*dic)  # a b

    扩展列表。

    python 代码:
    lst1 = [1, 2, 3]
    lst2 = [4, 5, 6]
    l = [*lst1, *lst2]
    print(l) [1, 2, 3, 4, 5, 6]

    对列表解包后取中间的多个元素。

    python 代码:
    lst1 = [1, 2, 3, 4]
    lst2 = [5, 6, 7, 8]
    a, *b, c = lst1 + lst2
    print(a)
    print(b)
    print(c)

    在形参列表中作为位置参数和关键字参数的分隔符,在“*”之后的参数只能使用关键字指定。

    python 代码:
    def f(a, *, b):
        ...
    
    f(1, 2)
    f(1, b=2)
    错误提示错误提示

    “_”号

    声明为无关变量。

    python 代码:
    for _ in range(3):
        print('Hello Python')
    # Hello Python
    # Hello Python
    # Hello Python

    在交互式Python中代表上一个表达式的值。

    运行结果运行结果

    使数字变得易读。

    python 代码:
    million = 100_0000
    billion = 10_0000_0000
    print(million) # 1000000
    print(billion) # 1000000000

    避免自定义函数与关键字重名。

    python 代码:
    def or_(expr1, expr2):
        return expr1 or expr2
    
    print(or_(True, False))  # True
    声明:本文由 (博主)原创,依据 CC-BY-NC-SA 4.0 许可协议 授权,转载请注明出处。

    还没有人喜爱这篇文章呢

    现在已有

    4

    条评论
    发一条!
    1. 头像
      Fgaoxing
      • 等级:Lv.3
      • 角色:访客
      • 在线:很久之前

      另外看强、弱私有变量了,不过建议说说py的伪私有,就是_类名__函数名

      · · · 黑龙江-哈尔滨
      1. 头像
        Fgaoxing

        这个也是在云笔记里有,感谢你的建议

        · · · 辽宁-沈阳
    2. 头像
      Fgaoxing
      • 等级:Lv.3
      • 角色:访客
      • 在线:很久之前

      _和Go有点像,其实有*的

      · · · 黑龙江-哈尔滨
      1. 头像
        Fgaoxing

        嗯函数作为字典传递吗,但是这个我的云笔记里头有这里就没打算写

        · · · 辽宁-沈阳
    博客logo 博客 | 棋の小站 记录学习,心得,状态,生活。
    ICP 冀ICP备2023007665号 ICP 冀公网安备 13030202003453号

    🕛

    本站已运行 221 天 13 小时 29 分

    👁️

    今日访问量:61 昨日访问量:2564

    🌳

    建站:Typecho 主题:MyLife
    博客 | 棋の小站. © 2023 ~ 2023.
    网站logo

    博客 | 棋の小站 记录学习,心得,状态,生活。
     
     
     
     
    壁纸