python安裝
推薦使用anaconda集成環(huán)境,anaconda是Python的包管理工具
推薦使用jupyter notebook 進(jìn)行python學(xué)習(xí)
基礎(chǔ)
- 在Python中使用#號(hào)注釋
- Python非常注重縮進(jìn) 用縮進(jìn)表示代碼塊的層級(jí)關(guān)系
- Python可以不用分號(hào)作為語(yǔ)句的結(jié)束
- Python數(shù)據(jù)類型
Python3有6個(gè)標(biāo)注的數(shù)據(jù)類型
使用type()函數(shù)可以查看數(shù)據(jù)類型
- Number 數(shù)字 支持int float bool complex(復(fù)數(shù))
- String 字符串
- List 列表
- Tuple 元組
- Sets 集合
- Dictionary 字典
- 基本運(yùn)算Number
- 加
>>>5 + 4 # 加法
9
- 減
>>> 4.3 - 2 # 減法
2.3
- 乘
>>> 3 * 7 # 乘法
21
- 乘方
>>> 2 ** 5 # 乘方
32
- 除法 得到浮點(diǎn)數(shù)
>>> 2 / 4 # 除法,得到一個(gè)浮點(diǎn)數(shù)
0.5
- 除法 得到正數(shù)
>>> 2 // 4 # 除法,得到一個(gè)整數(shù)
0
- 取余
>>> 17 % 3 # 取余
2
類型轉(zhuǎn)換
int(3.14)
- 字符串String
使用單引號(hào)或者雙引號(hào)表示字符串,使用反斜杠表示轉(zhuǎn)移字符。
字符串使用切片變量[始索引:終索引]截取字符串 包括開始索引包括結(jié)束索引
索引以0開始,-1表示從末尾的開始位置。
加號(hào)+是字符串的鏈接符號(hào),星號(hào)*表示復(fù)制當(dāng)前字符串,緊跟的數(shù)字表示賦值的次數(shù)
str = 'Runoob'
print (str) # 輸出字符串
print (str[0:-1]) # 輸出第一個(gè)到倒數(shù)第二個(gè)的所有字符
print (str[0]) # 輸出字符串第一個(gè)字符
print (str[2:5]) # 輸出從第三個(gè)開始到第五個(gè)的字符
print (str[2:]) # 輸出從第三個(gè)開始的后的所有字符
print (str * 2) # 輸出字符串兩次
print (str + "TEST") # 連接字符串
字符串前加r表示原始字符串,不會(huì)對(duì)其中的轉(zhuǎn)移字符進(jìn)行轉(zhuǎn)義
- 列表List
- 列表寫在方括號(hào)之間,元素用逗號(hào)隔開
- 列表可以被索引和切片
- 列表可以使用+操作符進(jìn)行拼接
- 列表的元素的是可以改變的
列表的操作
- 改變一個(gè)元素
- 增加一個(gè)元素
- 刪除一個(gè)元素
- 查找某個(gè)元素對(duì)應(yīng)的位置
fam_height = ['father',1.78,'monther',1.68,'son',1.8,'daughter',1.65]
#更改女兒的身高
fam_height[-1] = 1.68
#可以同時(shí)修改多個(gè)
fam_height[0:2] = ['lao wang',1.77]
#增加元素
fam_height = fam_height + ['second_son',0.51]
#刪除元素
del(fam_height[6:8])
#查找某個(gè)元素對(duì)應(yīng)的索引
> 我們可以使用Python內(nèi)置的列表函數(shù)來(lái)處理列表,列表本身自帶的函數(shù)成為方法
print(fam_height.index(1.77))
print(fam_height.index('lao wang'))
- 元組Tuple
元組與列表類似,但不可改變,用,進(jìn)行分割。元組默認(rèn)寫在小括號(hào)里
需要注意的是,一個(gè)元組元素,需要跟逗號(hào)
tup1 = () # 空元組
tup2 = (20,) # 一個(gè)元素,需要在元素后添加逗號(hào)
string,list,tuple都是序列sequence
- 集合Set
集合是一個(gè)無(wú)序的不重復(fù)元素的序列
基本功能是刪除重復(fù)元素和進(jìn)行成員關(guān)系測(cè)試
使用{}或者set()函數(shù)創(chuàng)建集合,但是空集合必須用set()創(chuàng)建,因?yàn)閧}是用來(lái)創(chuàng)建空字典的。
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
print(student) #輸出集合,重復(fù)元素自動(dòng)去除
# 成員測(cè)試
if ('Rose' in student):
print ('Rose 在集合中')
else:
print('Rose 不在集合中')
# 集合運(yùn)算
交& 并| 差- 不同時(shí)存在^
a = set('abracadabra')
b = set('alacazam')
print(a - b) # a和b的差集
print(a | b) # a和b的并集
print(a & b) # a和b的交集
print(a ^ b) # a和b中不同時(shí)存在的元素
- 集合Dictionary
字典是一種映射類型,字典用"{ }"標(biāo)識(shí),它是一個(gè)無(wú)序的鍵(key) : 值(value)對(duì)集合。
鍵必須唯一且用不可變類型
使用{}表示空字典
構(gòu)造函數(shù)dict()可以直接從鍵值對(duì)序列中構(gòu)造字典:
>>>dict([('Runoob',1),('Google',2),('Taobao',3)])
{'Taobao': 3, 'Runoob': 1, 'Google': 2}
>>>{x:x**2 for x in (2,4,6)}
{2: 4, 4: 16, 6: 36}
>>>dict(Runoob=1,Google=2,Taobao=3)
{'Taobao': 3, 'Runoob': 1, 'Google': 2}
函數(shù)和方法
family = [1.80, 1.68, 1.2, 1.5]
打印函數(shù)
print(family[-2:])
類型函數(shù)
type(family)
最大值
max(family)
長(zhǎng)度
len(family)
幫助
help(max) 或者 ?max
range函數(shù)生成整數(shù)序列,在循環(huán)中非常有用
range(a,b) a和b為整數(shù),滿足b>a,生成一個(gè)列表[a,a+1,...,b-1]
seq = range(0,9)
print(type(seq))
print(seq)
print(list(seq))
<class 'range'>
range(0,9)
[0,1,2,...,8]
方法:
#計(jì)數(shù)方法
family.count(1.8)
#添加元素
family.append(1.8)
條件語(yǔ)句
bool表達(dá)式
- x==y 比較x和y是否相等
- x!=y 比較x和y是否不等
- x is y x和y是否相同,除了相等,類型還必須一樣
- x is not y x和y是否不同
- x > y
- x >= y
- x < y
- x <= y
邏輯運(yùn)算符
and(&) 與 or(|) 或 not(!) 非
packages導(dǎo)入
使用 import 導(dǎo)入
>>>import numpy
>>>numpy.round(2.7)
3.0
>>>import numpy as np
>>>np.round(2.3)
2.0
>>>np.array(family)
array([1.80, 1.68, 1.2, 185])
>>> from numpy import array
array(family)
array([1.80, 1.68, 1.2, 185])