欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python基礎(chǔ)教程之簡單入門說明(變量和控制語言使用方法)

 更新時(shí)間:2014年03月25日 10:44:29   作者:  
這篇文章主要介紹了開始學(xué)習(xí)python的第一步需要知道的知識(shí)(變量和控制語言使用方法),需要的朋友可以參考下

簡介
有興趣可以看看: 解釋性語言+動(dòng)態(tài)類型語言+強(qiáng)類型語言

交互模式:(主要拿來試驗(yàn),可以試試 ipython)

復(fù)制代碼 代碼如下:

$python
>>> print 'hello world'

腳本

復(fù)制代碼 代碼如下:

#!/usr/bin/env python
print 'hello world'


環(huán)境:

建議python2.7 + easy_install + pip + virtualenv + ipython

縮進(jìn)
Python 函數(shù)沒有明顯的 begin 和 end,沒有標(biāo)明函數(shù)的開始和結(jié)束的花括號(hào)。唯一的分隔符是一個(gè)冒號(hào) (:),接著代碼本身是縮進(jìn)的。

例子:

復(fù)制代碼 代碼如下:

#函數(shù)
def func(value):
    print value  #縮進(jìn)

    if value == 1:
        value += 1
    elif value == 2:
        pass
    else:
        value += 10

標(biāo)識(shí)符
變量是標(biāo)識(shí)符的例子。 標(biāo)識(shí)符 是用來標(biāo)識(shí) 某樣?xùn)|西 的名字。在命名標(biāo)識(shí)符的時(shí)候,你要遵循這些規(guī)則:

1.python中的標(biāo)識(shí)符是區(qū)分大小寫的。

2.標(biāo)示符以字母或下劃線開頭,可包括字母,下劃線和數(shù)字,大小寫敏感

3.以下劃線開頭的標(biāo)識(shí)符是有特殊意義的。

以單下劃線開頭(_foo)的代表不能直接訪問的類屬性,需通過類提供的接口進(jìn)行訪問,不能用“from xxx import *”而導(dǎo)入;
以雙下劃線開頭的(__foo)代表類的私有成員;
以雙下劃線開頭和結(jié)尾的(foo)代表python里特殊方法專用的標(biāo)識(shí),如init()代表類的構(gòu)造函數(shù)。

4.標(biāo)識(shí)符不能是保留字

復(fù)制代碼 代碼如下:

and            elif        global   or    yield
assert         else        if       pass
break          except      import   print
class          exec        in       raise
continue       finally     is       return
def            for         lambda   try
del            from        not      while

變量

賦值語句

1、賦值語句建立對(duì)象引用值
2、變量名在首次賦值時(shí)會(huì)被建立
3、變量名在引用前必須先賦值,不能引用未聲明賦值的變量


賦值方式

簡單賦值
Variable(變量)=Value(值)

復(fù)制代碼 代碼如下:

s = ‘spam'

多變量賦值

python中原始的元組和列表賦值語句形成,最后已被通用化,以接受右側(cè)可以是是任何類型的序列,只要長度相等即可。注意,長度一定相等
Variable1,variable2,...=Value1,Value2,...

復(fù)制代碼 代碼如下:

s,h = ‘a(chǎn)','b'  元組賦值,位置性  【常用】
[s,h] =[‘a(chǎn)','b'] 列表賦值,位置性
a,b,c,d = ‘spam' 序列賦值,通用性
a,*b = ‘spam' 拓展序列解包(python3)

多目標(biāo)賦值

復(fù)制代碼 代碼如下:

a=b=variable

s = h = ‘spam' 多目標(biāo)賦值


注意:多個(gè)變量內(nèi)存中指向同一對(duì)象,對(duì)于可變類型需要,修改一個(gè)會(huì)對(duì)其他造成影響

自變賦值

復(fù)制代碼 代碼如下:

如+=,-=,*=等。

在自變賦值中,python僅計(jì)算一次,而普通寫法需計(jì)算兩次;

自變賦值會(huì)修改原始對(duì)象,而不是創(chuàng)建一個(gè)新對(duì)象。

復(fù)制代碼 代碼如下:

s +=42 增強(qiáng)賦值
x += y

優(yōu)點(diǎn):

復(fù)制代碼 代碼如下:

左側(cè)只需計(jì)算一次,優(yōu)化技術(shù)自動(dòng)原處修改,更快
l +=[] 原處修改
l = l+[] 復(fù)制,生成新的對(duì)象

運(yùn)算符
一個(gè)表達(dá)式可以分解為運(yùn)算符和操作數(shù)

運(yùn)算符 的功能是完成某件事,它們由如+這樣的符號(hào)或者其他特定的關(guān)鍵字表示

運(yùn)算符需要數(shù)據(jù)來進(jìn)行運(yùn)算,這樣的數(shù)據(jù)被稱為 操作數(shù)

運(yùn)算符優(yōu)先順序列表(從最高到最低)

復(fù)制代碼 代碼如下:

運(yùn)算符   描述
'expr'  字符串轉(zhuǎn)換
{key:expr,...}  字典
[expr1,expr2...]    列表
(expr1,expr2,...)   元組
function(expr,...)  函數(shù)調(diào)用
x[index:index]  切片
x[index]    下標(biāo)索引取值
x.attribute 屬性引用
~x  按位取反
+x,-x 正,負(fù)
x**y    冪
x*y,x/y,x%y 乘,除,取模
x+y,x-y   加,減
x<<y,x>>y 移位
x&y 按位與
x^y 按位異或
x|y 按位或
x<y,x<=y,x==y,x!=y,x>=y,x>y   比較
x is y,x is not y 等同測試
x in y,x not in y 成員判斷
not x   邏輯否
x and y 邏輯與
x or y  邏輯或
lambda arg,...:expr Lambda匿名函數(shù)

結(jié)合規(guī)律

運(yùn)算符通常由左向右結(jié)合,即具有相同優(yōu)先級(jí)的運(yùn)算符按照從左向右的順序計(jì)算

計(jì)算順序

默認(rèn)地,運(yùn)算符優(yōu)先級(jí)表決定了哪個(gè)運(yùn)算符在別的運(yùn)算符之前計(jì)算。然而,如果你想要改變它們的計(jì)算順序,你得使用圓括號(hào)。好的做法:默認(rèn)對(duì)復(fù)雜的運(yùn)算加括號(hào),而不是依賴于默認(rèn)結(jié)合和計(jì)算順序

真值
真值測試

1、任何非零數(shù)字或非空對(duì)象都為真
2、數(shù)字零,空對(duì)象以及特殊對(duì)象None都為假
3、比較和相等測試都會(huì)遞歸地運(yùn)用到數(shù)據(jù)結(jié)構(gòu)中
4、比較和相等測試會(huì)返回True或False


真值表

復(fù)制代碼 代碼如下:

對(duì)象/常量   值
""  假
"string"    真   
0   假
2>=1    真
-2<=-1  真
()空元組 假
[]空列表 假
{}空字典 假
None    假

布爾表達(dá)式
三種布爾表達(dá)式運(yùn)算符

復(fù)制代碼 代碼如下:

x and y
x or y
not x

比較
數(shù)字通過相對(duì)大小進(jìn)行比較
字符串時(shí)按照字典順序的,一個(gè)字符一個(gè)字符比較
列表和元組從左到右對(duì)每部分的內(nèi)容進(jìn)行比較
字典通過排序后的鍵值列表進(jìn)行比較
數(shù)字混合類型比較在python3是錯(cuò)誤的,但是python2.6支持,固定但任意的排序規(guī)則

布爾數(shù)
有兩個(gè)永遠(yuǎn)不改變的值True,F(xiàn)alse
布爾是整型的子類,但不能被再繼承
沒有nonzero()方法的對(duì)象的默認(rèn)值是True
對(duì)于值為0的任何數(shù)字或空集,值False
在數(shù)學(xué)運(yùn)算中,Bollean值的True和False分別對(duì)應(yīng)于1和0
基本控制流

if
基本的條件測試語句,用來判斷可能遇到的不同情況,并針對(duì)不同的情況進(jìn)行操作

基本形式

復(fù)制代碼 代碼如下:

if <條件>:
   <語句>
elif <條件>:
   <語句>
else:
   <語句>

注意

python根據(jù)縮進(jìn)判斷, elif和else部分是可選的

例子:

復(fù)制代碼 代碼如下:

a = 1
b = 2
c = 3;d=4 #兩個(gè)放一句用分號(hào)隔開,不過建議分行

if a < b and c < d:
    print("branch a")
elif a == b:
    print("branch b")
else:
    print("branch c")
switch

python 本身沒有 switch 語句,若需要,用if/elif/else實(shí)現(xiàn)完成同樣的工作,某些情況可以考慮用字典

也可以用dict的形式

if/else三元運(yùn)算符

復(fù)制代碼 代碼如下:

A = ((X and Y) or Z)
A = Y  if X else Z
例: a = ‘t' if x else ‘a(chǎn)'
[code]

for

基本語法

循環(huán)控制語句,可以用于循環(huán)遍歷某一序列

else塊可選,在循環(huán)終止的時(shí)候執(zhí)行,若是break終止循環(huán),else不執(zhí)行

格式:
[code]
for <對(duì)象變量> in <對(duì)象集合>:
    if<條件>:
       break
    if<條件>:
       continue
    <其他語句>
else:
    <其他語句>

注意:

1.對(duì)象集合可以是列表,字典以及元組等
2.for..in循環(huán)對(duì)于任何序列都適用
3.for遍歷一個(gè)字典時(shí),遍歷的是字典的鍵

復(fù)制代碼 代碼如下:

rang & xrange

可以通過range()函數(shù)產(chǎn)生一個(gè)整數(shù)列表,完成計(jì)數(shù)循環(huán)

復(fù)制代碼 代碼如下:

range([start,] stop[, step])

start可選參數(shù),起始數(shù)
stop終止數(shù),若為x,產(chǎn)生從0-(x-1)的整數(shù)列表
step可選參數(shù),步長,未寫默認(rèn)為1
range(1,5) 包含序列為 [1,2,3,4]

xrange和range區(qū)別

(python3.x的可無視)

在Range的方法中,它會(huì)生成一個(gè)list的對(duì)象,但是在XRange中,它生成的卻是一個(gè)xrange的對(duì)象,當(dāng)返回的東西不是很大的時(shí)候,或者在一個(gè)循環(huán)里,基本上都是從頭查到底的情況下,這兩個(gè)方法的效率差不多。但是,當(dāng)返回的東西很大,或者循環(huán)中常常會(huì)被Break出來的話,還是建議使用XRange,這樣既省空間,又會(huì)提高效率。

復(fù)制代碼 代碼如下:

>>> print range(1, 5)
[1, 2, 3, 4]
>>> print xrange(1, 5)
xrange(1, 5)

在上面語句中,range返回了一個(gè)普通List,而xrange返回了一個(gè)特定的xrange類型的對(duì)象。由于 xrange 方法也創(chuàng)建整數(shù) list(其使用相同參數(shù)),所以它與 range 方法非常相似。但是,xrange 方法僅在需要時(shí)才在 list 中創(chuàng)建整數(shù)。當(dāng)需要迭代大量整數(shù)時(shí),xrange 方法更適用,因?yàn)樗粫?huì)創(chuàng)建極大的 list,那樣會(huì)消耗大量計(jì)算機(jī)內(nèi)存。

while

與if語句類似,含一個(gè)條件測試語句,循環(huán),允許重復(fù)執(zhí)行一個(gè)語句塊。

可選else語句塊,同for的else塊。

格式:

復(fù)制代碼 代碼如下:

while <條件>:
   if <條件>:
      break
   if <條件>:
      continue
   <其他語句>
else:
   <語句>

說明:

while循環(huán)條件變?yōu)镕alse的時(shí)候,else塊才被執(zhí)行
若是使用break結(jié)束循環(huán),while可選的else塊不執(zhí)行
python沒有do while或do until循環(huán)語句
break & continue & pass
break,終止循環(huán)語句,停止循環(huán),若是for/while循環(huán)中終止,其else不執(zhí)行

continue,結(jié)束當(dāng)前,進(jìn)入下一輪循環(huán) - 跳到最近所在循環(huán)的開頭處(來到循環(huán)首行)

pass 什么事也不做,只是空占位語句,它用于那些語法上必須要有什么語句,但程序什么也不做的場合

循環(huán)else塊 :只有循環(huán)正常離開時(shí)才會(huì)執(zhí)行,即

如果你從for或while循環(huán)中break終止 ,任何對(duì)應(yīng)的循環(huán)else塊將不執(zhí)行。記住,break語句也可以在for循環(huán)中使用

其他

編寫循環(huán)的技巧:
在迭代過程中修改迭代序列不安全(只有在使用鏈表這樣的可變序列時(shí)才會(huì)有這樣的情況)。如果你想要修改你迭代的序列(例如,復(fù)制選擇項(xiàng)),你可以迭代它的復(fù)本。使用切割標(biāo)識(shí)就可以很方便的做到這一點(diǎn)

>>>

復(fù)制代碼 代碼如下:
for x in a[:]: # make a slice copy of the entire list
...    if len(x) > 6: a.insert(0, x)

在字典中循環(huán)時(shí),關(guān)鍵字和對(duì)應(yīng)的值可以使用 iteritems() 方法同時(shí)解讀出來
復(fù)制代碼 代碼如下:

>>> knights = {'gallahad': 'the pure', 'robin': 'the brave'}
>>> for k, v in knights.iteritems():
...     print k, v
...
gallahad the pure
robin the brave

在序列中循環(huán)時(shí),索引位置和對(duì)應(yīng)值可以使用 enumerate() 函數(shù)同時(shí)得到。
復(fù)制代碼 代碼如下:

>>> for i, v in enumerate(['tic', 'tac', 'toe']):
...     print i, v

相關(guān)文章

  • Python Matplotlib庫實(shí)現(xiàn)畫局部圖

    Python Matplotlib庫實(shí)現(xiàn)畫局部圖

    這篇文章主要為大家詳細(xì)介紹了Python Matplotlib庫實(shí)現(xiàn)畫局部圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • 用Python程序抓取網(wǎng)頁的HTML信息的一個(gè)小實(shí)例

    用Python程序抓取網(wǎng)頁的HTML信息的一個(gè)小實(shí)例

    這篇文章主要介紹了用Python程序抓取網(wǎng)頁的HTML信息的一個(gè)小實(shí)例,用到的方法同時(shí)也是用Python編寫爬蟲的基礎(chǔ),需要的朋友可以參考下
    2015-05-05
  • python寫xml文件的操作實(shí)例

    python寫xml文件的操作實(shí)例

    這篇文章主要介紹了python寫xml文件的操作實(shí)例,是非常常見的實(shí)用技巧,需要的朋友可以參考下
    2014-10-10
  • Python編程調(diào)用百度API實(shí)現(xiàn)地理位置經(jīng)緯度坐標(biāo)轉(zhuǎn)換示例

    Python編程調(diào)用百度API實(shí)現(xiàn)地理位置經(jīng)緯度坐標(biāo)轉(zhuǎn)換示例

    這篇文章主要介紹了Python編程調(diào)用百度API來實(shí)現(xiàn)地理位置經(jīng)緯度坐標(biāo)轉(zhuǎn)換的示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-10-10
  • PyQt 如何創(chuàng)建自定義QWidget

    PyQt 如何創(chuàng)建自定義QWidget

    這篇文章主要介紹了PyQt 如何創(chuàng)建自定義QWidget,幫助大家更好的理解和學(xué)習(xí)使用pyqt,感興趣的朋友可以了解下
    2021-03-03
  • Python 爬取網(wǎng)頁圖片詳解流程

    Python 爬取網(wǎng)頁圖片詳解流程

    沒想到python是如此強(qiáng)大,令人著迷,以前看見圖片總是一張一張復(fù)制粘貼,現(xiàn)在好了,學(xué)會(huì)python就可以用程序?qū)⒁粡垙垐D片,保存下來。今天網(wǎng)上沖浪看到很多美圖,可是圖片有點(diǎn)多,不想一張一張地復(fù)制粘貼,怎么辦呢?辦法總是有的,即便沒有我們也可以創(chuàng)造一個(gè)辦法
    2021-11-11
  • Python?3.x踩坑實(shí)戰(zhàn)匯總

    Python?3.x踩坑實(shí)戰(zhàn)匯總

    因項(xiàng)目需要最近接手維護(hù)后續(xù)python程序并做后續(xù)開發(fā),下面這篇文章主要給大家介紹了關(guān)于Python?3.x踩坑的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • 正確理解python迭代器與生成器

    正確理解python迭代器與生成器

    在Python這門語言中,生成器毫無疑問是最有用的特性之一。與此同時(shí),也是使用的最不廣泛的Python特性之一。究其原因,主要是因?yàn)椋谄渌髁髡Z言里面沒有生成器的概念。本文將詳細(xì)介紹python迭代器與生成器
    2021-06-06
  • python實(shí)現(xiàn)人臉簽到系統(tǒng)

    python實(shí)現(xiàn)人臉簽到系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)人臉簽到系統(tǒng),帶數(shù)據(jù)庫存儲(chǔ),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • 在Python中編寫數(shù)據(jù)庫模塊的教程

    在Python中編寫數(shù)據(jù)庫模塊的教程

    這篇文章主要介紹了在Python中編寫數(shù)據(jù)庫模塊的教程,本文代碼基于Python2.x版本,需要的朋友可以參考下
    2015-04-04

最新評(píng)論