1. 程式人生 > >python基本--數據類型

python基本--數據類型

ava 搜索 自動 搜索字符串 oba 用c語言實現 登錄 不可見 try

一、ptyhon 介紹

ptyhon語言是指Python的語言風格,和它自己的語法結構等,

python解釋器是去解釋並執行的一個軟件,

    • Cpython(最常用的版本)
      Python的官方版本,使用C語言實現,使用最為廣泛,CPython實現會將源文件(py文件)轉換成字節碼文件(pyc文件),然後運行在Python虛擬機上。
    • Jyhton
      Python的Java實現,Jython會將Python代碼動態編譯成Java字節碼,然後在JVM上運行。
    • IronPython
      Python的C#實現,IronPython將Python代碼編譯成C#字節碼,然後在CLR上運行。(與Jython類似)
    • PyPy(特殊)
      Python實現的Python,將Python的字節碼字節碼再編譯成機器碼。
    • RubyPython、Brython ...

二、python解釋器的安裝

window下的安裝:

1下載安裝,從www.python.org,下載安裝python最新版本,最好下載python2版本和python3版本,註意下載python2和python3的安裝路徑,

在任何位置如果要找到Python2和3 ,就要在環境變量裏設置,找到python.exe文件,

方法:計算機--屬性--高級系統設置--環境變量--系統設置

找到script文件,添加script的路徑,就可以調用pip命令,pip也可以多版本共存,

在Linux安裝

1.在任何位置都能加載Python,

path臨時改

永久改,vim--etc-prefile

技術分享

技術分享

或者重新登錄,也可以生效。

python內部文件的執行

技術分享

2。文件開頭

制定絕對路徑

#!usr/bin/env python ,絕對路徑,換個平臺,也可以使用

.執行腳本傳入參數

Python內大量模塊,可以使用類庫有3中,

  • Python內部提供的模塊
  • 業內開源的模塊
  • 程序員自己開發的模塊

import是導入模塊

3.關於pyc文件

執行Python代碼時,如果導入了其他的 .py 文件,那麽,執行過程中會自動生成一個與其同名的 .pyc 文件,該文件就是Python解釋器編譯之後產生的字節碼。

ps:代碼經過編譯可以產生字節碼;字節碼通過反編譯也可以得到代碼

三、變量

程序的執行時一系列狀態的變化,為了保存這種變化,變,反映程序的變化,量,反映程序的一種狀態,

1.變量的聲明與引用

name=‘egon‘ ,通過name這個變量名,引用變量的值。

變量的聲明規則:

只能以字母開頭,後面可以加數字,或者下劃線,

關鍵字不能做變量名:

[‘and‘, ‘as‘, ‘assert‘, ‘break‘, ‘class‘, ‘continue‘,

‘def‘, ‘del‘, ‘elif‘, ‘else‘, ‘except‘, ‘exec‘, ‘finally‘,

‘for‘, ‘from‘, ‘global‘, ‘if‘, ‘import‘, ‘in‘, ‘is‘, ‘lambda‘,

‘not‘, ‘or‘, ‘pass‘, ‘print‘, ‘raise‘, ‘return‘, ‘try‘, ‘while‘, ‘with‘, ‘yield‘]

2.變量值的改變

變量值是可以改變的,在內存的地址不動,值在內存是被保存下來的,有Python指定對丟棄的值進行回收,

變量名與值之間是做了一個綁定關系,也可以解除綁定。

x=1

y=x 解除了與x 與1 的關系

或者用del x ,也可以解除x 與1的關系

name=1

name=2

技術分享

name=1

name=2

技術分享

3.輸入與輸出

Python3中,統一用input輸入,python2中使用raw_input 和input輸入,

name=input(‘請輸入名字:‘)

print(‘name‘)

註意:

如果輸入密碼,為了不可見,可以導入getpass 模塊

執行(在pycharm中無法執行,需要到終端中執行)

import getpass
pwd=getpass.getpass(請輸入密碼:)
print(pwd)

4.運算符

1.算數運算符

技術分享

2.比較運算符

技術分享

3.邏輯運算符

優先級排序,從高到低,(),not,and,or,

技術分享

and註解:

  1. 在Python 中,andor 執行布爾邏輯演算,如你所期待的一樣,但是它們並不返回布爾值;而是,返回它們實際進行比較的值之一。
  2. 在布爾上下文中從左到右演算表達式的值,如果布爾上下文中的所有值都為真,那麽 and 返回最後一個值。
  3. 如果布爾上下文中的某個值為假,則 and 返回第一個假值

or註解:

  1. 使用 or 時,在布爾上下文中從左到右演算值,就像 and 一樣。如果有一個值為真,or 立刻返回該值
  2. 如果所有的值都為假,or 返回最後一個假值
  3. 註意 or 在布爾上下文中會一直進行表達式演算直到找到第一個真值,然後就會忽略剩余的比較值

and-or結合使用:

  1. 結合了前面的兩種語法,推理即可。
  2. 為加強程序可讀性,最好與括號連用,例如:
    (1 and ‘x‘) or ‘y‘

4.賦值運算符

技術分享

5.位運算符

技術分享

6.成員運算符

技術分享

name =uhh
if h in name :
    print(ok)
else:
    print(no)

7.身份運算符

技術分享

a=1
b=1
print(a is b )  返回Ture

8.運算符的優先級

技術分享

9.bytes類型

Python3中內置類型bytes和str用法及byte和string之間各種編碼轉換
Python 3最重要的新特性大概要算是對文本和二進制數據作了更為清晰的區分。文本總是Unicode,由str類型表示,二進制數據則由bytes類型表示。Python 3不會以任意隱式的方式混用str和bytes,正是這使得兩者的區分特別清晰。你不能拼接字符串和字節包,也無法在字節包裏搜索字符串(反之亦然),也不能將字符串傳入參數為字節包的函數(反之亦然).

技術分享

msg = 
print(msg)
print(msg.encode(encoding="utf-8"))  有字符串,轉換成 字節碼
print(msg.encode(encoding="utf-8").decode(encoding="utf-8"))  將字節碼轉換成字符串
我
b\xe6\x88\x91

python基本--數據類型