Python之路(第一篇):Python簡介和基礎


一、開發簡介

1、開發:
      開發語言:
               高級語言:python、JAVA、PHP、C#、、ruby、Go--》字節碼
                低級語言:C、匯編--》機器碼

2、語言之間的對比:
  PHP類:適用於寫網頁,局限性
  JAVA\Python:可以寫網頁,也可以寫后台
    JAVA執行效率高,開發效率低
    Python 執行效率低,開發效率高

3、Python種類:
  JPython
  Cpython
  IronPython
  JavaScriptPython
  RubyPython
  ...
  pypy 這是用CPython開發的Python

  一般學習的Python都是指CPython

  IronPython 是一種在 NET 和 Mono 上實現的 Python 語言

  Jython是一種完整的語言,而不是一個Java翻譯器或僅僅是一個Python編譯器,它是一個Python語言在Java中的完全實現。

  CPython是特指C語言實現的Python,就是原汁原味的Python。一般我們學習的都是這個。

  PyPy是另一個Python解釋器,它的目標是執行速度。PyPy采用JIT技術,對Python代碼進行動態編譯(注意不是解釋),所以可以顯著提高Python代碼的執行速度。簡單來說就是python1編寫的代碼,第一次給python2去執行,然后python2得到python1編寫代碼的機器碼,第二次運行同樣的python1的代碼,python2就直接執行機器碼了,所以運行速度會提高。


4、安裝:
  Python安裝在OS上,
     執行操作
        寫一個文件,按照python的規則寫,將文件交給python,
          軟件讀取文件內容,然后轉換和執行,最終獲取結果。
  python軟件 ==>Python解釋器(內存管理)

5、下載說明:
  python3
    pyrhon3不向下兼容python2,在繼續更新,
  python2
    在繼續更新,在越來越向python3轉換


6、機器碼和字節碼
  機器碼是計算機能夠識別的東西,是電腦的CPU可直接解讀的數據。
  字節碼是一種包含執行程序、由一序列 op 代碼/數據對 組成的二進制文件。字節碼是一種中間碼,它比機器碼更抽象,需要直譯器轉譯后才能成為機器碼的中間代碼。

二、Python基礎

1、第一句python

print(“hello world”)

2、 編碼

  # -*- coding:utf8 -*- 

  Python3中無需關注# -*- coding:utf8 -*- 

  Python2中,只要出現中文,頭部必須寫這一句,因為python2默認用ASCII編碼,只支持英文,出現中文會顯示亂碼

3、變量名

  •   可以由字母、數字、下划線組成, 最好不好和python內置的東西重復,標識符、保留字等

數字不能開頭 ,不能是關鍵字。

  •   以下關鍵字不能聲明為變量名

['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']

  • 內置函數和類也不能用做變量名

4、多行注釋用

"""
代碼內容
"""

   三個引號即可注釋多行內容

5、條件語句
    縮進用4個空格,一般按TAB鍵即可實現

(1)復雜嵌套語句

if 條件表達式1:
    功能代碼1
        if 條件表達式2:
             功能代碼2
        else:
             功能代碼3
else:
    功能代碼4        

  

(2)多條件判斷

if 條件表達式1:
    功能代碼1
elif 條件表達式2:
    功能代碼2
elif 條件表達式3:
    功能代碼3
else:
    功能代碼4

  

( 3 ) and or條件

if 條件表達式1 and 條件表達式2 :
     功能代碼1
else:
     功能代碼2

  

>功能代碼如果寫成pass,表示什么都不執行

6、基本數據類型
  a、字符串
  引號引起來的都稱之為字符串,

  (1)字符串里的加法

n1 = 'hello'
n2 = 'world'
n3 = n1 + n2
print(n3)

  輸出結果:

helloworld

  (2)字符串里的乘法

n1 = 'hello'
n2 = n1 * 5
print(n2)

  輸出結果

hellohellohellohellohello

  b、數字運算符
  n1 = 8
  n2 = 2

  (1)加
     n3 = n1 + n2

  (2)減
    n3 = n2 - n1

  (3)乘
    n3 = n1 * n2

  (4)除
    n3 = n2 / n1

  (5)次方(冪)
    n3 = 2 **4
    2的4次方

  (6)取余
    n3 = 39 % 8
    對39除以8取余數 即39/8=4余7 , 4*8=32, 39-32= 7.

   (7)取整數商

    n3 = 39 //8
    對39除以8取整數商,即只要商的整數部分4


7、循環
  a、死循環  

while 1 = 1:
  print("ok")

  此程序將一直輸出ok

  b、while 條件循環

import time 
count = 0
while count < 10 :
    print("ok",time.time())
    count = count +1
print("123")

 

練習

1、使用while循環輸入 1 2 3 4 5 6 8 9 10

n = 1
while n < 11:
    if n == 7 :
        pass
    else:
        print(n)
    n = n + 1

  

  注意n = n + 1要與if、else語句對齊,不然無法輸出8、9、10

2、求1-100的所有數的和

n = 1
s = 0
while n < 101:
    s = s + n
    n = n + 1
print(s)

  

 

3、輸出 1-100 內的所有奇數

n = 1
while n < 101:
    if n % 2 == 1 :
        print(n)
    else:
        pass
    n = n + 1

  

4、輸出 1-100 內的所有偶數

n = 1
while n < 101:
    if n % 2 == 0 :
        print(n)
    else:
        pass
    n = n + 1

  

5、求1-2+3-4+5 ... 99的所有數的和

n = 1
s1 = 0
s2 = 0
while n < 100:
    if n % 2 == 1 :
        s1 = s1 + n 
    else:
        s2 = s2 + n
    n = n + 1
s = s1 -s2
print(s)

  

或者

n = 1
s = 0 # s是之前所有數的總和
while n < 100:
    temp = n % 2
    if temp == 0:
        s = s - n    
    else:
        s = s + n    
    n = n + 1
print(s)

  

 

這里可以理解為搭積木
(1)當全部為正數求和時
  sum = sum + n
  最開始積木塔(sum)為0
  來了一塊積木1,積木塔馬上加上1,
  來了一塊積木2,積木塔馬上加上2,
  以此類推
  sum = sum + n
(2)當奇數為正,偶數為負
  偶數為負也可以理解為減法,即抽掉
  同樣的,最開始積木塔(sum)為0
  來了一塊積木1,積木塔馬上加上1,
  要抽掉一塊積木2,積木塔馬上減去2
  來了一塊積木3,積木塔馬上加上3,
  要抽掉一塊積木4,積木塔馬上減去4,
  以此類推
  奇數時
  sum = sum + n
  偶數時
  sum = sum - n
6、用戶登錄用戶登陸(三次機會重試)

name = input("請輸入賬戶名:")
passwd = input("請輸入密碼:")
count = 1
while count < 3:
    if name != 'nicholas' or passwd != '123':
        print ("賬戶名或者密碼輸入錯誤!請重新輸入!")
        name = input("請輸入賬戶名:")
        passwd = input("請輸入密碼:")
        
    elif name == 'nicholas' and passwd == '123':
        print ("登錄成功!")
        break
    count = count + 1
else:
    print("三次未能成功登錄,登錄失敗!")

  精簡代碼

count = 0
while count < 3:
    name = input("請輸入賬戶名:")
    passwd = input("請輸入密碼:")
    if name == 'nicholas' and passwd == '123':
        print ("登錄成功!")
        break         
    else:
        print ("賬戶名或者密碼輸入錯誤!請重新輸入!")
    count = count + 1
else:
    print("三次未能成功登錄,登錄失敗!")

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM