python基礎學習(一)--數據類型

Python一個 高級語言    

    2017-09-19php

1.1  Python背景簡介(感謝偉大的廖雪峯大佬帶咱們走上一條光頭路,嘿嘿)

寫了大半年Python代碼,感受收穫不是很大,都是現學現賣,沒有系統的瞭解過這個語言到底是什麼樣的,從頭學一遍python

提高一下。web

Python的來源編程

     Python是著名的「龜叔」Guido van Rossum在1989年聖誕節期間,爲了打發無聊的聖誕節而編寫的一個編程語言。 數組

Python適用對象app

  c語言與Python對比:編程語言

    c比較適合編寫操縱系統等追求內存使用,能充分發揮硬件性能要要求高的程序;函數

    Python 適合編寫應用程序,web,爬蟲,sdn等敏捷開發的需求(例如YouTube、Instagram,還有國內的豆瓣。不少大公司,性能

      包括Google、Yahoo等,甚至NASA(美國航空航天局)都大量地使用Python。);ui

python的缺點

(一)、Python是解釋性語言,運行以前須要cpu進行解釋執行,c和Java在編譯後直接運行機器碼就好;

(二)、Python發版不能加密,這也是因爲它是解釋性語言

    Python解釋器: 官方解釋器->cpython 在安裝Python後就擁有cpython解釋器,它由c編寫完成,在命令行輸入Python後就調

用cpython解釋器,咱們全部代碼豆油cPython解釋執行;Python解釋器分爲多種,咱們用到的基本都是cpython。

1.2 Python中的變量:

  Python是動態語言,能夠將任意數據類型值賦給變量,可屢次賦值

  1.2.1 內存機制:

    建立一個變量 

a=1

 

           Python解釋器將在 : 一、內存中建立一個名爲a的變量,

             二、內存中建立一個變量 1 。

               三、將a指向1

   

    也能夠把一個變量a賦值給另外一個變量b,這個操做其實是把變量b指向變量a所指向的數據,例以下面的代碼:

    
a = 'ABC'
b = a
a = 'XYZ'
print(b)

 

    最後一行打印出變量b的內容究竟是'ABC'呢仍是'XYZ'?若是從數學意義上理解,就會錯誤地得出ba相同,也應該是'XYZ',但實際上b的值是'ABC',讓咱們一行一行地執行代碼,就能夠看到到底發生了什麼事:

    執行a = 'ABC',解釋器建立了字符串'ABC'和變量a,並把a指向'ABC'

    py-var-code-1

    執行b = a,解釋器建立了變量b,並把b指向a指向的字符串'ABC'

    py-var-code-2

    執行a = 'XYZ',解釋器建立了字符串'XYZ',並把a的指向改成'XYZ',但b並無更改:

    py-var-code-3

    因此,最後打印變量b的結果天然是'ABC'了。

Python支持多種數據類型,在計算機內部,能夠把任何數據都當作一個「對象」,而變量就是在程序中用來指向這些數據對象的,對變量賦值就是把數據和變量給關聯起來。

Python有五個標準的數據類型:

  • Numbers(數字)
  • String(字符串)
  • List(列表)
  • Tuple(元組)
  • Dictionary(字典)

其中屬於集合類型的數據類型有 列表、元組及字典

2.1 Python字符串

  在Python3中,字符串以Unicode爲編碼格式,因此Python支持多語言。

  對於單個字符的編碼,Python提供了ord()函數獲取字符的整數表示,chr()函數把編碼轉換爲對應的字符:

>>> ord('A')
65
>>> ord('')
20013
>>> chr(66)
'B'
>>> chr(25991)
''

 

 

 

 三、python 中的拷貝

引用和copy(),deepcopy()的區別

import copy
a = [1, 2, 3, 4, ['a', 'b']]  #原始對象

b = a  #賦值,傳對象的引用
c = copy.copy(a)  #對象拷貝,淺拷貝
d = copy.deepcopy(a)  #對象拷貝,深拷貝

a.append(5)  #修改對象a
a[4].append('c')  #修改對象a中的['a', 'b']數組對象

print 'a = ', a
print 'b = ', b
print 'c = ', c
print 'd = ', d

輸出結果:
a =  [1, 2, 3, 4, ['a', 'b', 'c'], 5]
b =  [1, 2, 3, 4, ['a', 'b', 'c'], 5]
c =  [1, 2, 3, 4, ['a', 'b', 'c']]
d =  [1, 2, 3, 4, ['a', 'b']]

 

四、Python的is 和 ==的區別 

  is 比較內存地址 == 比較值

相關文章
相關標籤/搜索