日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

慕课网初识python_初识Python笔记

發(fā)布時(shí)間:2025/4/16 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 慕课网初识python_初识Python笔记 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

初識(shí)Python

基本數(shù)據(jù)類型

基本數(shù)據(jù)類型:

整數(shù) 十六進(jìn)制用0x前綴和0-9,a-f表示

浮點(diǎn)數(shù) 整數(shù)運(yùn)算永遠(yuǎn)是精確的,而浮點(diǎn)數(shù)運(yùn)算則可能會(huì)有四舍五入的誤差

字符串 以’‘或""括起來(lái)的任意文本,轉(zhuǎn)義字符 \ ,多行字符串,可以用’’’…’’'表示,字符串前面加個(gè)前綴 r 表示這是一個(gè) raw 字符串,里面的字符就不需要轉(zhuǎn)義了

布爾值 只有True、False兩種值,布爾值可以用and、or和not運(yùn)算

空值 用None表示

print 語(yǔ)句可以向屏幕上輸出指定的文字,逗號(hào)“,”會(huì)輸出一個(gè)空格

注釋以 # 開(kāi)頭,后面的文字直到行尾都算注釋

變量名必須是大小寫英文、數(shù)字和下劃線(_)的組合,且不能用數(shù)字開(kāi)頭

等差數(shù)列求和:

# -*- coding: utf-8 -*-

x1 = 1

d = 3 # 公差

n = 100

x100 = x1 + (n - 1) * d

s = (x1 + x100) * n / 2

print s

a = 'python'

print 'hello,', a or 'world' # hello, python

b = ''

print 'hello,', b or 'world' # hello, world

列表

Python內(nèi)置的一種數(shù)據(jù)類型是列表:list。list是一種有序的集合,可以隨時(shí)添加和刪除其中的元素

L = ['Adam', 95.5, 'Lisa', 85, 'Bart', 59]

print L

L = [95.5,85,59]

print L[0]

print L[1]

print L[2]

print L[3] # 報(bào)錯(cuò)

print L[-1]

print L[-2]

print L[-3]

L = ['Adam', 'Lisa', 'Bart']

L.append('Paul')

print L # ['Adam', 'Lisa', 'Bart', 'Paul']

L = ['Adam', 'Lisa', 'Bart']

L.insert(0, 'Paul')

print L # ['Paul', 'Adam', 'Lisa', 'Bart']

L = ['Adam', 'Lisa', 'Bart', 'Paul']

L.pop() # 'Paul'

print L # ['Adam', 'Lisa', 'Bart']

L = ['Adam', 'Lisa', 'Paul', 'Bart']

L.pop(2) # 'Paul'

print L # ['Adam', 'Lisa', 'Bart']

切片:

L = ['Adam', 'Lisa', 'Bart', 'Paul']

L[0:3] # ['Adam', 'Lisa', 'Bart']

L[:3] # ['Adam', 'Lisa', 'Bart']

L[1:3] # ['Lisa', 'Bart']

L[:] # ['Adam', 'Lisa', 'Bart', 'Paul']

L[::2] # ['Adam', 'Bart'],第三個(gè)參數(shù)表示每N個(gè)取一個(gè)

L = range(1, 101)

print L[:10] # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

print L[2::3]

print L[4:50:5] # [5, 10, 15, 20, 25, 30, 35, 40, 45, 50]

L = ['Adam', 'Lisa', 'Bart', 'Paul']

L[-2:] # ['Bart', 'Paul']

L[:-2] # ['Adam', 'Lisa']

L[-3:-1] # ['Lisa', 'Bart']

L[-4:-1:2] # ['Adam', 'Bart']

L = range(1, 101)

print L[-10:]

print L[-46::5]

def firstCharUpper(s):

return s[0:1].upper() + s[1:]

print firstCharUpper('hello')

print firstCharUpper('sunday')

print firstCharUpper('september')

元組

tuple是另一種有序的列表,中文翻譯為“ 元組 ”。tuple 和 list 非常類似,但是,tuple一旦創(chuàng)建完畢,就不能修改了。

tuple沒(méi)有 append()方法,也沒(méi)有insert()和pop()方法

t = ('Adam', 'Lisa', 'Bart')

t = (0,1,2,3,4,5,6,7,8,9)

print t

t = (1)

print t # 1

t = (1,)

print t # (1,)

t = ('a', 'b', ['A', 'B'])

L = t[2]

L[0] = 'X'

L[1] = 'Y'

print t # ('a', 'b', ['X', 'Y'])

t = ('a', 'b', ('A', 'B'))

print t # ('a', 'b', ('a', 'b'))

流程控制

Python代碼的縮進(jìn)規(guī)則,縮進(jìn)請(qǐng)嚴(yán)格按照Python的習(xí)慣寫法:4個(gè)空格,不要使用Tab,更不要混合Tab和空格,否則很容易造成因?yàn)榭s進(jìn)引起的語(yǔ)法錯(cuò)誤。

if 語(yǔ)句后接表達(dá)式,然后用:表示代碼塊開(kāi)始

age = 20

if age >= 18:

print 'your age is', age # your age is 20

print 'adult' # adult

score = 55

if score >= 60:

print 'passed'

else:

print 'failed'

score = 85

if score >= 90:

print 'excellent'

elif score >= 80:

print 'good'

elif score >= 60:

print 'passed'

else:

print 'failed'

for 循環(huán)可以依次把list或tuple的每個(gè)元素迭代出來(lái)

L = [75, 92, 59, 68]

sum = 0.0

for i in L:

sum += i

print sum / 4

和 for 循環(huán)不同的另一種循環(huán)是 while 循環(huán),while 循環(huán)不會(huì)迭代 list 或 tuple 的元素,而是根據(jù)表達(dá)式判斷循環(huán)是否結(jié)束

break退出循環(huán)

continue繼續(xù)循環(huán)

sum = 0

x = 1

while x < 100:

sum += x

x += 2

print sum

sum = 0

x = 1

n = 1

while True:

sum += x

x = 2 * x

n += 1

if n > 20:

break

print sum

sum = 0

x = 0

while True:

x = x + 1

if x > 100:

break

if x % 2 == 0:

continue

sum += x

print sum

for x in [1,2,3,4,5,6,7,8,9]:

for y in [1,2,3,4,5,6,7,8,9]:

if x < y:

print x * 10 + y

dict

花括號(hào) {} 表示這是一個(gè)dict,然后按照 key: value, 寫出來(lái)即可。最后一個(gè) key: value 的逗號(hào)可以省略。

通過(guò) key 訪問(wèn) dict 的value,只要 key 存在,dict就返回對(duì)應(yīng)的value。如果key不存在,會(huì)直接報(bào)錯(cuò):KeyError。

要避免 KeyError 發(fā)生,有兩個(gè)辦法:

一是先判斷一下 key 是否存在,用 in 操作符

二是使用dict本身提供的一個(gè) get 方法,在Key不存在的時(shí)候,返回None

dict的第一個(gè)特點(diǎn)是查找速度快,無(wú)論dict有10個(gè)元素還是10萬(wàn)個(gè)元素,查找速度都一樣。而list的查找速度隨著元素增加而逐漸下降。

dict的第二個(gè)特點(diǎn)就是存儲(chǔ)的key-value序?qū)κ菦](méi)有順序的!這和list不一樣

dict的第三個(gè)特點(diǎn)是作為 key 的元素必須不可變,Python的基本類型如字符串、整數(shù)、浮點(diǎn)數(shù)都是不可變的,都可以作為 key。但是list是可變的,就不能作為 key。

d = {

'Adam': 95,

'Lisa': 85,

'Bart': 59,

'Paul': 75

}

d = {

'Adam': 95,

'Lisa': 85,

'Bart': 59

}

print 'Adam:', d['Adam']

print 'Lisa:', d['Lisa']

print 'Bart:', d['Bart']

d = {

95: 'Adam',

85: 'Lisa',

59: 'Bart'

}

d[72] = 'Paul'

d = {

'Adam': 95,

'Lisa': 85,

'Bart': 59

}

for key in d:

print key,':',d[key]

dict的作用是建立一組 key 和一組 value 的映射關(guān)系,dict的key是不能重復(fù)的。

set 持有一系列元素,這一點(diǎn)和 list 很像,但是set的元素沒(méi)有重復(fù),而且是無(wú)序的,這點(diǎn)和 dict 的 key很像。

set的內(nèi)部結(jié)構(gòu)和dict很像,唯一區(qū)別是不存儲(chǔ)value,因此,判斷一個(gè)元素是否在set中速度很快。

set存儲(chǔ)的元素和dict的key類似,必須是不變對(duì)象,因此,任何可變對(duì)象是不能放入set中的。

s = set(['A', 'B', 'C', 'C'])

print s # set(['A', 'C', 'B'])

len(s) # 3

s = set(['adam', 'lisa', 'bart', 'paul'])

print 'adam' in s

print 'bart' in s

months = set(['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'])

x1 = 'Feb'

x2 = 'Sun'

if x1 in months:

print 'x1: ok'

else:

print 'x1: error'

if x2 in months:

print 'x2: ok'

else:

print 'x2: error'

s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])

for x in s:

print x[0],':',x[1]

set存儲(chǔ)的是一組不重復(fù)的無(wú)序元素,因此,更新set主要做兩件事:

一是把新的元素添加到set中,二是把已有元素從set中刪除。

s = set(['Adam', 'Lisa', 'Paul'])

L = ['Adam', 'Lisa', 'Bart', 'Paul']

for x in L:

if x in s:

s.remove(x)

else:

s.add(x)

print s

函數(shù)

在交互式命令行通過(guò) help(abs) 查看abs函數(shù)的幫助信息

調(diào)用函數(shù)的時(shí)候,如果傳入的參數(shù)數(shù)量不對(duì),會(huì)報(bào)TypeError的錯(cuò)誤

如果傳入的參數(shù)數(shù)量是對(duì)的,但參數(shù)類型不能被函數(shù)所接受,也會(huì)報(bào)TypeError的錯(cuò)誤

abs(-20) # 20

cmp(1, 2) # -1

cmp(2, 1) # 1

cmp(3, 3) # 0

int('123') # 123

int(12.34) # 12

str(123) # '123'

str(1.23) # '1.23'

L = []

for i in range(1, 101):

L.append(i * i)

print sum(L)

在Python中,定義一個(gè)函數(shù)要使用 def 語(yǔ)句,依次寫出函數(shù)名、括號(hào)、括號(hào)中的參數(shù)和冒號(hào):,然后,在縮進(jìn)塊中編寫函數(shù)體,函數(shù)的返回值用 return 語(yǔ)句返回。

如果沒(méi)有return語(yǔ)句,函數(shù)執(zhí)行完畢后也會(huì)返回結(jié)果,只是結(jié)果為 None。return None可以簡(jiǎn)寫為return。

def square_of_sum(L):

sum = 0

for i in L:

sum += i * i

return sum

print square_of_sum([1, 2, 3, 4, 5])

print square_of_sum([-5, 0, 5, 15, 25])

math包提供了sin()和 cos()函數(shù),我們先用import引用它

Python的函數(shù)返回多值其實(shí)就是返回一個(gè)tuple

import math

def quadratic_equation(a, b, c):

t = math.sqrt(b * b - 4 * a * c)

return (-b + t) / (2 * a),( -b - t )/ (2 * a)

print quadratic_equation(2, 3, 0)

print quadratic_equation(1, -6, 5)

def move(n, a, b, c): # 遞歸

if n == 1:

print a, '-->', c

return

move(n-1, a, c, b)

print a, '-->', c

move(n-1, b, a, c)

move(4, 'A', 'B', 'C')

def greet(x='world'): # 默認(rèn)參數(shù)

print 'Hello,',x,'.'

greet()

greet('Bart')

def average(*args): # 可變參數(shù)

sum = 0.0

if len(args) == 0:

return sum

for x in args:

sum = sum + x

return sum / len(args)

print average()

print average(1, 2)

print average(1, 2, 2, 3, 4)

迭代

在Python中,如果給定一個(gè)list或tuple,我們可以通過(guò)for循環(huán)來(lái)遍歷這個(gè)list或tuple,這種遍歷我們成為迭代(Iteration)。

因?yàn)?Python 的 for循環(huán)不僅可以用在list或tuple上,還可以作用在其他任何可迭代對(duì)象上。

迭代操作就是對(duì)于一個(gè)集合,無(wú)論該集合是有序還是無(wú)序,我們用 for 循環(huán)總是可以依次取出集合的每一個(gè)元素。

集合是指包含一組元素的數(shù)據(jù)結(jié)構(gòu),我們已經(jīng)介紹的包括:

有序集合:list,tuple,str和unicode;

無(wú)序集合:set

無(wú)序集合并且具有 key-value 對(duì):dict

Python中,迭代永遠(yuǎn)是取出元素本身,而非元素的索引。使用 enumerate() 函數(shù)

實(shí)際上,enumerate() 函數(shù)把:[‘Adam’, ‘Lisa’, ‘Bart’, ‘Paul’]

變成了類似:[(0, ‘Adam’), (1, ‘Lisa’), (2, ‘Bart’), (3, ‘Paul’)]

dict 對(duì)象有一個(gè) values() 方法,這個(gè)方法把dict轉(zhuǎn)換成一個(gè)包含所有value的list

dict除了values()方法外,還有一個(gè) itervalues() 方法,用 itervalues() 方法替代 values() 方法,迭代效果完全一樣

items() 方法把dict對(duì)象轉(zhuǎn)換成了包含tuple的list

for i in range(1,101):

if i % 7 == 0:

print i

L = ['Adam', 'Lisa', 'Bart', 'Paul']

for index, name in enumerate(L):

print index, '-', name

d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59, 'Paul': 74 }

sum = 0.0

for v in d.itervalues():

sum += v

print sum / len(d)

d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59, 'Paul': 74 }

sum = 0.0

for k, v in d.items():

sum = sum + v

print k,':',v

print 'average', ':', sum / len(d)

列表生成式

要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],我們可以用range(1, 11)

要生成[1x1, 2x2, 3x3, …, 10x10],方法一是循環(huán)

但是循環(huán)太繁瑣,而列表生成式則可以用一行語(yǔ)句代替循環(huán)生成上面的list:[x * x for x in range(1, 11)]

range(1, 100, 2) 可以生成list [1, 3, 5, 7, 9,…]

列表生成式的 for 循環(huán)后面還可以加上 if 判斷:[x * x for x in range(1, 11) if x % 2 == 0]

print [n * (n+1) for n in range(1, 100, 2)] # [1x2, 3x4, 5x6, 7x8, ..., 99x100]

d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }

def generate_tr(name, score):

if score < 60:

return '

%s%s' % (name, score)

return '

%s%s' % (name, score)

tds = [generate_tr(name, score) for name, score in d.iteritems()]

print '

print '

NameScore'

print '\n'.join(tds)

print '

'

def toUppers(L):

return [x.upper() for x in L if isinstance(x, str)]

print toUppers(['Hello', 'world', 101])

print [100 * n1 + 10 * n2 + n3 for n1 in range(1, 10) for n2 in range(10) for n3 in range(10) if n1==n3]

總結(jié)

以上是生活随笔為你收集整理的慕课网初识python_初识Python笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。