程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

【Python編程】二、基本語法

編輯:Python


文章目錄

          • 執行python代碼的兩種方式
          • python解釋器路徑
          • 指定編碼方式
          • python注釋
          • python解釋器與pyc文件
          • python變量
          • 變量的賦值
          • 書寫格式
          • while循環
          • 練習題


執行python代碼的兩種方式
  • python filename:把filename文件交給python解釋器,相當於把文件地址交給python解釋器,python解釋器會找到filename文件,並把文件讀到內存執行。在Windows下,不是.py後綴的文件也可以被python運行,被python解釋器運行的文件可以是任意後綴名,但是我們正規編程時,應該以py為後綴。
  • cmd模式輸入python:直接在命令行輸入python,會進入python解釋器的交互界面,可以實時解釋我們輸入的指令並輸出執行結果。
python解釋器路徑

在Windows下,我們可以通過D:\python3\python 1.py來指定使用哪個版本的python解釋器。在Linux下我們可以直接把一個py文件增加可執行權限,通過./1.py的方式來執行1.py文件(就像Linux下運行任何可執行文件的方式一樣),這種情況下我們並沒有指定使用哪個python解釋器,所以要在1.py的第一行寫入

#!/usr/bin/env python

這句話的意思就是告訴操作系統使用哪個python解釋器(python解釋器路徑),該方式是Linux下特有的。其它方式Windows和Linux下都可以。注意,這句話必須放在整個python腳本文件的第一行。

指定編碼方式
coding=utf-8

在python3下,加不加這句話都可以。在python2下,如果有中文就需要加這句話,否則會出現亂碼。因為python2默認使用ASCII編碼解碼,在python3中實際上沒有字符串了,所有內容都是字節(本質上全都是Unicode)。比如在Windows下,cmd終端使用的是GBK編碼,假如用python2來編譯一個帶中文字符串的程序,就會出現亂碼,而python3中全都是Unicode,所以不會亂碼。在編碼之間有這樣的一個轉換關系,你在程序中使用的是utf8,如果終端用GBK方式顯示的話,顯示是亂碼,因為utf8中文占3字節,而GBK中文占兩字節,它們兩個不能直接轉換。只能是先轉換成Unicode,然後再轉換成另一種編碼方式。

python注釋

在C語言中使用 /**/ 來注釋,在C++中使用 // 進行注釋,而我們的python和shell腳本都是使用#進行單行注釋,在python中使用多行注釋的方式是三引號

""" 被注釋內容 """
python解釋器與pyc文件

我們寫好的python代碼都是由python解釋來執行的,python代碼的執行過程如下

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

python變量

首先變量存在的意義就是記錄某個狀態的變化,變量的本質是一塊內存空間的名稱,可以把變量理解為一塊內存的門牌號,通過這個門牌號去訪問內存。我們知道,在C/C++定義變量的時候必須要指定變量的類型。在python中,定義變量的的時候不需要指定類型,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’]

當我們使用input()函數接收輸入的時候,接收到的內容都是以字符串類型接收的,即使你輸入的是數字1,var = input(),變量var的值最終是’1’字符串,而不是數字1。

變量的賦值

首先來看兩種賦值方式

var1 = 'C/C++'
var1 = 'hello'
var2 = var1

那麼上面總共在內存中占多少內存塊呢?不管在python中,還是在其它編程語言中,當我們修改一個變量的時候,實際上是拷貝了一份內存空間重新賦給當前變量。而var2=var1的操作,並不會在給var2分配內存,而是讓var2和var1指向同一個內存。

書寫格式

在C/C++中,可執行代碼必須要放在大括號{}內,大括號就是一個作用域,只要在{}內就是一個代碼塊,代碼行之間不需要對齊等操作。但是python是嚴格按照縮進來控制代碼結構的,在編寫python代碼的時候必須要嚴格控制縮進,代碼之間必須要根據縮進對齊。

if __name__ == __main__:
tag = input()
if tag == "hello":
print("hello")
elif tag == "world":
print("world")
while循環
while 條件:
# 循環體
break #退出所有循環
continue #退出本次循環
練習題

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

 1 #!/usr/bin/env python
2 # coding=utf-8
3
4 i = 0
5 while i < 10:
6 i += 1
7 if i == 7:
8 continue
9 print(i)

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

 1 #!/usr/bin/env python
2 # coding=utf-8
3
4 print(sum(range(1, 101))) #一行代碼打印
5
6 i = 0
7 ret = 0
8 while i < 101:
9 ret = ret + i
10 i += 1
11 print(ret)

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

 1 #!/usr/bin/env python
2 # coding=utf-8
3
4 i = 1
5 ret = 0
6 while i < 101:
7 ret = ret + i
8 i += 2
9 print(ret)

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

 1 #!/usr/bin/env python
2 # coding=utf-8
3
4 i = 0
5 ret = 0
6 while i < 101:
7 ret = ret + i
8 i += 2
9 print(ret)

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

 1 #!/usr/bin/env python
2 # coding=utf-8
3
4 i = 1
5 ret = 0
6 while i < 100:
7 if i % 2 == 0:
8 ret = ret - i
9 else:
10 ret = ret + i
11 i += 1
12 print(ret)



  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved