python基礎1.0

本系列來自學習轉載廖雪峯的官方網站python

1. python簡介:解釋性語言算法

安裝python,注意路徑加入path數組

python的解釋器,cpython,Python的解釋器不少,但使用最普遍的仍是CPython。若是要和Java或.Net平臺交互,最好的辦法不是用Jython或IronPython,而是經過網絡調用來交互,確保各程序之間的獨立性網絡

2.命令行模式和python交互模式app

Python的交互模式和直接運行.py文件有什麼區別呢?編輯器

直接輸入python進入交互模式,至關於啓動了Python解釋器,可是等待你一行一行地輸入源代碼,每輸入一行就執行一行。函數

直接運行.py文件至關於啓動了Python解釋器,而後一次性把.py文件的源代碼給執行了,你是沒有機會以交互的方式輸入源代碼的。學習

用Python開發程序,徹底能夠一邊在文本編輯器裏寫代碼,一邊開一個交互式命令窗口,在寫代碼的過程當中,把部分代碼粘到命令行去驗證,事半功倍!前提是得有個27'的超大顯示器!網站

shift+enter 在交互模式中,能夠避免執行而進行換行ui

1).直接運行python文件

在Windows上是不行的,可是,在Mac和Linux上是能夠的,方法是在.py文件的第一行加上一個特殊的註釋:(使用的是python3.6)

    #!/usr/bin/env python3
   
    print('hello, world')

而後,經過命令給hello.py以執行權限:
$ chmod a+x hello.py

3.輸入和輸出

print()

print()函數也能夠接受多個字符串,用逗號「,」隔開,就能夠連成一串輸出:

 

print(100+200)

300

Python解釋器自動計算出結果300

input()

變量 = input()

python中的變量

4.python的基礎

python的語法縮進,堅持使用4個空格的縮進,複製粘貼的代碼必須檢查縮進。

類型:整數,浮點數,字符串,布爾型,列表,字典

字符串:「」或‘’括起來的文本,注意轉移字符/,轉義字符\能夠轉義不少字符,好比\n表示換行,\t表示製表符,字符\自己也要轉義,因此\\表示的字符就是\。Python還容許用r''表示''內部的字符串默認不轉義

Python容許用'''...'''的格式表示多行內容

字符串編碼

ASCII,Unicode,utf-8。注意編碼方式的大小

堅持統一使用utf-8編碼

encode()指定編碼方式

decode()指定解碼方式

格式化:佔位符

 

你可能猜到了,%運算符就是用來格式化字符串的。在字符串內部,%s表示用字符串替換,%d表示用整數替換,有幾個%?佔位符,後面就跟幾個變量或者值,順序要對應好。若是隻有一個%?,括號能夠省略。

 

常見的佔位符有:

 

格式化整數和浮點數還能夠指定是否補0和整數與小數的位數:

print('%2d-%02d' % (3, 1))
print('%.2f' % 3.1415926)
3-01
3.14

format()

 

另外一種格式化字符串的方法是使用字符串的format()方法,它會用傳入的參數依次替換字符串內的佔位符{0}{1}……,不過這種方式寫起來比%要麻煩得多:

 

'Hello, {0}, 成績提高了 {1:.1f}%'.format('小明', 17.125)
'Hello, 小明, 成績提高了 17.1%'

 

 

變量和常量

變量的命名規則

常量默認大寫字母標識,除法 / 表示精確的除法,//表示地板除,只取整數部分。%取餘。

 

list和tuple

list = []

下標 (0,n-1),(-1,-n)

append()添加元素

insert(i,A),在下標i處插入A

pop(1,A),刪除i處的元素A

元素賦值,list的元素能夠是另外一個list.

tuple() 元組 不可變

條件判斷

if

elif

else

循環:

for i in ...

range(n) 生成0,n-1的list

while

break,continue的應用

dict和set

判斷key是否在字典中

一是經過in判斷key是否存在:

>>> 'Thomas' in d False 

二是經過dict提供的get()方法,若是key不存在,能夠返回None,或者本身指定的value:

>>> d.get('Thomas') >>> d.get('Thomas', -1) -1 

注意:返回None的時候Python的交互環境不顯示結果。

要刪除一個key,用pop(key)方法,對應的value也會從dict中刪除:

>>> d.pop('Bob') 75 >>> d {'Michael': 95, 'Tracy': 85} 

請務必注意,dict內部存放的順序和key放入的順序是沒有關係的。

dict能夠用在須要高速查找的不少地方,在Python代碼中幾乎無處不在,正確使用dict很是重要,須要牢記的第一條就是dict的key必須是不可變對象

這是由於dict根據key來計算value的存儲位置,若是每次計算相同的key得出的結果不一樣,那dict內部就徹底混亂了。這個經過key計算位置的算法稱爲哈希算法(Hash)。

哈希函數在一個給定的鍵上執行,返回其在數組中的相對位置,使用一種哈希策略的數組叫作哈希表。

較小的裝載因子,數組長度爲素數均可以減少衝突  ,例子

def keyToIndexes(keys,n):

  return list(map(lambda key : key%n,keys))

要保證hash的正確性,做爲key的對象就不能變。在Python中,字符串、整數等都是不可變的,所以,能夠放心地做爲key。而list是可變的,就不能做爲key:

 set

set能夠當作數學意義上的無序和無重複元素的集合,所以,兩個set能夠作數學意義上的交集、並集等操做,

在議不可變對象:

對於不變對象來講,調用對象自身的任意方法,也不會改變該對象自身的內容。相反,這些方法會建立新的對象並返回,這樣,就保證了不可變對象自己永遠是不可變的

相關文章
相關標籤/搜索