在CentOs下安裝node.js
技術標籤:python
一.python學習
python就是個解析語言,跟其他編譯語言C、C++、java都不同
1.1基於ubuntu的Python環境搭建
[email protected]:~/work/study/AI$ sudo apt-get install python3.6
1.2輸出hello word
解釋:step01:
[email protected]:~/work/study/AI$ vim Study01.py
step02:檔案中輸入下面內容前面數字是用來做解釋的
#! /usr/bin/python
# -*- coding: UTF-8 -*-
print("hello,word")
print("你好,世界")
第一行#! /user/bin/python 指令碼語言的第一行,只對linux及unix有用,這裡是告訴系統用那個解析器解析,有了這個的時候就可以直接在終端執行./Study01.py,這個也可以告訴你這個py檔案支援的Python版本,因為你係統可能裝了幾個Python,但你用那個指定的執行可以在這裡指定如:
#! /usr/bin/python3
# -*- coding: UTF-8 -*-
print("hello,word")
print("你好,世界" )
第二行:# -- coding: UTF-8 --是告訴編譯器採用的編碼格式,也可以用#coding=utf-8來說明,python3.x已經預設採用utf-8編碼格式了,但如果是2.x則有中文時需要加編碼格式
第三、四行就是python中的介面函式,這裡就是輸出函式
二python中的基礎語法
這裡就是死記硬背的東西
2.1識別符號
所謂識別符號就是函式名、變數名等
在python中識別符號有字母、數字、下劃線組成,但識別符號不能以數字開頭,
在python中的識別符號是區分大小寫的
以下劃線開頭的識別符號是有特殊意義的,
以單下劃線開頭_foo代表不能被訪問的類屬性,需通過類提供的介面訪問,不能通過form xxx import *匯入
以雙下劃線開頭結尾__foo__代表類中特殊方法專用的表示如:__init__類的建構函式
2.2保留字元
這些保留字不能被單獨用作常數或變數等其他識別符號
and exec not
assert finally or
break for pass
class from print
continue global raise
def if return
del import try
elif in while
else is with
except lambda yield
2.3行和縮排
python中用縮排來表示程式碼塊,其他語言用大括號{}表示,
這個縮排必須嚴格執行,負責程式碼將會出錯
2.3多行
python語句一般以新行作為語句的結束但我們可以用反斜槓()類延續上一行的內容
如
#! /user/bin/python
# -*- coding: UTF-8 -*-
print("hello,word")
print("你好,世界")
print("hello,\
word")
語句中包含 [], {} 或 () 括號就不需要使用多行連線符
days = ['Monday', 'Tuesday', 'Wednesday',
'Thursday', 'Friday']
2.4 python中的引號
Python 可以使用引號( ’ )、雙引號( " )、三引號( ‘’’ 或 “”" ) 來表示字串,引號的開始與結束必須是相同型別的。
其中三引號可以由多行組成,編寫多行文字的快捷語法,常用於文件字串,在檔案的特定地點,被當做註釋。
word = 'word'
sentence = "這是一個句子。"
paragraph = """這是一個段落。
包含了多個語句"""
2.5 python的註釋
python中單行註釋採用 # 開頭。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 檔名:test.py
# 第一個註釋
print ("Hello, Python!") # 第二個註釋
python 中多行註釋使用三個單引號(’’’)或三個雙引號(""")。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 檔名:test.py
'''
這是多行註釋,使用單引號。
這是多行註釋,使用單引號。
這是多行註釋,使用單引號。
'''
"""
這是多行註釋,使用雙引號。
這是多行註釋,使用雙引號。
這是多行註釋,使用雙引號。
"""
2.6 python空行
函式之間或類的方法之間用空行分隔,表示一段新的程式碼的開始。類和函式入口之間也用一行空行分隔,以突出函式入口的開始。
空行與程式碼縮排不同,空行並不是Python語法的一部分。書寫時不插入空行,Python直譯器執行也不會出錯。但是空行的作用在於分隔兩段不同功能或含義的程式碼,便於日後程式碼的維護或重構。
記住:空行也是程式程式碼的一部分。
2.7 等待使用者輸入函式
#!/usr/bin/python
# -*- coding: UTF-8 -*-
raw_input("按下 enter 鍵退出,其他任意鍵顯示...\n")
2.8 同一行顯示多條語句
#!/usr/bin/python
import sys; x = 'runoob'; sys.stdout.write(x + '\n')
三.python中的變數
3.1python中的變數是在記憶體中的值,這就意味著建立變數時會在記憶體中開闢一個空間,基於變數型別,解析器會分配指定的記憶體,並決定什麼資料可以儲存在記憶體中,
3.2 python中的變數賦值不需要型別宣告,
Python 中的變數賦值不需要型別宣告。
每個變數在記憶體中建立,都包括變數的標識,名稱和資料這些資訊。
每個變數在使用前都必須賦值,變數賦值以後該變數才會被建立。
等號 = 用來給變數賦值。
等號 = 運算子左邊是一個變數名,等號 = 運算子右邊是儲存在變數中的值。例如:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
counter = 100 # 賦值整型變數
miles = 1000.0 # 浮點型
name = "John" # 字串
print(counter)
print(miles)
print(name)
python是允許多個變數賦值的
a = b = c = 1
以上例項,建立一個整型物件,值為1,三個變數被分配到相同的記憶體空間上。
您也可以為多個物件指定多個變數。例如:
a, b, c = 1, 2, “john”
以上例項,兩個整型物件 1 和 2 分別分配給變數 a 和 b,字串物件 “john” 分配給變數 c。
3.3 標準資料型別
- Numbers(數字)
- String(字串)
- List(列表)
- Tuple(元組)
- Dictionary(字典)
3.3.1 整形
int(有符號整型)
long(長整型[也可以代表八進位制和十六進位制])
float(浮點型)
complex(複數)
整形
a = -1
a = 2
a = 02
a= 0x12
長整型
長整型也可以使用小寫 l,但是還是建議您使用大寫 L,避免與數字 1 混淆。Python使用 L 來顯示長整型
浮點型
a = 0.0
a = 2.2
a = -32.54e100
a = -90.
複數
Python 還支援複數,複數由實數部分和虛數部分構成,可以用 a + bj,或者 complex(a,b) 表示, 複數的實部 a 和虛部 b 都是浮點型
3.14j
9.322e-36j
-.6545+0J
3e+26J
Python字串
python的字串列表有2種取值順序:
從左到右索引預設0開始的,最大範圍是字串長度少1
從右到左索引預設-1開始的,最大範圍是字串開頭
如果你要實現從字串中獲取一段子字串的話,可以使用 [頭下標:尾下標] 來擷取相應的字串,其中下標是從 0 開始算起,可以是正數或負數,下標可以為空表示取到頭或尾。
[頭下標:尾下標] 獲取的子字串包含頭下標的字元,但不包含尾下標的字元。
加號(+)是字串連線運算子,星號(*)是重複操作。如下例項:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
str = 'Hello World!'
print str # 輸出完整字串
print str[0] # 輸出字串中的第一個字元
print str[2:5] # 輸出字串中第三個至第六個之間的字串
print str[2:] # 輸出從第三個字元開始的字串
print str * 2 # 輸出字串兩次
print str + "TEST" # 輸出連線的字串
Python 列表擷取可以接收第三個引數,引數作用是擷取的步長,以下例項在索引 1 到索引 4 的位置並設定為步長為 2(間隔一個位置)來擷取字串:
列表
List(列表)是python中使用最頻繁的資料型別,
列表可以實現大多數集合類的資料結構實現,他支援數字、字元、字串,甚至包含列表
列表用中括號([])表示,是python中最通用的複合型別
列表中的值切割可以用變數[頭下標:尾下標],就可以擷取相應列表,從左到右預設從0開始,從右到左預設從-1開始,下標為空表示取到頭或尾,
在python中擷取到的列表中的值任然以列表的形式返回,獲取指定列表中的值以值的形式返回
加號 + 是列表連線運算子,星號 * 是重複操作
#! /user/bin/python
# -*- coding: UTF-8 -*-
list = [1,2.3,'234test',2.0,12233]
print(list)
print(list[0])
print(list[1:2])
print(list[-2:-4])
print(list[-4:-2])
print(list[-1:])
print(list + list[-4:-2])
print(list * 2)
輸出:
[email protected]:~/work/study/AI$ python Study03.py
[1, 2.3, '234test', 2.0, 12233]
1
[2.3]
[]
[2.3, '234test']
[12233]
[1, 2.3, '234test', 2.0, 12233, 2.3, '234test']
[1, 2.3, '234test', 2.0, 12233, 1, 2.3, '234test', 2.0, 12233]
元祖
元組是另一個數據型別,類似於 List(列表)。
元組用 () 標識。內部元素用逗號隔開。但是元組不能二次賦值,相當於只讀列表。
#! /usr/bin/python
# -*- coding: utf-8 -*-
tuple = ('test','1234',2,4.3,345)
print(tuple)
print(tuple[2])
print(tuple[2:3])
print(tuple[-4:-1])
print(tuple[:])
輸出:
[email protected]:~/work/study/AI$ python Tuple.py
('test', '1234', 2, 4.3, 345)
2
(2,)
('1234', 2, 4.3)
('test', '1234', 2, 4.3, 345)
字典
字典(dictionary)是除列表以外python之中最靈活的內建資料結構型別。列表是有序的物件集合,字典是無序的物件集合。
兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。
字典用"{ }"標識。字典由索引(key)和它對應的值value組成。
#! /usr/bin/python
# -*- coding: UTF-8 -*-
dict = {}
dict['one'] = "this is one"
dict[2] = "this is two"
tinydict = {'name':'runoob','code':'12334','dept':'sales'}
print(dict['one'])
print(dict[2])
print(tinydict)
print(tinydict['dept'])
print(tinydict.keys())
print(tinydict.values())
輸出:
this is one
this is two
{'dept': 'sales', 'code': '12334', 'name': 'runoob'}
sales
['dept', 'code', 'name']
['sales', '12334', 'runoob']
Python資料型別轉換
int(x [,base]) 將x轉換為一個整數
long(x [,base] ) 將x轉換為一個長整數
float(x) 將x轉換到一個浮點數
complex(real [,imag])建立一個複數
str(x)將物件 x 轉換為字串
repr(x)將物件 x 轉換為表示式字串
eval(str)用來計算在字串中的有效Python表示式,並返回一個物件
tuple(s)將序列 s 轉換為一個元組
list(s)將序列 s 轉換為一個列表
set(s)轉換為可變集合
dict(d)建立一個字典。d 必須是一個序列 (key,value)元組。
frozenset(s)轉換為不可變集合
chr(x)將一個整數轉換為一個字元
unichr(x)將一個整數轉換為Unicode字元
ord(x)將一個字元轉換為它的整數值
hex(x)將一個整數轉換為一個十六進位制字串
oct(x)將一個整數轉換為一個八進位制字串