Python學習(二)

來源:互聯網
上載者:User
文章目錄
  • 1、常量:
  • 2、數:
  • 3、字串:
接上:Python學習(一)三、基本概念1、常量:

一個字面意義上的常量的例子是如同5、1.23、9.25e-3這樣的數,或者如同'This is a string'、"It's a string!"這樣的字串。它們被稱作字面意義上的,因為它們具備 字面 的意義——你按照它們的字面意義使用它們的值。數2總是代表它自己,而不會是別的什麼東西——它是一個常量,因為不能改變它的值。因此,所有這些都被稱為字面意義上的常量。

2、數:

在Python中有4種類型的數——整數、長整數、浮點數和複數。

  • 2是一個整數的例子。
  • 長整數不過是大一些的整數。
  • 3.2352.3E-4是浮點數的例子。E標記表示10的冪。在這裡,52.3E-4表示52.3 * 10-4。
  • (-5+4j)(2.3-4.6j)是複數的例子。
3、字串:

字串是字元的序列 。字串基本上就是一組單詞。

幾乎在每個Python程式中都要用到字串,所以以下內容非常重要。

如何在Python中使用字串:

  • 使用單引號('):可以用單引號指示字串,如'Quote me on this'。所有的空格和定位字元都照原樣保留。
  • 使用雙引號("):在雙引號中的字串與單引號中的字串的使用完全相同,例如"What's your name?"。
  • 使用三引號('''或"""):利用三引號,可以指示一個多行的字串。我們可以在三引號中自由的使用單引號和雙引號。例如:
'''This is a multi-line string. This is the first line.
This is the second line.
"What's your name?," I asked.
He said "Bond, James Bond."
'''
轉義符

假設我們要在一個字串中包含一個單引號('),可以通過轉義符來完成這個任務。例如,這個字串是What's your name?。我們不能用'What's your name?'來指示它,因為Python會弄不明白這個字串從何處開始,何處結束。所以,你需要指明單引號而不是字串的結尾,這裡我們用反斜線\'來指示單引號。所以可以把字串表示為'What\'s your name?'。另一個表示這個特別的字串的方法是"What's your name?",即用雙引號。類似地,要在雙引號字串中使用雙引號本身的時候,也可以藉助於轉義符。另外,轉義符\\來指示反斜線本身。

注意:在一個字串中,行末的單獨一個反斜線表示字串在下一行繼續,而不是開始一個新的行。例如:

"This is the first sentence.\
This is the second sentence."

等價於"This is the first sentence. This is the second sentence."

自然字串

如果我們想要指示某些不需要如轉義符那樣的特別處理的字串,那麼需要指定一個自然字串。自然字串通過給字串加上首碼r或R來指定。例如r"Newlines are indicated by \n"。

注意:
  • 字串是不可變的:即我們定義了一個字串以後我們將不能改變它的值,這跟C++等語言的字串是不同的。
  • 按字面意義級連字號串:如果把兩個字串按字面意義相鄰放著,他們會被Python自動連接。例如,'What\'s' 'your name?'會被自動轉為"What's your name?"。
  • 在Python中沒有專門的char資料類型。確實沒有需要有這個類型。
  • 單引號和雙引號字串是完全相同的。
  • 一定要用自然字串處理Regex,否則會需要使用很多的反斜線。例如,後向引用符可以寫成'\\1'或r'\1'。
格式化方法:

我們可以通過使用format()方法來格式化字串:

# Filename: str_format.py age = 26name = 'Swaroop' print('{0} is {1} years old'.format(name, age))print('Why is {0} playing with that python?'.format(name))

輸出:

C:\Users\Administrator>python D:\python\str_format.py
Swaroop is 26 years old
Why is Swaroop playing with that python?

工作原理:
  • 我們可以通過在字串後面使用format()方法來將相應的格式和參數整合到字串中。
  • 例子中{0}對應的是format()的第一個變數name,{1}對應的是其第二個變數age。
  • 注意,我們也可以使用name + ' is ' + str(age) + ' years old' 來達到同樣的效果,不過更麻煩,而且容易出錯, 這裡format()方法會自動代替這裡的強制轉換,同時,因為變數和字串本身分離,方便了更改。

format()方法還有更多的用法:

>>> '{0:.3}'.format(1/3) # 為1/3保留3為小數 '0.333'
>>> '{0:_^11}'.format('hello') #輸出hello,佔11位,兩邊用'_'填充,優先填充右邊,如果填充數小於字元長度,按原字元輸出 '___hello___'
>>> '{name} wrote {book}'.format(name='Swaroop', book='A Byte of Python') # 按變數名匹配 'Swaroop wrote A Byte of Python'

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.