日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python 初識(shí)

系統(tǒng) 2026 0

一、Python安裝

以python3.6為例,python2版本的安裝方式與python3類似

1.1 windows下安裝

            
              1
            
             1
            
              .下載安裝包

            
            
              2
            
                 https://www.python.org/downloads/

            
              3
            
             2
            
              .執(zhí)行可執(zhí)行程序,直接下一步即可:

            
            
              4
            
            
                  默認(rèn)安裝路徑:C:\python36

            
            
              5
            
             3
            
              .配置環(huán)境變量(如果在安裝時(shí)勾選配置環(huán)境變量,此步驟則不需要了)

            
            
              6
            
                 【右鍵計(jì)算機(jī)】--》【屬性】--》【高級(jí)系統(tǒng)設(shè)置】--》【高級(jí)】--》【環(huán)境變量】--》【在第二個(gè)內(nèi)容框中找到變量名為Path的一行,雙擊】 -->
            
               【Python安裝目錄追加到變值值中,用 ; 分割】

            
            
              7
            
                 如:原來(lái)的值;C:\python36,切記前面有分號(hào)
          

1.2 windows下更新python

  卸載重裝即可

1.3 linux下安裝python

            
              1
            
             linux中默認(rèn)自帶的python,以最新的ubuntu18.04的系統(tǒng)為例,默認(rèn)自帶的Python版本為python2.7
            
              ,可以再次安裝python3的版本,通過(guò)命令:

            
            
              2
            
            
              #
            
            
               安裝python3
            
            
              3
            
             sudo apt-
            
              get install python3

            
            
              4
            
            
              #
            
            
               安裝pip3
            
            
              5
            
             sudo apt-get install python3-pip
          

?

二、初識(shí)python

2.1 第一個(gè)Python程序

? ?在linux下的/home/目錄下創(chuàng)建文件hello.py

            
              #
            
            
               打印hello world
            
            
              print
            
            (
            
              "
            
            
              hello world
            
            
              "
            
            ) 
          
          
            執(zhí)行文件:
          
          
  python3 hello.py
輸出:hello world

上一步中執(zhí)行 python3 hello.py時(shí),明確的指出 hello.py 腳本由python3解釋器來(lái)執(zhí)行。

如果想要類似于執(zhí)行shell腳本一樣執(zhí)行python腳本,例: ./hello.py ,那么就需要在 hello.py 文件的頭部指定解釋器
            
              1
            
            
              #
            
            
              !/usr/bin/env python3
            
            
              2
            
            
              3
            
            
              print
            
            (
            
              "
            
            
              hello world
            
            
              "
            
            )
          

如此一來(lái),執(zhí)行./hello.py文件即可

 ps:如果在執(zhí)行的時(shí)候報(bào)沒(méi)有權(quán)限的錯(cuò)誤,請(qǐng)記得給文件進(jìn)行賦權(quán),chmod 775 hello.py

程序除了可以寫(xiě)在文件中,還可以使用Python自帶的交互解釋器執(zhí)行:

            
              1
            
             Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64
            
               bit (AMD64)] on win32

            
            
              2
            
             Type 
            
              "
            
            
              help
            
            
              "
            
            , 
            
              "
            
            
              copyright
            
            
              "
            
            , 
            
              "
            
            
              credits
            
            
              "
            
            
              or
            
            
              "
            
            
              license
            
            
              "
            
            
              for
            
            
               more information.

            
            
              3
            
             >>> 
            
              print
            
            (
            
              "
            
            
              hello world
            
            
              "
            
            
              )

            
            
              4
            
            
              hello world

            
            
              5
            
             >>>
          

2.2 Python的注釋

            
               1
            
             單行注釋:以 
            
              #
            
            
               開(kāi)頭,# 右邊的所有東西都被當(dāng)做說(shuō)明文字,而不是真正要執(zhí)行的程序,只起到輔助說(shuō)明作用
            
            
               2
            
            
               3
            
            
              #
            
            
               這是一個(gè)單行注釋
            
            
               4
            
            
               5
            
             為了保證代碼的可讀性,
            
              #
            
            
               后面建議先添加一個(gè)空格,然后再編寫(xiě)相應(yīng)的說(shuō)明文字
            
            
               6
            
            
               7
            
            
               8
            
            
              #
            
            
              ##############################
            
            
               9
            
            
              多行注釋:

            
            
              10
            
            
                  如果希望編寫(xiě)的 注釋信息很多,一行無(wú)法顯示,就可以使用多行注釋

            
            
              11
            
            
                  要在 Python 程序中使用多行注釋,可以用 一對(duì) 連續(xù)的 三個(gè) 引號(hào)(單引號(hào)和雙引號(hào)都可以)

            
            
              12
            
            
              13
            
            
              """
            
            
              14
            
            
                      這是一個(gè)多行注釋

            
            
              15
            
            
              """
            
          

什么時(shí)候需要使用注釋:

  • 注釋不是越多越好,對(duì)于一目了然的代碼,可以不用添加注釋
  • 對(duì)于復(fù)雜的操作,應(yīng)該在操作開(kāi)始前寫(xiě)上若干行注釋
  • 對(duì)于不是一目了然的代碼,應(yīng)在其行尾添加注釋(為了提高可讀性,注釋?xiě)?yīng)該至少離開(kāi)代碼 2 個(gè)空格)
  • 絕不要描述代碼,假設(shè)閱讀代碼的人比你更懂 Python,他只是不知道你的代碼要做什么

2.3 PEP8規(guī)范

  • Python 官方提供有一系列 PEP(Python Enhancement Proposals) 文檔
  • 其中第 8 篇文檔專門針對(duì) Python 的代碼格式 給出了建議,也就是俗稱的 PEP 8
  • 文檔地址:https://www.python.org/dev/peps/pep-0008/
  • 谷歌有對(duì)應(yīng)的中文文檔:http://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_style_rules/

三、編碼

python2中默認(rèn)編碼為ASCII,而python3中的默認(rèn)編碼為Unicode,如果使用的解釋器是python2的話,并且代碼中含有中文的話,那么需要在文件的開(kāi)頭加上:

            
              1
            
             在文件開(kāi)頭加入:
            
              #
            
            
              _*_coding:utf-8_*_
            
            
              2
            
                     或者:
            
              #
            
            
               coding=utf-8
            
          

python解釋器在加載.py文件時(shí),會(huì)對(duì)文件進(jìn)行編碼(python2則用ascii編碼,python3則用unicode編碼)

?

ASCII(American Standard Code for Information Interchange,美國(guó)標(biāo)準(zhǔn)信息交換代碼)是基于拉丁字母的一套電腦編碼系統(tǒng),主要用于顯示現(xiàn)代英語(yǔ)和其他西歐語(yǔ)言,其最多只能用 8 位來(lái)表示(一個(gè)字節(jié)),即:2**8 = 256,所以,ASCII碼最多只能表示 256 個(gè)符號(hào)。

Python 初識(shí)_第1張圖片

顯然ASCII碼無(wú)法將世界上的各種文字和符號(hào)全部表示,所以,就需要新出一種可以代表所有字符和符號(hào)的編碼,即:Unicode

Unicode(統(tǒng)一碼、萬(wàn)國(guó)碼、單一碼)是一種在計(jì)算機(jī)上使用的字符編碼。Unicode 是為了解決傳統(tǒng)的字符編碼方案的局限而產(chǎn)生的,它為每種語(yǔ)言中的每個(gè)字符設(shè)定了統(tǒng)一并且唯一的二進(jìn)制編碼,規(guī)定雖有的字符和符號(hào)最少由 16 位來(lái)表示(2個(gè)字節(jié)),即:2 **16 = 65536,
注:此處說(shuō)的的是最少2個(gè)字節(jié),可能更多

UTF-8,是對(duì)Unicode編碼的壓縮和優(yōu)化,他不再使用最少使用2個(gè)字節(jié),而是將所有的字符和符號(hào)進(jìn)行分類:ascii碼中的內(nèi)容用1個(gè)字節(jié)保存、歐洲的字符用2個(gè)字節(jié)保存,東亞的字符用3個(gè)字節(jié)保存...

四、執(zhí)行腳本傳入?yún)?shù)

Python有大量的模塊,從而使得開(kāi)發(fā)Python程序非常簡(jiǎn)潔。類庫(kù)有包括三中:

  • Python內(nèi)部提供的模塊
  • 業(yè)內(nèi)開(kāi)源的模塊
  • 程序員自己開(kāi)發(fā)的模塊

Python內(nèi)部提供一個(gè) sys 的模塊,其中的 sys.argv 用來(lái)捕獲執(zhí)行python腳本時(shí)傳入的參數(shù)

            
              1
            
            
              #
            
            
              !/usr/bin/env python
            
            
              2
            
            
              #
            
            
               -*- coding: utf-8 -*-
            
            
              3
            
            
              4
            
            
              import
            
            
               sys

            
            
              5
            
            
              print
            
             sys.argv
          

五、變量

5.1 變量的定義

            
              1
            
            
              #
            
            
              !/usr/bin/env python
            
            
              2
            
            
              #
            
            
               -*- coding: utf-8 -*-
            
            
              3
            
            
              4
            
             name = 
            
              "
            
            
              zhangsan
            
            
              "
            
          

上述代碼聲明了一個(gè)變量,變量名為: name,變量name的值為:"zhangsan"

變量的作用:昵稱,其代指內(nèi)存里某個(gè)地址中保存的內(nèi)容

? Python 初識(shí)_第2張圖片

5.2 變量的命名規(guī)則

  • 標(biāo)示符可以由 字母、下劃線 和 數(shù)字 組成
  • 不能以數(shù)字開(kāi)頭
  • 不能與關(guān)鍵字重名

python的關(guān)鍵字有:['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']

ps:Python中的變量名是區(qū)分大小寫(xiě)的, and和And不是一個(gè)變量

5.3 變量的命名規(guī)范

  • 每個(gè)單詞都使用小寫(xiě)字母
  • 多個(gè)單詞之間使用 _下劃線,例如:
    • first_name,last_name等

?

?

六、用戶的輸入

# 在python3中
input:用戶輸入任何值,都存成字符串類型
?
# 在python2中
input:用戶輸入什么類型,就存成什么類型
raw_input:等于python3的input
?
              
                 1
              
              
                #
              
              
                !/usr/bin/env python
              
              
                 2
              
              
                #
              
              
                 -*-coding:utf-8-*-
              
              
                 3
              
              
                 4
              
              
                """
              
              
                 5
              
              
                @author:fyh

              
              
                 6
              
              
                @time:2019/6/6

              
              
                 7
              
              
                """
              
              
                 8
              
              
                 9
              
               name = input(
              
                "
              
              
                請(qǐng)輸入用戶的姓名:
              
              
                "
              
              
                )

              
              
                10
              
               age = input(
              
                "
              
              
                請(qǐng)輸入用戶的年齡:
              
              
                "
              
              
                )

              
              
                11
              
              
                12
              
              
                #
              
              
                 打印用戶的姓名和年齡
              
              
                13
              
              
                print
              
              
                (name)

              
              
                14
              
              
                print
              
              (age)
            

七、.pyc是啥

?7.1 Python是一門解釋型語(yǔ)言?

我初學(xué)Python時(shí),聽(tīng)到的關(guān)于Python的第一句話就是,Python是一門解釋型語(yǔ)言,我就這樣一直相信下去,直到發(fā)現(xiàn)了*.pyc文件的存在。如果是解釋型語(yǔ)言,那么生成的*.pyc文件是什么呢?c應(yīng)該是compiled的縮寫(xiě)才對(duì)啊!

為了防止其他學(xué)習(xí)Python的人也被這句話誤解,那么我們就在文中來(lái)澄清下這個(gè)問(wèn)題,并且把一些基礎(chǔ)概念給理清。

7.2 解釋型語(yǔ)言和編譯型語(yǔ)言

計(jì)算機(jī)是不能夠識(shí)別高級(jí)語(yǔ)言的,所以當(dāng)我們運(yùn)行一個(gè)高級(jí)語(yǔ)言程序的時(shí)候,就需要一個(gè)“翻譯機(jī)”來(lái)從事把高級(jí)語(yǔ)言轉(zhuǎn)變成計(jì)算機(jī)能讀懂的機(jī)器語(yǔ)言的過(guò)程。這個(gè)過(guò)程分成兩類,第一種是編譯,第二種是解釋。

編譯型語(yǔ)言在程序執(zhí)行之前,先會(huì)通過(guò)編譯器對(duì)程序執(zhí)行一個(gè)編譯的過(guò)程,把程序轉(zhuǎn)變成機(jī)器語(yǔ)言。運(yùn)行時(shí)就不需要翻譯,而直接執(zhí)行就可以了。最典型的例子就是C語(yǔ)言。

解釋型語(yǔ)言就沒(méi)有這個(gè)編譯的過(guò)程,而是在程序運(yùn)行的時(shí)候,通過(guò)解釋器對(duì)程序逐行作出解釋,然后直接運(yùn)行,最典型的例子是Ruby。

通過(guò)以上的例子,我們可以來(lái)總結(jié)一下解釋型語(yǔ)言和編譯型語(yǔ)言的優(yōu)缺點(diǎn),因?yàn)榫幾g型語(yǔ)言在程序運(yùn)行之前就已經(jīng)對(duì)程序做出了“翻譯”,所以在運(yùn)行時(shí)就少掉了“翻譯”的過(guò)程,所以效率比較高。但是我們也不能一概而論,一些解釋型語(yǔ)言也可以通過(guò)解釋器的優(yōu)化來(lái)在對(duì)程序做出翻譯時(shí)對(duì)整個(gè)程序做出優(yōu)化,從而在效率上超過(guò)編譯型語(yǔ)言。

此外,隨著Java等基于虛擬機(jī)的語(yǔ)言的興起,我們又不能把語(yǔ)言純粹地分成解釋型和編譯型這兩種。

用Java來(lái)舉例,Java首先是通過(guò)編譯器編譯成字節(jié)碼文件,然后在運(yùn)行時(shí)通過(guò)解釋器給解釋成機(jī)器文件。所以我們說(shuō)Java是一種先編譯后解釋的語(yǔ)言。

7.3 Python到底是什么

其實(shí)Python和Java/C#一樣,也是一門基于虛擬機(jī)的語(yǔ)言,我們先來(lái)從表面上簡(jiǎn)單地了解一下Python程序的運(yùn)行過(guò)程吧。

當(dāng)我們?cè)诿钚兄休斎雙ython hello.py時(shí),其實(shí)是激活了Python的“解釋器”,告訴“解釋器”:你要開(kāi)始工作了。可是在“解釋”之前,其實(shí)執(zhí)行的第一項(xiàng)工作和Java一樣,是編譯。

熟悉Java的同學(xué)可以想一下我們?cè)诿钚兄腥绾螆?zhí)行一個(gè)Java的程序:

javac hello.java

java hello

只是我們?cè)谟肊clipse之類的IDE時(shí),將這兩步給融合成了一步而已。其實(shí)Python也一樣,當(dāng)我們執(zhí)行python hello.py時(shí),他也一樣執(zhí)行了這么一個(gè)過(guò)程,所以我們應(yīng)該這樣來(lái)描述Python,Python是一門先編譯后解釋的語(yǔ)言。

7.4 簡(jiǎn)述Python的運(yùn)行過(guò)程

在說(shuō)這個(gè)問(wèn)題之前,我們先來(lái)說(shuō)兩個(gè)概念,PyCodeObject和pyc文件。

我們?cè)谟脖P上看到的pyc自然不必多說(shuō),而其實(shí)PyCodeObject則是Python編譯器真正編譯成的結(jié)果。我們先簡(jiǎn)單知道就可以了,繼續(xù)向下看。

當(dāng)python程序運(yùn)行時(shí),編譯的結(jié)果則是保存在位于內(nèi)存中的PyCodeObject中,當(dāng)Python程序運(yùn)行結(jié)束時(shí),Python解釋器則將PyCodeObject寫(xiě)回到pyc文件中。

當(dāng)python程序第二次運(yùn)行時(shí),首先程序會(huì)在硬盤中尋找pyc文件,如果找到,則直接載入,否則就重復(fù)上面的過(guò)程。

所以我們應(yīng)該這樣來(lái)定位PyCodeObject和pyc文件,我們說(shuō)pyc文件其實(shí)是PyCodeObject的一種持久化保存方式。

?


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 台州市| 福安市| 涿州市| 兴和县| 漳平市| 舟山市| 阳谷县| 阿拉善左旗| 凤庆县| 三台县| 克什克腾旗| 固始县| 高唐县| 万州区| 莲花县| 隆德县| 确山县| 犍为县| 阿拉善右旗| 永登县| 武平县| 白山市| 郁南县| 雷山县| 开阳县| 喀什市| 万荣县| 六盘水市| 安顺市| 长岭县| 乌兰县| 平舆县| 开鲁县| 仁怀市| 长岛县| 彰武县| 融水| 定州市| 龙门县| 霍林郭勒市| 武功县|