python基礎概述

來源:互聯網
上載者:User

標籤:頭部   缺點   程式   配置   路徑   掌握   .tar.xz   elf   第三方庫   

1、python簡介

python誕生於1989年,創始人 吉多·范羅蘇姆(Guido van Rossum)。python是一種 C和shell 之間,功能全面,易學易用,可拓展的語言。
?
如下是最新的TIOBE熱門排行榜(https://www.tiobe.com/tiobe-index )

?
現在,python主要應用於web開發(Django架構, Tornado架構,flask,bottle),網路編程(支援高並發的Twisted網路架構),爬蟲,雲端運算,人工智慧,遊戲開發,金融分析,還有就是營運開發,現在python是每個營運工程師必須掌握的開發語言 之一 ~~

2、編譯型語言和解釋型語言編譯型語言

編譯型語言需要有專門的編譯器,能夠將代碼 針對特定的平台(作業系統)編譯成機器碼,然後是連結過程,把各個模組的機器碼和依賴庫連起來產生可執行檔。
?
優點:編譯器在先行編譯過程能夠對代碼進行最佳化。編譯只需要進行一次,產生的可執行檔就可以在特定的平台脫離語言環境獨立運行,運行效率高。
缺點:不同的平台之間移植存在問題,需要根據不同的平台編譯多個可執行檔。編譯完成後,若需要修改,就要重新編譯整個模組。
?
代表語言有 C、C++、Object-C.....

解釋型語言

解釋型語言不需要事先編譯,在運行過程中由解譯器逐行解釋,然後運行。
?
優點:良好的平台相容性,只要有解譯器,相同的代碼就可以在不同的平台上運行
缺點:相比於編譯型語言,運行速度較慢。
?
代表語言有 python、ruby、php、JavaScript、Erlang
?

Tip:java屬於混合型語言,java需要編譯之後才能運行,但是其編譯後,並不是像C,C++語言那樣編譯成機器語言,而是編譯成與平台無關的位元組碼.class檔案,位元組碼檔案不能直接運行於作業系統之上,需要被java虛擬機器翻譯成本地的機器碼後才能執行,而這個過程是讀取一條指令,然後翻譯,最後執行,翻譯性的過程。

python屬於解釋型語言,當執行python程式時,python解譯器先將原始碼轉換為位元組碼,然後再由python解譯器執行這些位元組碼,每一次的運行都是這樣的一個過程。相比於編譯型語言,每一次的執行都多出了編譯、連結的過程,速度稍慢,但是這樣更易於代碼移植,且不用擔心程式的編譯,庫的連結載入等問題~
?
python提供了編譯的方法,可以先將python程式編譯成位元組碼儲存下來,在運行時直接運行位元組碼檔案,這是出於對效率的考慮。python程式一般的運行,產生的位元組碼不會保留下來,只有在import匯入py檔案時,才會產生pyc位元組碼檔案,並在運行時,替代原檔案直接運行~

3、Python解譯器

Python的解譯器有好多種,具體的分類如下:

  • Cpython
    Python的官方版本,也是最常用的版本,使用C語言實現,CPython實現將源檔案(py檔案)轉換成位元組碼檔案(pyc檔案),然後執行位元組碼檔案。
  • Jyhton
    Python的Java實現,Jython會將Python代碼動態編譯成Java位元組碼,然後在JVM上運行。
  • IronPython
    Python的C#實現,IronPython將Python代碼編譯成C#位元組碼,然後在CLR上運行。(與Jython類似)
  • PyPy(特殊)
    Python實現的Python,將Python的位元組碼位元組碼再編譯成機器碼。
  • RubyPython、Brython ...
    ?4、python2和python3

    Python的3版本,常被稱為Python 3000。相對於Python的早期版本,這是一個較大的升級。為了不帶入過多的累贅,Python 3.0在設計的時候沒有考慮向下相容。早期Python版本的程式都無法在Python 3.0上正常執行。
    Python 2.6作為一個過渡版本,基本使用了Python 2.x的文法和庫,同時考慮了向Python 3.0的遷移,允許使用部分Python 3.0的文法與函數。

總的來說 Python3 比 2.x 做了很多的改進,若是開發新的項目,優先開率使用Python3(Python2.x終究要被取代)

Python2.x與Python3.x 的具體區別,可以參閱:http://www.runoob.com/python/python-2x-3x.html

5、python的安裝windows上的安裝

官網地址:https://www.python.org/downloads/windows/

安裝過程按照提示即可~~

測試安裝是否成功
win + R(運行) --> 輸入cmd,在命令列輸入python,斷行符號,進入互動式環境表示安裝成功(這裡安裝的不是最新版本)

Linux上的安裝(CentOS7為例)

在CentOS7上預設安裝有python2.7.5,若要使用python3.x,另外再安裝一個Python(不刪除原來的Python,yum依賴預設安裝的Python)

下載Python3
wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tar.xz
安裝依賴環境
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-develyum install gcc gcc-c++ -y         # 編譯需要的環境
編譯安裝Python3
mkdir -p /usr/local/python3tar xf Python-3.6.6.tar.xzcd Python-3.6.6./configure --prefix=/usr/local/python3make && make install

若安裝成功會顯示如下資訊:

..............Looking in links: /tmp/tmp8k7hc304Collecting setuptoolsCollecting pipInstalling collected packages: setuptools, pipSuccessfully installed pip-10.0.1 setuptools-39.0.1

這表示編譯安裝 Python-3.6.6,會自動幫我們安裝setuptools, pip(源碼包中已包含了這兩個模組),可以直接使用pip安裝python的第三方模組,例如安裝ipython:

pip3 install ipython

若是要為centos7上預設的python(python2.7)安裝pip,可以直接使用yum安裝:

yum install -y python-pip
為Python3添加環境變數
vim /etc/profile.d/python3.shPYTHON3_HOME=/usr/local/python3export PATH=$PATH:${PYTHON3_HOME}/bin編輯完運行指令碼,使環境變數生效source /etc/profile.d/python3.sh

在命令列輸入python3,即可進入python互動式環境

[[email protected] ~]# python3Python 3.6.6 (default, Jul 19 2018, 10:19:19)[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linuxType "help", "copyright", "credits" or "license" for more information.

在上述安裝ipython模組時,可以看到,下載速度非常的慢,這是因為下載的第三方庫來自Python的官方源:https://pypi.org/pyp, 先下載到本地,然後解包安裝。在國內,推薦使用豆瓣的源:http://pypi.douban.com/simple/

使用pip安裝模組時,指定使用的鏡像源:

pip install -i http://pypi.douban.com/simple/ --trusted-host=pypi.douban.com/simple ipython

每次都這樣寫比較麻煩,可以寫在設定檔中:

mkdir ~/.pip    # 家目錄下建立 .pip 目錄 或者 .config 目錄(不存在建立)vim ~/.pip/pip.conf添加如下內容:[global]timeout = 60index-url = https://pypi.doubanio.com/simpleTip:如果使用http連結,需要指定trusted-host參數[global]timeout = 60index-url = http://pypi.douban.com/simpletrusted-host = pypi.douban.com

上述為設定檔 pip.conf 在linux上的存放路徑

mac下存放路徑:$HOME/Library/Application Support/pip/pip.conf或者$HOME/.pip/pip.confwindows下存放路徑(設定檔名稱為pip.ini):%APPDATA%\pip\pip.ini或者%HOME%\pip\pip.ini
6、python檔案頭

在Linux環境下,執行python指令碼一般有這兩種方式:
1)python filename.py
2)./filename.py

第一種方式已經指定了使用python解譯器去執行指令碼;第二種方式沒有指定,則需要在指令檔的頭部指定解譯器:

#!/usr/bin/env python     # PATH環境變數 中的第一個 python 來執行指令碼或#!/usr/bin/python            # 使用絕對路徑指定python解譯器位置

一般在python指令碼的頭部還有這麼一行,用來告訴python解譯器, 以utf-8編碼方式來解釋py檔案。

# -*- coding: utf-8 -*-

在python2中, 如果程式中包含中文字元, 需要添加這一行。在python3中,預設編碼就是utf-8,這一行不需要添加。

聲明python檔案編碼的語句必須放在py檔案的第一行或者第二行,支援如下3種格式:

1)# coding=<encoding name>2)# -*- coding: <encoding name> -*-3)# vim: set fileencoding=<encoding name> :

Tip:通常使用第二種方式~~

7、python中的注釋

為了增加代碼的可讀性,一般會在代碼中添加註釋,單行注釋用#,多行注釋可以用三對雙引號""" """,樣本如下:

class Abc():  """    多行注釋    多行注釋    多行注釋    """    def __init__(self):         pass    def say_hello(self):         # 單行注釋         # 單行注釋         return ‘hello‘

?

python基礎概述

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.