python基礎(chǔ)-02-基本數(shù)據(jù)類型

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
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 變量不需要聲明 python的變量不需要聲明,你可以直接輸入: 那么你的內(nèi)存里就有了一個變量a,它的值是10,它的...
    L小橙子閱讀 285評論 0 0
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 3,885評論 1 10
  • 屋子是三個屋子:客廳、書房、臥室 內(nèi)容主要積累:辰辰的玩具、我的衣服、我的化妝品、家居用品、書、其他雜物 主要方針...
    奔來個奔閱讀 154評論 0 0
  • 莫名其妙的寫寫在前面的話:請不要說俺抄襲,只是想寫一個自己喜歡的故事,于是自己寫一寫,就這樣。 “持朱,阿朱,你看...
    北有旋木閱讀 279評論 0 0