一. python開發基礎

來源:互聯網
上載者:User

python開發環境

變數本質

1. python中的變數不需要先定義,再使用,可以直接使用,還有重新使用用以儲存不同類型的值。2.變數命名遵循C命名風格。
3.大小寫敏感。
4.變數引用計數。

5. del語句可以直接釋放資源,變數名刪除,引用計數減1。
6.變數記憶體自動管理回收,垃圾收集。
7.指定編碼在檔案開頭加入# ­­ coding: UTF­8 ­­或者#coding=utf­8。

>>> a = 12>>> print a12>>> id(a)136776784>>> type(a)<class 'int'>>>> b = 12.34>>> print b12.34
>>> id(b)3071447616>>> type(b)<class 'float'>>>> a = "itcast">>> print aitcast
>>> id(a)3071127936>>> type(a)<class 'str'>>>> c = b
>>> print c12.34>>> id(c)3071447616>>> type(c)<class 'float'>
>>> b = 12>>> id(b)136776784>>> type(b)<class 'int'>>>> print b12

#無需定義,直接使用,python解譯器根據右值決定左側類型#變數a在記憶體中的編號

#a的類型為int類型

#變數b在記憶體中所佔記憶體編號#b的類型為float

#變數a從新指向一個字串#變數a在記憶體中的編號為儲存“itcast”地方,原來a所指向的記憶體編號裡內容並沒有立即釋放

#變數a現在指向一個字串

#變數c儲存的記憶體中的編號和b一致

#解譯器在記憶體中發現有儲存12的這個單元,於是變數b指向了此單元,減少了儲存空間的反覆申請與釋放

>>> print aitcast>>> del(a)>>> print aTraceback (most recent call last):
  File "<stdin>", line 1, in <module>NameError: name 'a' is not defined


簡單函數

函數定義格式

defadd(x, y):z=x+y

returnz

res=add(3,5)printres
8

def定義函數的關鍵字

x和y為形參,不需要類型修飾

函數定義行需跟':'

函數體整體縮排

函數可以擁有傳回值,若無傳回值,返回None,相當於C中的NULL

輸入輸出函數

輸入和raw_input()內建函數
raw_input()從標準輸入擷取資料 返回的資料是字串類型需要使用int()進行轉換

輸出
print函數
>>> print "%s is %dsthello world "%("tody",1)tody is 1sthello world
>> 重新導向操作符
logfile = open('/tmp/mylog.txt','a')
print >>logfile,'error'
logfile.close()

局部變數和全域變數

代碼1.局部變數範圍覆蓋全域變數

defp_num():num=5

printnum

num=10p_num()printnum#結果: 5 10

代碼2.函數內有局部變數定義,解譯器不使用全域變數,局部變數的定義晚於被引用,報錯

defp_num():printnum

num=5printnum

num=10p_num()printnum#結果出錯

代碼3.函數內部可以直接存取全域變數

defp_num():printnum


num=10p_num()
printnum
#結果: 10 10

代碼4.函數內修改全域變數,使用global關鍵字

defp_num():globalnum

printnumnum=20printnum

num=10p_num()printnum

特殊變數

_xxx from module import *無法匯入__xxx__系統定義的變數
__xxx類的本地變數

運算式

算術運算式

+a
­a
a + ba ­ ba**ba * ba / ba//ba%b

邏輯運算式

          not a          a and b          a or b          a is b          a is not b

關聯運算式

運算結果為布爾類型

==等於
!=不等於
<>不等於(廢棄)>大於
<小於
>=大於等於
<=小於等於

位元運算

結果符號不變對結果符號取負a加b
a減b

a的b次冪
a乘以ba除以b,真正除,浮點數保留小數a除以b,向下取整
a對b取餘數

a的邏輯非boola和b邏輯與boola和b邏輯或boola和b是同一個對象boola和b不是同一個對象bool

~a按位取反


a<<n a左移n位a>>n a右移n位a&b a和b按位與a|b a和b按位或a^b a

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.