Python快速入門之基礎知識(一)
python基礎知識
前言
下載請前往Python官網,安裝成功後在命令列輸入python即可進入Python的互動命令列。
一、整數
Python可以處理任意大小的整數,當然包括負整數,在程式中的表示方法和數學上的寫法一模一樣,例如:1,100,-8080,0,等等。
二、浮點數
浮點數也就是小數,之所以稱為浮點數,是因為按照科學記數法表示時,一個浮點數的小數點位置是可變的,比如,1.23x10^9和12.3x10^8是相等的。浮點數可以用數學寫法,如1.23,3.14,-9.01,等等。但是對於很大或很小的浮點數,就必須用科學計數法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以寫成1.2e-5,等等。
整數和浮點數在計算機內部儲存的方式是不同的,整數運算永遠是精確的(除法難道也是精確的?是的!),而浮點數運算則可能會有四捨五入的誤差。
三、字串
字串是以單引號''
或雙引號""
括起來的任意文字,比如’abc’,”xyz”等等。
'''...'''
三引號可以用來顯示多行字串內容,如:
>>> print '''line1
... line2
... line3'''
line1
line2
line3
如涉及到中文字元,儘量在字串前面加u,如u'張三'
%s表示用字串替換,%d表示用整數替換,有幾個%?佔位符,後面就跟幾個變數或者值,順序要對應好。
>>> 'Hello, %s' % 'world'
'Hello, world'
>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)
'Hi, Michael, you have $1000000.'
format()
另一種格式化字串的方法是使用字串的format()
方法,它會用傳入的引數依次替換字串內的佔位符{0}
、{1}
……,不過這種方式寫起來比%要麻煩得多:
'Hello, {0}, 成績提升了 {1:.1f}%'.format('小明', 17.125)
字串拼接直接對兩字串相加即可
>>> 'hello' + ' world!'
'hello world!'
注意:
由於Python原始碼也是一個文字檔案,所以,當你的原始碼中包含中文的時候,在儲存原始碼時,就需要務必指定儲存為UTF-8編碼。當Python直譯器讀取原始碼時,為了讓它按UTF-8編碼讀取,我們通常在檔案開頭寫上這兩行:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
四、布林值
布林值只有True
、False
兩種值。
五、空值
空值是Python裡一個特殊的值,用None
表示。None
不能理解為0
,因為0
是有意義的,而None
是一個特殊的空值
六、操作符
算術運算子: +(加), -(減), *(乘), /(除), %(求餘),
**
(指數運算)比較運算子: == , != , > , >= , < , <=
賦值運算子: =, += , -= , = , /= , %= , *= , //=
邏輯運算子: and , or , not
成員運算子: in , not in
身份運算子: is / is not
七、List和tuple
List
這就是Java或C中的陣列.它是一個容器,能用來順序的,以整數索引方式檢索, 儲存一組物件. List 用 [] 來表示,如 [1, 2, 3] 就是一個List;而 Tuple 用 () 來表示,如 (3, 4, 5) 就是一個 Tuple .
它們的區別在於List是可變的;而Tuple是不可變的.也就是說不可以增,刪和改.
索引方式除了與Java一樣的以一個整數下標方式外,還可以指定開始,結束和步長,和使用負索引來分割List:
通用語法格式是: list[start: end: step]
list[index] --- 返回第(index+1)個元素,下標從0開始
list[start:end] --- 返回從start開始,到end-1,也就是list[start], list[start+1].....list[end-1]
list[start:end:step] --- 與上面類似,只不過每隔step取一個
list[:end] ---- 預設的開端是0
list[start:] ---- 預設的結尾是len(list),或者-1
負數索引更是方便,它與正數的對應關係為:
正數索引 0 1 2 3
陣列元素 [1] [3] [5] [7]
負數索引 -4 -3 -2 -1
例項:
>>> a = [1, 3, 5, 7];
>>> a[0]
1
>>> a[3]
7
>>> a[-1]
7
>>> a[-2]
5
>>> a[0:3]
[1, 3, 5]
>>> a[1:3:2]
[3]
>>> a[0:3:2]
[1, 5]
>>> a[0:-1:2]
[1, 5]
>>>
list增刪查改:
//list是一個可變的有序表,所以,可以往list中追加元素到末尾:
list.append('Adam')
//也可以把元素插入到指定的位置,比如索引號為1的位置:
list.insert(1, 'Jack')
//要刪除list末尾的元素,用pop()方法:
list.pop()
//要刪除指定位置的元素,用pop(i)方法,其中i是索引位置:
list.pop(i)
list裡面的元素的資料型別也可以不同
list裡面也可以包含list
list的遍歷:
for item in sequence:
process(item)
#如果要取到某個item的位置,可以這樣寫:
for index in range(len(sequence)):
process(sequence[index])
for index,item in enumerate(sequence):
print index,item
tuple
tuple和list非常類似,但是tuple一旦初始化就不能修改,比如同樣是列出同學的名字:
classmates = ('Michael', 'Bob', 'Tracy')
現在,classmates這個tuple不能變了,它也沒有append(),insert()這樣的方法。其他獲取元素的方法和list是一樣的,你可以正常地使用classmates[0],classmates[-1],但不能賦值成另外的元素。
tuple裡面的元素如果是一個可變物件,那麼這個物件的子屬性是可以被改變的,物件本身的索引是不可改變的。
如tuple裡面包含一個listA,我們可以往listA裡面append,insert,但是你不能對listA賦值,不能刪掉listA。
八、dict和set
dict
dict全稱dictionary,在其他語言中也稱為map,使用鍵-值(key-value)儲存,具有極快的查詢速度。
例:
>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>> d['Michael']
95
>>> d['Michael'] = 90
>>> d['Michael']
90
- 多次對一個key放入value,後面的值會把前面的值沖掉
- 如果key不存在,dict就會報錯
要避免key不存在的錯誤,有兩種辦法,一是通過in判斷key是否存在:
>>> 'Thomas' in d
False
二是通過dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value:
>>> d.get('Thomas')
>>> d.get('Thomas', -1)
-1
- pop(key) 刪除並返回該條目值(鍵值對)
- del d[key] 也可以刪除指定元素
遍歷dict
# 方法一
for key in d:
n = d[key]
# 方法二:最慢
for k,v in d.items():
n = v
# 方法三: 最快,推薦方法
for k,v in d.iteritems():
n = v
# 方法四
for k,v in zip(d.iterkeys(),d.itervalues()):
n = v
set
set和dict類似,也是一組key的集合,但不儲存value。由於key不能重複,所以,在set中,沒有重複的key。
要建立一個set,需要提供一個list作為輸入集合:
>>> s = set([1, 2, 3])
>>> s
{1, 2, 3}
重複元素在set中自動被過濾:
>>> s = set([1, 1, 2, 2, 3, 3])
>>> s
{1, 2, 3}
通過add(key)方法可以新增元素到set中,可以重複新增,但不會有效果
>>> s.add(4)
>>> s
{1, 2, 3, 4}
>>> s.add(4)
>>> s
{1, 2, 3, 4}
通過remove(key)方法可以刪除元素:
>>> s.remove(4)
>>> s
{1, 2, 3}
set可以看成數學意義上的無序和無重複元素的集合,因此,兩個set可以做數學意義上的交集、並集等操作:
>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2
{2, 3}
>>> s1 | s2
{1, 2, 3, 4}
相關文章
- Python入門之基礎知識(一)Python
- Python 基礎(一):入門必備知識Python
- Python基礎知識入門(二)Python
- Python入門基礎知識(二)Python
- SpringBoot 基礎知識學習(一)——快速入門Spring Boot
- Python入門必知的知識點!Python基礎入門Python
- Python入門基礎知識例項,Python
- Python類的基礎入門知識Python
- WebSocket系列之基礎知識入門篇Web
- JavaScript 基礎知識入門JavaScript
- MySql入門--基礎知識MySql
- css 入門基礎知識CSS
- Python入門基礎知識學什麼?Python
- JavaScript入門①-基礎知識築基JavaScript
- sql入門基礎知識分享SQL
- Dubbo基礎入門知識點
- Java基礎知識入門-JDKJavaJDK
- Java入門基礎知識點Java
- 自媒體入門基礎知識,教你快速入門自媒體平臺
- Python基礎入門知識點——if 語句簡介Python
- Python基礎入門知識點——深淺拷貝Python
- Python培訓入門基礎知識學什麼?Python
- Linux驅動入門基礎基礎知識Linux
- Python基礎知識之字典Python
- Python基礎知識之集合Python
- 【LaTeX入門】01、LaTeX基礎知識
- Python基礎入門知識點——Python中的異常Python
- Storm入門指南第一章 基礎知識ORM
- OpenSSL 入門:密碼學基礎知識密碼學
- Java基礎知識之概述(一)Java
- Canvas快速入門知識點Canvas
- 《Python程式設計:從入門到實踐》 筆記(一)基礎知識Python程式設計筆記
- ios基礎之入門(一)iOS
- Python基礎知識之常用框架Flask!Python框架Flask
- python 爬蟲基礎知識一Python爬蟲
- Android NDK入門:C++ 基礎知識AndroidC++
- 爬蟲開發知識入門基礎(1)爬蟲
- Altium Designer 20 入門基礎知識(5)