python字符串与列表与运算_[Python学习笔记1]Python语言基础 数学运算符 字符串 列表...
這個系列是我在學習Python語言的過程中記錄的筆記,主要是一些知識點匯總,而非學習教程,可供有一定編程基礎者參考。文中偏見和不足難以避免,僅供參考,歡迎批評指正。
本系列筆記主要參考文獻是官網文檔:http://docs.python.org/。在此向文檔編輯者致謝。請勿將本文用于商業用途。
一、Python語言介紹
首先,Python是一種廣泛應用的通用高級編程語言,具有較高的抽象層次,支持面向對象的編程方法。其具有高級的數據結構和許多方便的庫文件,可以完成文件IO、系統調用、網絡編程,甚至有GUI庫。Python具有較高的可讀性,相對其他程序設計語言(C,C++,Java)來說,可以提高開發效率。然而,作為一種解釋型語言(interpreted language),Python在運行效率中的優勢并不明顯。所以人們經常使用Python完成簡單的、高層次的任務,在大型開發中常作為“膠水語言”連接各模塊。
Python在Windows和Linux系列操作系統上均可運行。一些版本的Linux中自帶了Python程序,其二進制版本也可在其官網上下載:http://www.python.org。(本系列文章敘述的Python使用的版本為3.4.3)
二、使用Python解釋器
在控制臺中輸入命令“python3.4”(或“python”)運行Python的解釋器,控制臺中打印出Python的版本信息,并給出提示符>>>
1 $ python3.4
2 Python 3.4 (default, Mar 16 2014, 09:25:04)3 [GCC 4.8.2] on linux4 Type "help", "copyright", "credits" or "license" formore information.5 >>>
Python的提示符“>>>”后可輸入一條語句,按下回車鍵執行該語句。如果解釋器需要多條語句,它會給出“...”提示符,提示輸入后續語句。
Python中的變量不需聲明(甚至不需指明類型)即可直接使用。在這里輸入語句:
>>>a=1
>>>
即定義了a這個變量。這次輸入表達式a,即可顯示a的數值:
>>>a1
>>>
三、表達式計算
在這里,可以嘗試使用Python來作為計算器,進行一些簡單的數值運算。
運算符
解釋
C中類似的表達
示例
a+b
a-b
a*b
a/b
加減乘除,除法為浮點除法
a+b
a-b
a*b
a/b
>>> a/3
0.3333333333333333
>>> 2.3+6.9
9.2
>>>
a//b
a%b
整除,返回整數除法
取模,返回a/b的余數
a/b
>>> 1//30>>> 50//3
16
>>>
a**b
冪運算
pow(a,b)
>>> 2**0.5
1.4142135623730951
>>> (-1)**0.5(6.123233995736766e-17+1j)>>> _**2(-1+1.2246467991473532e-16j)>>> 2**100
1267650600228229401496703205376
>>>1j**1j
(0.20787957635076193+0j)
>>>
其中,下劃線_代表之前的運算結果,(a+bj)代表復數(a+bi)。
( )
括號,同C語言
( )
四、字符串
Python中的“字符串(str)”可以用單引號或雙引號括起來,并且單、雙引號可以彼此嵌套使用。比如官方文檔中的示例:
1 >>> 'spam eggs' #single quotes
2 'spam eggs'
3 >>> 'doesn\'t' #use \' to escape the single quote...
4 "doesn't"
5 >>> "doesn't" #...or use double quotes instead
6 "doesn't"
7 >>> '"Yes," he said.'
8 '"Yes," he said.'
9 >>> "\"Yes,\" he said."
10 '"Yes," he said.'
11 >>> '"Isn\'t," she said.'
12 '"Isn\'t," she said.'
其中,以#開頭的部分為行注釋
單引號中的單引號需要使用轉義字符 \ 引導
注意12行中的 \ 為轉義字符
轉義字符還可轉義反斜線 '\\' 和換行符 '\n' ??梢允褂迷醋址?raw strings)來避免反斜線被當作轉義字符,只需在字符串前加 r 。
1 >>> print('C:\some\name') #here \n means newline!
2 C:\some3 ame4 >>> print(r'C:\some\name') #note the r before the quote
5 C:\some\name
print函數可以打印參數的值。對于數值,打印其數值;對于字符串,打印其內容。
print函數可以接多個參數,各參數間打印一個空格。比如:
>>> print(1,(-1)**0.5,'hello, world')1 (6.123233995736766e-17+1j) hello, world>>>
print函數會在行末打印一個換行符,可以在最后一個參數處自行指定行末字符(串):
>>> print(1, (-1)**0.5, 'hello, world', end='|')1 (6.123233995736766e-17+1j) hello, world|>>>
字符串還有其他的表示方法。同C的表示方法,以空格或Tab間隔的兩個字符串會自動合并起來:
>>>"Hi," 'Py' 'thon'
'Hi,Python'
多行字符串可以使用三個引號括起來。由三個引號括起來的字符串中可以包括直觀的換行符。如果在行末加入一個反斜線 \ ,則該反斜線連同后面的換行符將被忽略:
1 >>> print("""\2 ... Usage: thingy [OPTIONS]3 ... -h Display this usage message4 ... -H hostname Hostname to connect to5 ...""")6 Usage: thingy [OPTIONS]7 -h Display this usage message8 -H hostname Hostname to connect to9
10 >>>
2-5行的三個點是提示符
第1行后使用了 \ 實現了續行功能,所以U成為字符串的第一個字符
字符串中的最后一個字符為換行符(第4行末尾的換行符),該換行符被打印到第8行末尾,第9行末尾的換行符是print默認具有的
“字符串”和下面提到的“列表”都是一種“序列(sequence)”,其支持的運算在介紹列表后提到。
五、列表
列表(list)是Python中的一種數據結構,類似于廣義表。在Python的語法中,列表表示為由中括號括起來的一組逗號隔開的元素。元素的類型也可以是列表。不同元素的類型允許不同。
>>> squares = [1*1, 2*2, 3*3, 4*4, 5*5]>>>squares
[1, 4, 9, 16, 25]>>>[squares,0]
[[1, 4, 9, 16, 25], 0]>>>
list對象有一些“方法(method)”,通過調用可以對列表內容進行更改:
方法
示例
list.append(item)
將item元素插入到list最后面
>>> squares=[1,4,9,16,25]>>> squares.append(36)>>>squares
[1, 4, 9, 16, 25, 36]>>>
list.insert(n,item)
將item插入到list的第n個位置;若n超出范圍,則插入到兩邊
>>> squares=[1,4,9,16,25]>>> squares.insert(3,0)>>>squares
[1, 4, 9, 0, 16, 25]>>>
下面是字符串和列表共有的運算。
運算
示例
seq1+seq2
連接兩個序列
seq*int
int*seq
將序列重復若干次
>>> 'Happy'+'new year!'
'Happy new year!'
>>> [2]+[3]*2[2, 3, 3]>>>
seq[i]
提取序列中下標為i的元素。此處的下標與C語言類似,第一個元素下標為0,第二個元素下標為1,以此類推。Python中另外有倒數第一個元素下標為-1,倒數第二個元素下標為-2,等等。
如果下標越界,則會產生錯誤
特別地,字符串內的元素是只讀的,類似'hello'[0]=0的語句會產生錯誤
>>> 'hello'[1]'e'
>>> a=[1,2,3,4,4]>>> a[4]=5
>>>a
[1, 2, 3, 4, 5]>>>
seq[begin:end]
截取(slice)序列中從begin(含)到end(不含)處的元素。(使用過C++的標準庫的朋友應該熟悉這種規定,即begin為截取部分的首下標,end為尾后下標。)
該運算不會產生下標越界錯誤,而是可能返回空序列(空字符串''或空列表[])
該運算返回原序列的一個拷貝,即把截取部分賦值給其他變量,則通過新變量對新序列的修改不會影響原序列的內容
可以通過省略begin和/或end來隱式指定開頭和結尾(示例第7行)
可以通過對該表達式的賦值更改原序列的內容(示例第7行)
1 >>>a2 [2, 3, 4]3 >>> a=[1,2,3,4,5]4 >>> b=a[1:3]5 >>>b6 [2, 3]7 >>> b[:]=[]8 >>>b9 []10 >>>a11 [1, 2, 3, 4, 5]12 >>>
除了上述運算符外,一個經常用到的內置函數len(seq)可以計算字符串或列表的長度。
總結
以上是生活随笔為你收集整理的python字符串与列表与运算_[Python学习笔记1]Python语言基础 数学运算符 字符串 列表...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python分支switch_Pytho
- 下一篇: qgridlayout 滚动时固定第一行