文章出處

Python自動化 【第一篇】:Python簡介和入門

Python簡介:

一、什么是python

  Python是一門動態解釋性的強類型定義語言

  pythonde 特點:“優雅”、“明確”、“簡單”。

二、Python由來

  python的創始人為吉多·范羅蘇姆(Guido van Rossum)。1989年的圣誕節期間,吉多·范羅蘇姆為了在阿姆斯特丹打發時間,決心開發一個新的腳本解釋程序,作為ABC語言的一種繼承。

三、目前Python主要應用領域

  • 云計算: 云計算最火的語言, 典型應用OpenStack 
  • WEB開發: 眾多優秀的WEB框架,眾多大型網站均為Python開發,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django
  • 科學運算、人工智能: 典型庫NumPy, SciPy, Matplotlib, Enthought librarys,pandas
  • 系統運維: 運維人員必備語言
  • 金融:量化交易,金融分析,在金融工程領域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作為動態語言的Python,語言結構清晰簡單,庫豐富,成熟穩定,科學計算和統計分析都很牛逼,生產效率遠遠高于c,c++,java,尤其擅長策略回測
  • 圖形GUI: PyQT, WxPython,TkInter

四、Python的優缺點

  優點:

    1、Python程序看上去總是簡單易懂,初學者容易上手;

    2、開發效率非常高,Python有非常強大的第三方庫,降低開發周期;

    3、 高級語言————當你用Python語言編寫程序的時候,你無需考慮諸如如何管理你的程序使用的內存一類的底層細節;

    4、可移植性————由于它的開源本質,Python已經被移植在許多平臺上(經過改動使它能夠工 作在不同平臺上);

    5、 可擴展性————你可以把你的部分程序用C或C++編寫,然后在你的Python程序中使用它們;

    6、可嵌入性————你可以把Python嵌入你的C/C++程序。

  缺點:

    1、 速度慢;

    2、 代碼不能加密;

    3、 線程不能利用多CPU。

五、Python解釋器

  CPython     是使用最廣的Python解釋器。

  IPython     只是在交互方式上有所增強,但是執行Python代碼的功能和CPython是完全一樣的。

  PyPy        它的目標是執行速度,PyPy采用JIT技術,對Python代碼進行動態編譯(注意不是解釋),所以可以顯著提高Python代碼的執行速度。

  Jython       運行在Java平臺上的Python解釋器。

  IronPython   是運行在微軟.Net平臺上的Python解釋器。

  推薦使用CPython解釋器

六、Python版本

  py2與3的詳細區別:

  1、PRINT IS A FUNCTION

    The statement has been replaced with a print() function, with keyword arguments to replace most of the special syntax of the old statement (PEP   3105). Examples: 

  + View Code

  You can also customize the separator between items, e.g.:

1

print("There are <", 2**32, "> possibilities!", sep="")

     ALL IS UNICODE NOW,從此不再為討厭的字符編碼而煩惱。

  2、某些庫名稱改了:

Old Name

New Name

_winreg

winreg

ConfigParser

configparser

copy_reg

copyreg

Queue

queue

SocketServer

socketserver

markupbase

_markupbase

repr

reprlib

test.test_support

test.support

 

   Python3是趨勢,本博文下所有代碼都是用Python3編寫。

Python入門:

一、 Python安裝

    1)Windows

      1、下載安裝包

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

      2、安裝

          默認安裝路徑:C:\python27

      3、配置環境變量

          【右鍵計算機】--》【屬性】--》【高級系統設置】--》【高級】--》【環境變量】--》【在第二個內容框中找到 變量名為Path 的一行,雙擊】 --> 【Python安裝目錄追加到變值值中,用 ; 分割】

          如:原來的值;C:\python27,切記前面有分號

    

    2)Linux、mac  自帶Python2.6,可自行更新至3版本。

二、 第一個Python程序

  在linux 下創建一個文件叫hello.py,并輸入

1

print("Hello World!")

  

  然后執行命令:python hello.py ,輸出

1

2

3

localhost:~ jieli$ vim hello.py

localhost:~ jieli$ python hello.py

Hello World!

  指定解釋器

    上一步中執行 python hello.py 時,明確的指出 hello.py 腳本由 python 解釋器來執行。

    如果想要類似于執行shell腳本一樣執行python腳本,例: ./hello.py ,那么就需要在 hello.py 文件的頭部指定解釋器,如下:

1

2

3

#!/usr/bin/env python

  

print "hello,world"

    如此一來,執行: ./hello.py 即可。

    ps:執行前需給予 hello.py 執行權限,chmod 755 hello.py

三、變量\字符編碼

  1)變量

     1、聲明變量:

      

1

2

3

#_*_coding:utf-8_*_

 

name = "Poker"

    上述代碼聲明了一個變量,變量名為: name,變量name的值為:"Poker"。

    

     2、變量定義的規則:

    • 變量名只能是 字母、數字或下劃線的任意組合;
    • 變量名的第一個字符不能是數字;
    • 以下關鍵字不能聲明為變量名:
      ['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']    

             3、變量的賦值

      

1

2

3

4

5

6

7

8

name = "Poker"

 

name2 = name

print(name,name2)

 

name = "Jack"

 

print("What is the value of name2 now?")

  2)字符編碼

    python解釋器在加載 .py 文件中的代碼時,會對內容進行編碼(默認ascill)

    ASCII(American Standard Code for Information Interchange,美國標準信息交換代碼)是基于拉丁字母的一套電腦編碼系統,主要用于顯示現代英語和其他西歐      語言,其最多只能用 8 位來表示(一個字節),即:2**8 = 256-1,所以,ASCII碼最多只能表示 255 個符號。

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

    UTF-8,是對Unicode編碼的壓縮和優化,他不再使用最少使用2個字節,而是將所有的字符和符號進行分類:ascii碼中的內容用1個字節保存、歐洲的字符用2個字節保         存,東亞的字符用3個字節保存.

  3)注釋

    當行注視:# 被注釋內容

    多行注釋:""" 被注釋內容 """

四、 用戶輸入

1

2

3

4

5

6

7

#!/usr/bin/env python

#_*_coding:utf-8_*_

 

 

#name = raw_input("What is your name?") #only on python 2.x

name = input("What is your name?")

print("Hello " + name )

    輸入密碼時,如果想要不可見,需要利用getpass 模塊中的 getpass方法,即:

1

2

3

4

5

6

7

8

9

10

#!/usr/bin/env python

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

  

import getpass  

# 將用戶輸入的內容賦值給 name 變量

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

# 打印輸入的內容

print(pwd)

五、字符串及格式化輸出

  萬惡的字符串拼接:

  python中的字符串在C語言中體現為是一個字符數組,每次創建字符串時候需要在內存中開辟一塊連續的空,并且一旦需要修改字符串的話,就需要再次開辟空間,萬惡的+號每出現一次就會在內從中重新開辟一塊空間。

  

字符串格式化輸出

1

2

3

4

name = "poker"

print "i am %s " % name

  

#輸出: i am poker

  PS: 字符串是 %s;整數 %d;浮點數%f     或者用 format方法

六、流程控制

  if。。。else  、  for loop  、   while loop

  1)if。。。else   

    需求一:用戶身份認證

1
2
3
4
5
6
7
8
9
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import getpass
name = raw_input("請輸入用戶名:")
pwd = raw_input("請輸入密碼:")
if name == "tianshuai" and pwd == "123":
    print "登錄成功"
else:
    print "登錄失敗"

     測試:

1
2
3
4
5
6
7
8
9
root@tim:/home/tim# python tianshuai.py
請輸入用戶名:tianshuai
請輸入密碼:
登錄成功
root@tim:/home/tim# python tianshuai.py
請輸入用戶名:tianshuai
請輸入密碼:
登錄失敗
root@tim:/home/tim#

 

  2) for loop      

    需求一:循環十次,但是遇到小于5的循環次數就不走了,直接跳入下一次循環

1

2

3

4

for i in range(10):

    if i<5:

        continue #不往下走了,直接進入下一次loop

    print("loop:", i )

    需求二:還是上面的程序,但是遇到大于5的循環次數就不走了,直接退出

1

2

3

4

for i in range(10):

    if i>5:

        break #不往下走了,直接跳出整個loop

    print("loop:", i )

  

    需求三、猜數字游戲       有3次機會,如果3次中沒有猜中給予提示,3次都沒有猜中,鼓勵!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import random   #隨機模塊
rand_num = random.randrange(10)
  
for in range(3):
    guess_num = int(raw_input("請猜測數字:"))
    if guess_num == rand_num:
        print "太棒了你猜對了"
        break
    elif guess_num > rand_num:
        print "你猜測的有點大了,請嘗試小點的數字"
    else:
        print "你猜測的有點小了,請嘗試大點的數字"
else:
    print "不要灰心,這次只是運氣不好,請下次嘗試"
  
print "這個真正的數字是:%" % rand_num

   3)while  loop

    他的原理是:當條件為真的時候運行,當條件為假的時候停止!

    無限循環

1

2

3

4

5

count = 0

while True:

    print("花兒也謝了...",count)

    count +=1

    

沒有一個規定次數,不設置條件永遠循環下去。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import time
count = 0
while True:
    count +=1
    print "loop",count
    time.sleep(3)
#這個循環3秒鐘自+1 ,后無線循環只要這個條件為”真“,就無限循環下去
那看下下面的例子
#!/usr/bin/env python
#-*- coding:utf-8 -*-
  
import time
cout = 0
  
while cout < 3:
    cout +=1
    print "shuai",cout
    time.sleep(3)
      
#這個循環每3秒循環一次,當條件cout < 3的時候為真(自己設置的條件),當cout 不小于3的時候為假(false)停止。

文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()