python基礎(chǔ)

一膝藕、基本使用

1.1 print功能

1.python3以后的版本需要加括號(hào)棋凳,python2.7及2.7以前的版本不需要加括號(hào)。

2.打印字符串需要加單引號(hào)或者雙引號(hào)。

3.打印字符串的疊加可以用+將兩個(gè)字符串連接起來(lái)抒寂。

4.可以打印簡(jiǎn)單的運(yùn)算(+,-掠剑,*屈芜,/)。字符串不可以直接和數(shù)字相加朴译。

5.打印多個(gè)變量時(shí)用,分隔井佑。如:print(a,b,c)

1.2 基礎(chǔ)數(shù)學(xué)運(yùn)算

1.基本運(yùn)算有:+,-眠寿,躬翁,/,//(除取整)盯拱,%(除取余)盒发,m*n(m的n次方)。

1.3 變量

1.命名規(guī)則:英文狡逢、數(shù)字和_的組合宁舰,不能以數(shù)字開頭;區(qū)分大小寫奢浑。

2.可以一次定義一個(gè)或者多個(gè)變量


二明吩、while和for循環(huán)

2.1 while循環(huán)

1.基本語(yǔ)法

while condition:  #condition為判斷條件
    expressions    #expressions是執(zhí)行的語(yǔ)句

2.注意點(diǎn):在使用while的時(shí)候在循環(huán)內(nèi)部一定要修改判斷條件的值。如果陷入無(wú)限循環(huán)殷费,使用ctrl+c來(lái)終止程序
3.condition可以是判斷表達(dá)式(<,>,<=,>=,==,!=)印荔;也可以是數(shù)字,整數(shù)和浮點(diǎn)數(shù)也能進(jìn)行Boolean數(shù)據(jù)操作详羡,0或者0.0會(huì)返回False其余的返回True仍律;也可以是None的數(shù)據(jù)類型,將會(huì)返回False实柠;也可以是集合類型水泉,例如list,tuple,dict和set等,如何集合中的元素?cái)?shù)量為0窒盐,返回False草则,否則返回True。

2.2 for循環(huán)

1.基本語(yǔ)法:

for item in sequence:   #sequence為可迭代的對(duì)象蟹漓,item為序列中的每個(gè)對(duì)象
    expressions

2.可迭代對(duì)象可以用range來(lái)獲得炕横,range有三種方法:

(1)range(start, stop),start是序列的起始值葡粒,stop為結(jié)束值份殿,但不包括改值膜钓。
(2)range(stop),默認(rèn)從0開始
(3)range(start, stop, step)卿嘲,step是步長(zhǎng)颂斜,每次增加step的值。

3.python內(nèi)置的list拾枣、tuple沃疮、dict和set四種基本集合的對(duì)象都能夠作為迭代集。
4.可以按照迭代器的要求自己生成迭代器對(duì)象梅肤。只要類中實(shí)現(xiàn)了__iter__next函數(shù)忿磅,就可以使用。例子如下(來(lái)源于莫煩的python教程)凭语。

# define a Fib class
class Fib(object):
    def __init__(self, max):
        self.max = max
        self.n, self.a, self.b = 0, 0, 1

    def __iter__(self):
        return self

    def __next__(self):
        if self.n < self.max:
            r = self.b
            self.a, self.b = self.b, self.a + self.b
            self.n = self.n + 1
            return r
        raise StopIteration()

# using Fib object
for i in Fib(5):
    print(i)

5.Python 使用 yield 關(guān)鍵字也能實(shí)現(xiàn)類似迭代的效果葱她,yield 語(yǔ)句每次 執(zhí)行時(shí),立即返回結(jié)果給上層調(diào)用者似扔,而當(dāng)前的狀態(tài)仍然保留吨些,以便迭代器下一次循環(huán)調(diào)用。這樣做的 好處是在于節(jié)約硬件資源炒辉,在需要的時(shí)候才會(huì)執(zhí)行豪墅,并且每次只執(zhí)行一次。

def fib(max):
    a, b = 0, 1
    while max:
        r = b
        a, b = b, a+b
        max -= 1
        yield r

# using generator
for i in fib(5):
    print(i)

三黔寇、if判斷

1.基本語(yǔ)法

#第一種類型
if condition:
    expressions
#第二種類型
if condition:
    true_expressions   #條件為真執(zhí)行的語(yǔ)句
else:
    false_expressions   #條件為假時(shí)執(zhí)行的語(yǔ)句
#第三種類型
if condition1:
    true1_expressions
elif condition2:
    true2_expressions
elif condtion3:
    true3_expressions
elif ...
    ...
else:
    else_expressions

2.python 可以通過if-else完成類似condition ? value1 : value2這樣的三木運(yùn)算的功能偶器。

var = var1 if condition else var2

四、定義功能

4.1 def函數(shù)

1.基本語(yǔ)法:

def function_name(parameters):
    expressions

4.2 函數(shù)參數(shù)

1.基本用法:

def function_name(parameters):
    expressions

4.3 函數(shù)默認(rèn)參數(shù)

1.基本用法:

def function_name(para_1,...,para_n=defau_n,..., para_m=defau_m):
    expressions

2.默認(rèn)參數(shù)不能出現(xiàn)在非默認(rèn)參數(shù)前面缝裤。
3.自調(diào)用:如果執(zhí)行該腳本的時(shí)候屏轰,該 if 判斷語(yǔ)句將會(huì)是 True,那么內(nèi)部的代碼將會(huì)執(zhí)行。 如果外部調(diào)用該腳本憋飞,if 判斷語(yǔ)句則為 False,內(nèi)部代碼將不會(huì)執(zhí)行霎苗。

if __name__ == '__main__':
    #code_here

4.可變參數(shù):參數(shù)個(gè)數(shù)不固定¢蛔觯可變參數(shù)在函數(shù)定義不能出現(xiàn)在特定參數(shù)和默認(rèn)參數(shù)前面唁盏,因?yàn)榭勺儏?shù)會(huì)吞噬掉這些參數(shù)。

def report(name, *grades):  #參數(shù) *grades 使用了 * 修飾检眯,表明該參數(shù)是一個(gè)可變參數(shù)厘擂,這是一個(gè)可迭代的對(duì)象
    total_grade = 0
    for grade in grades:
        total_grade += grade
    print(name, 'total grade is ', total_grade)

5.關(guān)鍵字參數(shù):參數(shù)在函數(shù)內(nèi)部自動(dòng)封裝成一個(gè)字典(dict),通常來(lái)講關(guān)鍵字參數(shù)是放在函數(shù)參數(shù)列表的最后

def portrait(name, **kw):    #\*\*表示kw是關(guān)鍵字參數(shù)
    print('name is', name)
    for k,v in kw.items():
        print(k, v)

五锰瘸、變量形式

1.局部變量
2.全局變量


六刽严、文件讀寫

1.open讀文件方式

my_file=open('my file.txt','w')   #用法: open('文件名','形式'), 其中形式有'w':write;'r':read.
my_file.write(text)               #該語(yǔ)句會(huì)寫入先前定義好的 text
my_file.close()                   #關(guān)閉文件

2.在文件后面追加內(nèi)容

my_file=open('my file.txt','a')   # 'a'=append 以增加內(nèi)容的形式打開
my_file.write(append_text)
my_file.close()

3.讀取文件類容

(1) file.read() 能夠讀取到文本的所有內(nèi)容

file= open('my file.txt','r') 
content=file.read()  
print(content)

(2)按行讀取 file.readline()

file= open('my file.txt','r') 
content=file.readline()  # 讀取第一行
print(content)

(3)讀取所有行 file.readlines()

file= open('my file.txt','r') 
content=file.readlines()   # python_list 形式,如果要打印出內(nèi)容获茬,需要用for來(lái)迭代
print(content)

七港庄、class類

1.基本用用法:class 定義一個(gè)類, 后面的類別首字母推薦以大寫的形式定義,比如Calculator恕曲。class可以先定義自己的屬性鹏氧,比如該屬性的名稱可以寫為 name='Good Calculator'class后面還可以跟def, 定義一個(gè)函數(shù)佩谣。

class Calculator:       #首字母要大寫把还,冒號(hào)不能缺
    name='Good Calculator'  #該行為class的屬性
    price=18
    def add(self,x,y):   #注意這里的self 是默認(rèn)值
        print(self.name)
        result = x + y
        print(result)
    def minus(self,x,y):
        result=x-y
        print(result)
    def times(self,x,y):
        print(x*y)
    def divide(self,x,y):
        print(x/y)

2.類的初始化:init可以理解成初始化class的變量.

class Calculator:
    name='good calculator'
    price=18
    def __init__(self,name,price,height,width,weight):   # 注意,這里的下劃線是雙下劃線
        self.name=name
        self.price=price
        self.h=height
        self.wi=width
        self.we=weight

八茸俭、input輸入

1.variable=input() 表示運(yùn)行后吊履,可以在屏幕中輸入一個(gè)數(shù)字,該數(shù)字會(huì)賦值給自變量调鬓,從屏幕獲得的值默認(rèn)為字符串艇炎。

a_input=input('please input a number:')

九、元組腾窝、列表缀踪、字典

1.tulpe:用小括號(hào)、或者無(wú)括號(hào)來(lái)表述虹脯,是一連串有順序的數(shù)字,元素可以一個(gè)一個(gè)地被迭代驴娃、輸出、運(yùn)用循集、定位取值唇敞。元素的值不能被改變。
2.list:是以中括號(hào)來(lái)命名的,元素可以一個(gè)一個(gè)地被迭代咒彤、輸出疆柔、運(yùn)用、定位取值镶柱。元素的值可以被改變婆硬。用append()在末尾添加元素,insert()在指定的位置添加元素奸例,remove()刪除某個(gè)元素彬犯,count()計(jì)算某個(gè)元素出現(xiàn)的次數(shù),sort()排序查吊。
3.字典:有key和 value兩種元素谐区,每一個(gè)key對(duì)應(yīng)一個(gè)value。

a_tuple = (12, 3, 5, 15 , 6)
another_tuple = 12, 3, 5, 15 , 6
a_list = [12, 3, 67, 7, 82]
d1 = {'apple':1, 'pear':2, 'orange':3}

十逻卖、模塊

1.import timeimport time 模塊宋列。
2.import time as __,__下劃線縮寫部分可以自己定義。
3.from time import time,localtime ,只import自己想要的功能评也。
4.from time import *輸入模塊的所有功能炼杖。

十一灭返、其他補(bǔ)充

1.跳出循環(huán):break & continue
2.錯(cuò)誤處理:使用try

try:
    file=open('eeee.txt','r')  #會(huì)報(bào)錯(cuò)的代碼
except Exception as e:  # 將報(bào)錯(cuò)存儲(chǔ)在 e 中
    print(e)

3.zip函數(shù)接受任意多個(gè)(包括0個(gè)和1個(gè))序列作為參數(shù),合并后返回一個(gè)tuple列表坤邪。
4.lambda:定義一個(gè)簡(jiǎn)單的函數(shù)熙含。fun = lambda x,y : x+y

fun= lambda x,y:x+y
x=int(input('x='))    #這里要定義int整數(shù)艇纺,否則會(huì)默認(rèn)為字符串
y=int(input('y='))
print(fun(x,y))

5.map:是把函數(shù)和參數(shù)綁定在一起怎静。

def fun(x,y):
    return (x+y)
a=list(map(fun,[1,2],[3,4]))

6.copy.copy & copy.deepcopy 淺復(fù)制 & 深復(fù)制:當(dāng)使用淺拷貝時(shí),python只是拷貝了最外圍的對(duì)象本身黔衡,內(nèi)部的元素都只是拷貝了一個(gè)引用而已;deepcopy對(duì)外圍和內(nèi)部元素都進(jìn)行了拷貝對(duì)象本身蚓聘,而不是對(duì)象的引用。
7.多線程
8.多進(jìn)程
9.tkinter窗口
10.pickle 是一個(gè) python 中, 壓縮/保存/提取 文件的模塊盟劫。

import pickle

a_dict = {'da': 111, 2: [23,1,4], '23': {1:2,'d':'sad'}}

# pickle a variable to a file
file = open('pickle_example.pickle', 'wb')
pickle.dump(a_dict, file)  #保存a_dict的內(nèi)容到file里面
file.close()

# reload a file to a variable
with open('pickle_example.pickle', 'rb') as file:
    a_dict1 =pickle.load(file)  #提取用pickle保存的文件的內(nèi)容

print(a_dict1)

11.集合set:最主要的功能就是尋找一個(gè)句子或者一個(gè) list 當(dāng)中不同的元素夜牡。
12.正則表達(dá)式

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市侣签,隨后出現(xiàn)的幾起案子氯材,更是在濱河造成了極大的恐慌,老刑警劉巖硝岗,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件氢哮,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡型檀,警方通過查閱死者的電腦和手機(jī)冗尤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)胀溺,“玉大人裂七,你說(shuō)我怎么就攤上這事〔治耄” “怎么了背零?”我有些...
    開封第一講書人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)无埃。 經(jīng)常有香客問我徙瓶,道長(zhǎng),這世上最難降的妖魔是什么嫉称? 我笑而不...
    開封第一講書人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任侦镇,我火速辦了婚禮,結(jié)果婚禮上织阅,老公的妹妹穿的比我還像新娘壳繁。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開白布闹炉。 她就那樣靜靜地躺著蒿赢,像睡著了一般。 火紅的嫁衣襯著肌膚如雪渣触。 梳的紋絲不亂的頭發(fā)上羡棵,一...
    開封第一講書人閱讀 52,156評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音昵观,去河邊找鬼晾腔。 笑死舌稀,一個(gè)胖子當(dāng)著我的面吹牛啊犬,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播壁查,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼觉至,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了睡腿?” 一聲冷哼從身側(cè)響起语御,我...
    開封第一講書人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎席怪,沒想到半個(gè)月后应闯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡挂捻,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年碉纺,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片刻撒。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡骨田,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出声怔,到底是詐尸還是另有隱情态贤,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布醋火,位于F島的核電站悠汽,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏芥驳。R本人自食惡果不足惜介粘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望晚树。 院中可真熱鬧姻采,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至刑棵,卻和暖如春巴刻,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蛉签。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工胡陪, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人碍舍。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓柠座,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親片橡。 傳聞我的和親對(duì)象是個(gè)殘疾皇子妈经,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 基于《Python語(yǔ)言程序設(shè)計(jì)基礎(chǔ)(第2版)》 第一部分 初識(shí)Python語(yǔ)言 第1章 程序設(shè)計(jì)基本方法 1.1 ...
    柄志閱讀 27,394評(píng)論 4 44
  • 與或運(yùn)算 在計(jì)算 a and b 時(shí),如果 a 是 False捧书,則根據(jù)與運(yùn)算法則吹泡,整個(gè)結(jié)果必定為 False,因此...
    張文靖同學(xué)閱讀 316評(píng)論 0 1
  • 下載鏈接:https://pan.baidu.com/s/1cp_dLU_wKLy8HHt7Tk9LCg 密碼:b...
    無(wú)銜閱讀 4,758評(píng)論 0 0
  • 每一天经瓷,都有我的好友在微信圈里提醒我:現(xiàn)在不用再每天凌晨起床爆哑、勤奮做事了。我對(duì)朋友們說(shuō)舆吮,不是一定要通過勤奮努力達(dá)到...
    魯先圣閱讀 156評(píng)論 0 0
  • 不管是明星揭朝,衣服,人歪泳,事物萝勤,第一眼相中的就是認(rèn)準(zhǔn)了,如果你不喜歡那就請(qǐng)?jiān)谧约盒睦锬g毀吧呐伞!可別在我跟前敌卓,我比較護(hù)...
    孑芥子閱讀 176評(píng)論 0 0