1. 程式人生 > >Python3基礎 str format 位置參數與關鍵字參數

Python3基礎 str format 位置參數與關鍵字參數

int rac 源碼 cond abc error dev 推薦 type

?

  • python : 3.7.0
  • OS : Ubuntu 18.04.1 LTS
  • IDE : PyCharm 2018.2.4
  • conda : 4.5.11
  • type setting : 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 py37
coder@Ubuntu:~$ 

?

addition

    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 py37
coder@Ubuntu:~$ 

?

resource

  • [文檔] https://docs.python.org/3/
  • [規範] https://www.python.org/dev/peps/pep-0008/
  • [規範] https://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_language_rules/
  • [源碼] https://www.python.org/downloads/source/
  • [ PEP ] https://www.python.org/dev/peps/
  • [平臺] https://www.cnblogs.com/

?


Python具有開源、跨平臺、解釋型、交互式等特性,值得學習。
Python的設計哲學:優雅,明確,簡單。提倡用一種方法,最好是只有一種方法來做一件事。
代碼的書寫要遵守規範,這樣有助於溝通和理解。
每種語言都有獨特的思想,初學者需要轉變思維、踏實踐行、堅持積累。

Python3基礎 str format 位置參數與關鍵字參數