python基礎(chǔ)-基本數(shù)據(jù)類型
1.Python簡介
1.python是一門編程語言,是一門完全面向?qū)ο蟮木幊陶Z言
```
python數(shù)字都是一個對象
>>> type(1)
<class 'int'>
java中數(shù)字不是一個對象只是一個基本類型
```
2.如果對語言進行分類,那么python是一門強類型,動態(tài)類型的語言
弱類型:比如int可以變成float,python中數(shù)值類型不可變;
```
python數(shù)字都是一個對象,強類型
a=1
b="2"
a+b 這樣是報錯,這就是強類型
javascript數(shù)據(jù)類型不同也可以相加,是弱類型
var a=3.14;
var b="Bill Gates";
a+b ="3.14Bill Gates"
```
動態(tài)類型:編譯時不知道變量類型,python中變量無類型
```
python不需要聲明數(shù)據(jù)類型
a=1 整型
a="2" str類型
print(a) a是str類型
java數(shù)據(jù)類型則不同
int a=1
a="2" 這樣是報錯的
```
2.數(shù)值類型
數(shù)值類型就是我們平常用來做計算的數(shù)字類型,在python中有如下幾種數(shù)值類型
py文件輸出需要借助(print方法),python自帶IDE輸入代碼不需要print,會自動打印出來
#整型
int
a=5
a=b=c=1 #多個賦值
>>> type(1)
<class 'int'>
#浮點型
float
a=1.1
>>> type(1.0)
<class 'float'>
#布爾型
bool
a=True #bool 包含兩個值,True對應(yīng)(1)、False對應(yīng)(0)
>>> a=1
>>> b=True
>>> a+b
2
#復(fù)數(shù)型 (在python中用小寫 j ,表示虛部,用其他的字母不行)
complex
c=1+2j #1是實數(shù) ,2j是虛數(shù)
>>> type(1+2j)
<class 'complex'>
數(shù)值類型主要是用來是做運算的,所以還會有如下的運算符
#數(shù)值運行常用運算符
#+ 加
>>> 1+2
3
#- 減法
>>> 2-11
-9
#* 乘法
>>> 3*5
15
#/ 除法 #(python2不一樣,整除,向下取整)
>>> 2/8
0.25
#//(整除,向下取整)
>>> a=2
>>> b=1.5
>>> a//b
1.0
#%(取余)
>>> 2%2
0
>>> 2%3
2
>>> 2%1.5
0.5
#** (冪)
>>> 3**3
27
#賦值運算符
= += -= *= /=
>>> a=2
>>> b=3
>>> a+=5
>>> print a
7
-= *= /= 對應(yīng)減 、乘、除
#條件運算符號
==
>>> False ==0
True
基本數(shù)值類型中前三種是常用的,復(fù)數(shù)在數(shù)學(xué)里面用得多,但是一般是用不上的。
3.序列類型
在python中三種序列類型,序列類型簡單來說就是對象里面的元素是有順序的。
#字符串 str有三種(’‘ 單引號,“” 雙引號 ,''' '''或 “”“ ”“” 三引號,可以換行)
>>> "a"
'a'
>>> '''aaa
bbb
'''
'aaa\nbbb\n'
#列表 list
>>> li=[1,2,3,4]
>>> type(li)
<type 'list'>
#元組 tuple
定義有兩種方式
li=(1,2,3,4)
li=1,2
li=1, 單個元素
li=(1,) 單個元素
>>> type(li)
<type 'tuple'>
#取值
#正向 索引分兩種:
# 0開始
>>> li=1,2,3
>>> li[0]
1
# -1開始,取得最后一個值
>>> li=1,2,3
>>> li[-1]
3
>>> li[-2]
2
#反向 索引(反向切片)
>>> li=1,2,3,4,5
>>> li[3:2]
()
>>> li[3:2:-1] # -1是步長(多少步一跨,包含自己,默認步長是1)
(4,)
>>> li[0:4:] #默認步長是1
(1, 2, 3, 4)
>>> li[::] #取所有
(1, 2, 3, 4, 5)
#切片,左閉右開(包含左邊,不包含右邊)
>>> li=2,3,4
>>> li[-2:-1]
(3,)
>>> li=2,3,4
>>> li[1:2]
(3,)
# 可變序列:list
# 不可變序列:tuple,str
>>> li=[1,2]
>>> id(li) #id查看內(nèi)存地址
# list:list內(nèi)存地址未改變,可變序列
>>> li=[1,2]
>>> li+=li
>>> id(li)
56098728 #內(nèi)存地址
>>> li+=li
>>> id(li)
56098728 #內(nèi)存地址
# 元組:tuple 內(nèi)存地址改變了,不可變序列
>>> li=(1,2)
>>> li+=li
>>> id(li)
56069504 #內(nèi)存地址
>>> li+=li
>>> id(li)
55848048 #內(nèi)存地址
# 字符串:str內(nèi)存地址改變了,不可變序列
>>> a="abc"
>>> id(a)
9989504 #內(nèi)存地址
>>> a+=a
>>> id(a)
56057216 #內(nèi)存地址
#查看關(guān)鍵字,防止命名重復(fù)
>>> import keyword
>>> keyword.kwlist
序列類型做為基本的數(shù)據(jù)類型是大家必須要掌握的,在python中大家會經(jīng)常見到這三種數(shù)據(jù)類型。首先要掌握定義和序列的通用操作。
1.創(chuàng)建序列
字符串用引號創(chuàng)建
列表用中括號 [] 創(chuàng)建
元組用小括號() 或者 直接用逗號隔開各元素
2.序列的通用操作
索引取值切片 索引:正向索引和反向索引
類型的轉(zhuǎn)換: str() list() tuple ()
相加 + +=
>>> li=1,2,3,4
>>> li1=5,6
>>> li+=li1
>>> print (li)
(1, 2, 3, 4, 5, 6)
重復(fù) * *=
>>> li=1,2
>>> print(li*2)
(1, 2, 1, 2)
>>> li=1,2
>>> li*=2
>>> print(li)
(1, 2, 1, 2)
# 檢查成員 in not in
>>> li=1,2,3,4,5
>>> 1 in li
True
>>> 1 not in li
False