python學習筆記之初識Python

來源:互聯網
上載者:User

標籤:

一直聽說python語音的簡單易用而又強大,今天終於忍不住借本書,開始接觸接觸一下它,下面結合書本和自己的一些體會,寫一下剛剛接觸python的東西,重點寫一些和C++有區別的地方。

(1)輸入input()、輸出print()

注意輸入input()括弧中是提示符,傳回值才是輸入的數

如a=input("請輸入一個數")

(2)資料類型

1)python中使用變數不需要提前對變數進行聲明,可以直接使用,這點倒有點想MATLAB,而不是C。

2)python中所表示的整數大小隻受限制於記憶體的大小,並不是固定的位元組數。這個簡直爽爆了,大整數運算再也不需要轉換成字串去處理了。

3)可以使用[]來訪問字串等序列中的某一項,但是str類型與基本的數實值型別都是固定的,值一旦設定就不能改變

如:

(3)python中存在一些組合資料類型

如元組、列表,其中元組是固定大小的,而列表是可變的,建立列表可以使用[]

(4)python中傳遞變數全部都是按照引用傳遞(不像C++中可以選擇 值、指標和引用)

這樣全都按照引用傳遞,對應固定類型(如字串、整數、元組)的參數傳遞其實與C中按值傳遞類似,而可變類型(如列表)的參數傳遞與C中按引用傳遞類似。

如:

(5)邏輯操作符

1)身份操作符  is

這個是由於前面說到的python變數都是按照引用進行傳遞的,所以使用is來驗證兩個變數是否指向的是同一個對象。

這裡需要注意的是字串變數和普通變數的區別,所謂引用其實就是一個“標籤”,對記憶體中的某一個或一段資料添加一個“標籤”作為別名而已,如果將一個變數賦值成已經存在記憶體中的一個字串,那麼記憶體中將不再重新儲存一遍,而整數等其他類型是需要儲存兩份的(這個在C++中也是這樣的)。

 2)比較操作符

python中可以進行鏈式比較(這個在C++中是不行的)

如可以寫成這樣 0<a<=10

3)成員運算子 in、not in

這裡說明下python中字串的表示並不區別單引號和雙引號

4)邏輯運算子 and or not

注意這裡python雖然使用的仍是短路邏輯,但是傳回值並不是bool型,而是返回結果(結果指的是退出邏輯判斷前最後一個運算元)

 

(6)語句塊

python中並不像C++那樣使用{}來區分語句塊,而是直接使用縮排的方法,一般每級縮排都使用4個空格。

(7)控制流程語句

1)if

if 條件1:

    語句1

elif 條件2:

    語句2

elif 條件3:

    語句3

。。。

else:

    語句n

2)while與C++幾乎一樣

3)for...in

4)異常處理

try:

    try_suite

execpt exception1 as val1:

    處理語句1

execpt exception2 as val2:

    處理語句2

...

(8)算數運算

大部分與C++相似,只是要特別注意"/"在python中是不會取整的,而是得到小數

(9)函數的建立與調用

函數格式:

def functionname(arg1,arg2,...)

    函數語句

不需要定義函數的傳回值,如果有傳回值,直接return,沒有的話就認為是沒有傳回值

(10)模組的調用

模組的調用使用:import 模組名

現有的模組可以直接使用import調用,自己寫的可以先儲存成.py的檔案,然後使用import調用

下面給一個產生隨機數的小程式:

 1 import random 2  3  4 def get_int(msg,min,default): 5     while True: 6         try: 7             line=input(msg) 8             if(not line and default is not None): 9                 return default10             i=int(line)11             if i<min:12                 print("input must >=min")13             else:14                 return i15         except ValueError as err:16             print(err)17             18 19 20 rows=get_int("rows",1,None)21 cols=get_int("cols",1,None)22 min=get_int("min",-100,0)23 max=get_int("max",min,100)24 25 26 row=027 while row<rows:28     col=029     line=""30     while col<cols:31         i=random.randint(min,max)32         s=str(i)33         line=line+s34         line=line+" "35         col=col+136     print(line)37     row=row+1;

 

python學習筆記之初識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.