python集訓1

notice:本文僅針對Linux環境(Ubuntu16.04)

part1

1 使用Anaconda搭建python環境

1.1 Linux安裝Anaconda

在Linux環境下使用Anaconda搭建python環境超級簡單,首先需要下載Anaconda*.sh安裝文件,在文件當前目錄下打開終端執行:

./Anaconda*.sh

在安裝過程中會出現設定安裝目錄設置環境變量的提醒,默認大法好!

1.2 搭建python環境

之所以使用Anaconda搭建python環境,好處主要有兩點:可以便捷地獲取絕大部分的包;可以爲每一個項目搭建一個虛擬環境,避免各種衝突。

在安裝Anaconda之後,會默認建立一個python基礎環境,這個python基礎環境也會成爲系統的python環境。對於項目開發,個人還是建議使用虛擬環境,終端執行:

conda create -n env_name python=3.6

其中env_name就是新建的虛擬環境,可以指定python的版本,這裏是3.6

1.3 conda常用命令

conda info #可查看版本、下載源等信息
conda list #查看當前python環境下的包列表
conda env list #查看虛擬環境列表
source activate env_name #激活指定虛擬環境
source deactivate env_name #退出指定虛擬環境
conda install numpy=1.14 #在當前python環境下,安裝numpy包,可指定版本
conda update numpy #在當前python環境下,更新numpy包
conda remove numpy #在當前python環境下,刪除numpy包

2 Anaconda的環境變量設置

其實上一啪已經說明了在安裝Anaconda的時候默認設置了Anaconda的系統環境變量,如下查看:

sudo gedit ~/.bashrc

在文件底部可以看到:

 #added by Anaconda3 installer
  export PATH="/home/osea/anaconda3/bin:$PATH"

3 python變量

3.1 什麼是變量

變量是用標識符命名的存儲單元的地址,是用來存儲數據的,通過標識符可以獲取變量的值,也可以對變量進行賦值。

3.2 變量命名規則

  • 變量標示符可以由字母、下劃線和數字組成

  • 不能以數字開頭

  • 不能與關鍵字重名

4 字符串方法

字符串很簡單,但不是幾句話能說完的。挑幾個方法看看。

str1 = ’heLlo‘
str2 = 'WOrLD'
str3 = '123Hello, World,321'
str4 = ’  Hello, World  ‘
print(str1.upper()) #轉大寫
print(str2.lower()) #轉小寫
print(str1.swapcase()) #大小寫互換
print(str1.capitalize()) #首字母大寫
print(str1.capitalize() + ' ' +  str2.capitalize()) #字符串拼接
print(str3.strip()) #移除字符串頭尾指定字符(序列)
print(str4.strip()) #移除字符串頭尾空白

結果:

HELLO
world
HElLo
Hello
Hello World
Hello, World
Hello, World

5 基本轉義字符和格式化字符

5.1 轉義字符

在需要在字符中使用特殊字符時,python用反斜槓\轉義字符。示例如下:

print('AB\
...    CD') #續行符
print('-----------------------')
print('\'單引號\'', '\"雙引號\"') #單引號,雙引號
print('-----------------------')
print('AAA\bAAA') #退格
print('-----------------------')
print('AAA\000AAA') #空
print('-----------------------')
print('AAA\nAAA') #換行
print('-----------------------')
print('AAA\vAAA') #縱向製表
print('-----------------------')
print('AAA\tAAA') #橫向製表
print('-----------------------')
print('AAA\rAAA') #回車,後面的內容就失效了

結果如下:

ABCD
-----------------------
'單引號' "雙引號"
-----------------------
AAAAA
-----------------------
AAAAAA
-----------------------
AAA
AAA
-----------------------
AAA
   AAA
-----------------------
AAA 	AAA
-----------------------
AAA

5.2 格式化字符

python字符串格式化的基本方法是類C風格的,示例如下:

print('我叫%s, 今年%u歲。這個學期考試成績還不錯,全%c。我昨天跑了個代碼,迭代了%d次,這個數用科學計數法是%E,化爲八進制是%o,化爲十六進制是%x,化爲浮點數%f是沒有意義的!'%('小明',24,'A',10000,10000,10000,10000,10000))

結果如下:

我叫小明, 今年24歲。這個學期考試成績還不錯,全A。我昨天跑了個代碼,迭代了10000次,這個數用科學計數法是1.000000E+04,化爲八進制是23420,化爲十六進制是2710,化爲浮點數10000.000000是沒有意義的!

6 整數與浮點數

python其實有三種數字類型:

  • 整型
  • 浮點型
  • 負數

整型個浮點型都有正負,一般整型可用十六進制、八進制表示:

num_x = 0xAB
num_o = 0o12
print(num_x)
print(num_o)
int(5/2)
float(4/2)

結果如下:

171
10
2
2

7 註釋

# 單行註釋
'''
單引號多行註釋1line
單引號多行註釋2line
單引號多行註釋3line
'''
"""
雙引號多行註釋1line
雙引號多行註釋2line
雙引號多行註釋3line
"""
print('Hello, World')

結果如下:

Hello, World

Part2

1 列表數據類型

序列是Python中最基本的數據結構。序列中的每個元素都分配一個數字 - 它的位置,或索引,第一個索引是0,第二個索引是1,依此類推。

List = [1, 'A', "Hello"]

2 列表的增刪查改

color_list = ['yellow', 'blue', 'green', 'red']
print('org:',color_list)
color_list.append('pink') #增
print('增:',color_list)
color_list.extend(['white', 'gray']) #擴增
print('擴增:',color_list)
color_list.insert(0,'purple') #指定索引增加
print('指定索引增加:',color_list)
color_list.pop() #刪
print('刪:',color_list)
'pink' in color_list #查
print('查:',color_list)
color_list[0] = 'black' #改
print('改:',color_list)

結果如下:

['yellow', 'blue', 'green', 'red']
增: ['yellow', 'blue', 'green', 'red', 'pink']
擴增: ['yellow', 'blue', 'green', 'red', 'pink', 'white', 'gray']
指定索引增加: ['purple', 'yellow', 'blue', 'green', 'red', 'pink', 'white', 'gray']
刪: ['purple', 'yellow', 'blue', 'green', 'red', 'pink', 'white']
查: ['purple', 'yellow', 'blue', 'green', 'red', 'pink', 'white']
改: ['black', 'yellow', 'blue', 'green', 'red', 'pink', 'white']

3 比較sorted和sort

兩點不同:

  • sort()方法爲Python list內置,sorted()方法爲python全局內置
  • sort()方法更改原列表排序,sorted()方法對可迭代的序列排序生成新的序列

示例如下:

a = [3,2,5,1,4]
b = sorted(a)
print(a)
print(b)
print('-----------------')
a.sort()
print(a)

結果如下:

[3,2,5,1,4]
[1,2,3,4,5]
-----------------
[1,2,3,4,5]

4 列表方法

以上已經涉及部分列表方法,列表的reverse()方法用於反向列表中元素:

a = [2,3,1,4,5]
a.reverse()
print(a)

結果如下:

[5,4,1,3,2]

sort()中的key參數用來指定一個函數,此函數將在每個元素比較前被調用

lst = [['a',1],['b',0],['c',3]]
lst.sort(key = lambda x:x[1])
print(lst)

結果如下:

[['b', 0], ['a', 1], ['c', 3]]

5 遍歷列表

lst = ['A', 'B', 'C', 'D', 'E']
for x in lst:
    print(x)

結果如下:

A
B
C
D
E

6 創建、解析列表

lst1 = list(range(10)) #range創建列表
print(lst1)
lst2 = ['A', 'B', 'C', 'D', 'E']
#range解析列表
for i in range(len(lst2)):
    print(lst[i])

結果如下:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
A
B
C
D
E

7 切片

lst = ['A', 'B', 'C', 'D', 'E']
print(lst[1:3]) #不包含末元素
print(lst[:3]) #從頭開始
print(lst[3:]) #直至末元素
print(lst[-2]) #倒數第二個
print(lst[::2]) #給個步長

結果如下:

['B', 'C']
['A', 'B', 'C']
['D', 'E']
D
['A', 'C', 'E']
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章