zoukankan      html  css  js  c++  java
  • Python3基础 str format 位置参数与关键字参数

    •        Python : 3.7.0
    •          OS : Ubuntu 18.04.1 LTS
    •         IDE : PyCharm 2018.2.4
    •       Conda : 4.5.11
    •    typesetting : Markdown

    code

    coder@Ubuntu:~$ source activate py37
    (py37) coder@Ubuntu:~$ ipython
    Python 3.7.0 (default, Jun 28 2018, 13:15:42) 
    Type 'copyright', 'credits' or 'license' for more information
    IPython 6.5.0 -- An enhanced Interactive Python. Type '?' for help.
    
    In [1]: # 位置参数
    
    In [2]: "{0}{1}{2}{1}{0}".format("a","b","c")  # "a"填的是{0}   "b"填的是{1} "c"
       ...: 填的是2
    Out[2]: 'abcba'
    
    In [3]: 
    
    In [3]: # 关键字参数
    
    In [4]: "{var1}{var2}{var3}{var2}{var1}".format(var1="a",var2="b",var3="c")
    Out[4]: 'abcba'
    
    In [5]: 
    
    In [5]: # 混合
    
    In [6]: "{0}{var1}{var2}".format("a",var1="b",var2="c")  # 可以这么做,但不推荐
    Out[6]: 'abc'
    
    In [7]: 
    
    In [7]: "{var}{0}".format("a",var="b")
    Out[7]: 'ba'
    
    In [8]: exit
    (py37) coder@Ubuntu:~$ source deactivate
    coder@Ubuntu:~$ 
    
    

    more knowledge

        def format(self, *args, **kwargs): # known special case of str.format
            """
            S.format(*args, **kwargs) -> str
            
            Return a formatted version of S, using substitutions from args and kwargs.
            The substitutions are identified by braces ('{' and '}').
            """
            pass
    

    coder@Ubuntu:~$ source activate py37
    (py37) coder@Ubuntu:~$ ipython
    Python 3.7.0 (default, Jun 28 2018, 13:15:42) 
    Type 'copyright', 'credits' or 'license' for more information
    IPython 6.5.0 -- An enhanced Interactive Python. Type '?' for help.
    
    In [1]: # 错误的示范
    
    In [2]: "{var}{0}".format(var="b","a")
      File "<ipython-input-2-ec3e374dcf52>", line 1
        "{var}{0}".format(var="b","a")
                                 ^
    SyntaxError: positional argument follows keyword argument
    
    
    In [3]: exit
    (py37) coder@Ubuntu:~$ source deactivate
    coder@Ubuntu:~$ 
    
    

    resource

    • [文档] docs.python.org/3
    • [规范] www.python.org/dev/peps/pep-0008
    • [规范] zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_language_rules
    • [源码] www.python.org/downloads/source
    • [ PEP ] www.python.org/dev/peps
    • [平台] www.cnblogs.com
    • [平台] gitee.com


    Python具有开源、跨平台、解释型、交互式等特性,值得学习。
    Python的设计哲学:优雅,明确,简单。提倡用一种方法,最好是只有一种方法来做一件事。
    代码的书写要遵守规范,这样有助于沟通和理解。
    每种语言都有独特的思想,初学者需要转变思维、踏实践行、坚持积累。

  • 相关阅读:
    使用视图显示Oracle ACFS信息
    ORA-00600: internal error code, arguments: [ktecgsc:kcbz_objdchk], [0], [0], [1], [], [], [], [], [], [], [], []
    ORA-00600 arguments: [4194]
    闪回查询
    改写exists
    淘宝mysql月报连接
    pdb表空间巡检脚本
    Oracle表空间名称不能超过30个字符
    PL/SQL package SYS.DBMS_BACKUP_RESTORE version 19.03.00.00 in TARGET database is not current
    Linux查看进程内存占用
  • 原文地址:https://www.cnblogs.com/xingchuxin/p/10427405.html
Copyright © 2011-2022 走看看