1迫筑、python的安裝:
版本:python3.5.0 ?64bit
然后點(diǎn)“Install Now”即可完成安裝.
2眯停、python的運(yùn)行:
>>>表示python的交互式環(huán)境,輸入exit()表示退出python交互式環(huán)境也可以點(diǎn)擊右上角的 × 完成屏鳍。
3、編寫代碼:
》用單引號(hào)或者雙引號(hào)括起來的文本在程序中叫字符串。
》在Python交互式命令行下卧秘,可以直接輸入代碼,然后執(zhí)行官扣,并立刻得到結(jié)果翅敌。
》用文本編輯器寫Python程序,然后保存為后綴為.py的文件惕蹄,就可以用Python直接運(yùn)行這個(gè)程序了蚯涮。
單引號(hào)用于字符的輸出,如print 'hello,darling',輸出 hello,darling.雙引號(hào)用于字符串的輸出卖陵,和單引號(hào)沒有太大區(qū)別遭顶。括號(hào)在python中可加可不加。
print()函數(shù)也可以接受多個(gè)字符串赶促,用逗號(hào)“,”隔開液肌,就可以連成一串輸出:
>>>print('The quick brown fox','jumps over','the lazy dog')The quick brown fox jumps over the lazy dog
print()會(huì)依次打印每個(gè)字符串,遇到逗號(hào)“,”會(huì)輸出一個(gè)空格鸥滨,因此嗦哆,輸出的字符串是這樣拼起來的:
》以#開頭的語句是注釋,注釋是給人看的婿滓,可以是任意內(nèi)容老速,解釋器會(huì)忽略掉注釋。其他每一行都是一個(gè)語句凸主,當(dāng)語句以冒號(hào):結(jié)尾時(shí)橘券,縮進(jìn)的語句視為代碼塊。
》Python使用縮進(jìn)來組織代碼塊卿吐,要遵守約定俗成的習(xí)慣旁舰,堅(jiān)持使用4個(gè)空格的縮進(jìn)。
》在文本編輯器中嗡官,需要設(shè)置把Tab自動(dòng)轉(zhuǎn)換為4個(gè)空格箭窜,確保不混用Tab和空格。
》print在輸出數(shù)字時(shí)要加括號(hào)衍腥,在輸出字符時(shí)不用
整數(shù):
Python可以處理任意大小的整數(shù)磺樱,當(dāng)然包括負(fù)整數(shù)纳猫,在程序中的表示方法和數(shù)學(xué)上的寫法一模一樣,例如:1竹捉,100芜辕,-8080,0块差,等等侵续。
計(jì)算機(jī)由于使用二進(jìn)制,所以憨闰,有時(shí)候用十六進(jìn)制表示整數(shù)比較方便询兴,十六進(jìn)制用0x前綴和0-9,a-f表示起趾,例如:0xff00,0xa5b4c3d2警儒,等等
浮點(diǎn)數(shù):
對(duì)于很大或很小的浮點(diǎn)數(shù)训裆,必須用科學(xué)計(jì)數(shù)法表示,把10用e替代蜀铲,1.23x109就是1.23e9边琉,或者12.3e8,0.000012可以寫成1.2e-5记劝,等等变姨。
轉(zhuǎn)義字符:
轉(zhuǎn)義字符\可以轉(zhuǎn)義很多字符,比如\n表示換行厌丑,\t表示制表符定欧,字符\本身也要轉(zhuǎn)義,所以\\表示的字符就是\
接下來看python有條理的執(zhí)行過程:
常量:
幾種除法:① ? / ? 平常的除法 如怒竿,10/3=3.333333
② ? ?// ? 地板除即兩個(gè)整數(shù)的除法取整 ?如砍鸠,10//3=3
③ ? ? % ?取余 ? 如,10%3=1
特別注意整數(shù)的除法計(jì)算結(jié)果都是浮點(diǎn)數(shù)耕驰,即使兩個(gè)整數(shù)剛好整除也是:9/3=3.0
用記事本編輯的時(shí)候爷辱,從文件讀取的UTF-8字符被轉(zhuǎn)換為Unicode字符到內(nèi)存里,編輯完成后朦肘,保存的時(shí)候再把Unicode轉(zhuǎn)換為UTF-8保存到文件:
瀏覽網(wǎng)頁的時(shí)候饭弓,服務(wù)器會(huì)把動(dòng)態(tài)生成的Unicode內(nèi)容轉(zhuǎn)換為UTF-8再傳輸?shù)綖g覽器:
對(duì)于單個(gè)字符的編碼,Python提供了ord()函數(shù)獲取字符的整數(shù)表示媒抠,chr()函數(shù)把編碼轉(zhuǎn)換為對(duì)應(yīng)的字符:
>>>ord('A')
65
>>>chr(66)
'B'
在計(jì)算機(jī)內(nèi)存中弟断,統(tǒng)一使用Unicode編碼,當(dāng)需要保存到硬盤或者需要傳輸?shù)臅r(shí)候领舰,就轉(zhuǎn)換為UTF-8編碼夫嗓。由于Python源代碼也是一個(gè)文本文件迟螺,所以,當(dāng)你的源代碼中包含中文的時(shí)候舍咖,在保存源代碼時(shí)矩父,就需要?jiǎng)?wù)必指定保存為UTF-8編碼。當(dāng)Python解釋器讀取源代碼時(shí)排霉,為了讓它按UTF-8編碼讀取窍株,我們通常在文件開頭寫上這兩行:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
格式化:
我們經(jīng)常會(huì)輸出類似'親愛的xxx你好!你xx月的話費(fèi)是xx攻柠,余額是xx'之類的字符串球订,而xxx的內(nèi)容都是根據(jù)變量變化的,所以瑰钮,需要一種簡(jiǎn)便的格式化字符串的方式冒滩。
一些常用占位符:
%d ?整數(shù) ? ? ? ? ? ? ? %f ?浮點(diǎn)數(shù) ? ? ? ? ? ? %s字符串 ? ? ? ? ? ? ? ? %x十六進(jìn)制整數(shù) ? ? ? ? ? ? ?/n ? 換行符
如果你不太確定應(yīng)該用什么,%s永遠(yuǎn)起作用浪谴,它會(huì)把任何數(shù)據(jù)類型轉(zhuǎn)換為字符串
如果字符串里%是一個(gè)普通字符开睡,就用%%轉(zhuǎn)義。
條件判斷:
if語句:
elif是else if的縮寫苟耻,完全可以有多個(gè)elif篇恒,所以if語句的完整形式就是:
if判斷條件還可以簡(jiǎn)寫,比如寫:
ifx:(一定要注意不要漏掉冒號(hào))
print('True')
只要x是非零數(shù)值凶杖、非空字符串胁艰、非空list等,就判斷為True智蝠,否則為False腾么。
input問題判斷→int取整
冒泡排序:
List:list是一種有序地集合,可以隨時(shí)添加和刪除其中的元素杈湾。如:
len函數(shù)哮翘,len(classmates)=3 表示list中元素的個(gè)數(shù)。用索引來訪問list中每一個(gè)位置的元素毛秘,記得索引是從0開始的7顾隆!叫挟!最后一個(gè)元素的索引是len(classmates) - 1艰匙,表示倒數(shù)第一個(gè)。也可以直接用-1抹恳,classmates[-1] ? 》》》'tracy'
append:list是一個(gè)可變的有序表员凝,所以,可以往list中追加元素到末尾:
insert函數(shù):也可以把元素》插入《到指定的位置奋献,比如索引號(hào)為1的位置:
pop函數(shù):要》刪除《list ?末尾 ?的元素旺上,用pop()方法:
要?jiǎng)h除指定位置的元素,用pop(i)方法糖埋,其中i是索引位置:
要把某個(gè)元素》替換《成別的元素宣吱,可以直接賦值給對(duì)應(yīng)的索引位置:
維數(shù),
for語句
for x in ...循環(huán)就是把每個(gè)元素代入變量x疤坝,然后執(zhí)行縮進(jìn)塊的語句。
而for x in range()函數(shù)則是一個(gè)可以生成整數(shù)有序數(shù)列的語句馆铁。如
if,while,for等語句都要加冒號(hào)E苋唷!if 語句后接表達(dá)式埠巨,然后用:表示代碼塊開始畔裕。
Ture or False首字母要大寫乍构,如while True.
縮進(jìn)格式要對(duì)!具有相同縮進(jìn)的代碼被視為代碼塊.
x='A'+'B'--x+y
dict函數(shù):
dict的支持扛点,dict全稱dictionary哥遮,在其他語言中也稱為map,使用鍵-值(key-value)【key是不可變的陵究,value可變】存儲(chǔ)眠饮,具有極快的查找速度。
花括號(hào){}表示這是一個(gè)dict铜邮,然后按照key: value, 寫出來即可仪召。最后一個(gè) key: value 的逗號(hào)可以省略。
如果key不存在松蒜,dict就會(huì)報(bào)錯(cuò):兩種方法解決:
①一是通過in判斷key是否存在:
②二是通過dict提供的get方法扔茅,如果key不存在,可以返回None秸苗,或者自己指定的value:
要?jiǎng)h除一個(gè)key召娜,用pop(key)方法,對(duì)應(yīng)的value也會(huì)從dict中刪除:
set:set和dict類似惊楼,也是一組key的集合玖瘸,但不存儲(chǔ)value秸讹。由于key不能重復(fù),所以雅倒,在set中璃诀,沒有重復(fù)的key。
tuple:創(chuàng)建tuple和創(chuàng)建list唯一不同之處是用( )替代了[ ]屯断。tuple沒有 append()方法文虏,也沒有insert()和pop()方法。
九九乘法表:
今天做了一張乘法口訣表殖演,非常激動(dòng)氧秘,不同形式的輸出。特別要說明的是‘end=’是 實(shí)現(xiàn) 取消自動(dòng)換行符趴久,并能夠按照自己的設(shè)計(jì)實(shí)現(xiàn)換行丸相,從而生成三角形乘法表。
!表示反轉(zhuǎn)邏輯表達(dá)式的值彼棍,True變?yōu)镕alse灭忠,F(xiàn)alse變?yōu)門rue
'c' in 'abc'為True
!('c' in 'abc')為False
!與=號(hào)連在一起表示不等于,如
a!=b? 等價(jià)于 !(a==b)
```
def bubble_sort(alist):
for passnum in range(len(alist) - 1, 0, -1):
for i in range(passnum):
if alist[i] > alist[i+1]:
alist[i+1], alist[i] = alist[i], alist[i+1]
return alist
print(bubble_sort([1,4,7,2,5,8,3,6,9]))
```