日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

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

生活随笔

當(dāng)前位置: 首頁(yè) >

Python总结:Python基础(一)

發(fā)布時(shí)間:2025/7/14 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python总结:Python基础(一) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Python之路【第二篇】:Python基礎(chǔ)(一)


入門(mén)知識(shí)拾遺

一、作用域

對(duì)于變量的作用域,執(zhí)行聲明并在內(nèi)存中存在,該變量就可以在下面的代碼中使用。

123if 1==1:????name = 'wupeiqi'print? name

下面的結(jié)論對(duì)嗎?

外層變量,可以被內(nèi)層變量使用

內(nèi)層變量,無(wú)法被外層變量使用

二、三元運(yùn)算

1result = 值1 if 條件 else 值2

如果條件為真:result = 值1
如果條件為假:result = 值2

三、進(jìn)制

  • 二進(jìn)制,01

  • 八進(jìn)制,01234567

  • 十進(jìn)制,0123456789

  • 十六進(jìn)制,0123456789ABCDE

Python基礎(chǔ)

對(duì)于Python,一切事物都是對(duì)象,對(duì)象基于類創(chuàng)建

所以,以下這些值都是對(duì)象: "wupeiqi"、38、['北京', '上海', '深圳'],并且是根據(jù)不同的類生成的對(duì)象。

一、整數(shù)

如: 18、73、84

每一個(gè)整數(shù)都具備如下功能:

int

二、長(zhǎng)整型

可能如:2147483649、9223372036854775807

每個(gè)長(zhǎng)整型都具備如下功能:

long

三、浮點(diǎn)型

如:3.14、2.88

每個(gè)浮點(diǎn)型都具備如下功能:

float

四、字符串

如:'wupeiqi'、'alex'

每個(gè)字符串都具備如下功能:

str

注:編碼;字符串的乘法;字符串和格式化

五、列表

如:[11,22,33]、['wupeiqi', 'alex']

每個(gè)列表都具備如下功能:

list

注:排序;

六、元組

如:(11,22,33)、('wupeiqi', 'alex')

每個(gè)元組都具備如下功能:

tuple

七、字典

如:{'name': 'wupeiqi', 'age': 18} 、{'host': '2.2.2.2', 'port': 80]}

ps:循環(huán)時(shí),默認(rèn)循環(huán)key

每個(gè)字典都具備如下功能:

dict

123練習(xí):元素分類有如下值集合 [11,22,33,44,55,66,77,88,99,90...],將所有大于 66 的值保存至字典的第一個(gè)key中,將小于 66 的值保存至第二個(gè)key的值中。即: {'k1': 大于66 , 'k2': 小于66}

?八、set集合

set是一個(gè)無(wú)序且不重復(fù)的元素集合

set

123456789101112131415161718練習(xí):尋找差異# 數(shù)據(jù)庫(kù)中原有old_dict = {????"#1":{ 'hostname':c1, 'cpu_count': 2, 'mem_capicity': 80 },????"#2":{ 'hostname':c1, 'cpu_count': 2, 'mem_capicity': 80 }????"#3":{ 'hostname':c1, 'cpu_count': 2, 'mem_capicity': 80 }}# cmdb 新匯報(bào)的數(shù)據(jù)new_dict = {????"#1":{ 'hostname':c1, 'cpu_count': 2, 'mem_capicity': 800 },????"#3":{ 'hostname':c1, 'cpu_count': 2, 'mem_capicity': 80 }????"#4":{ 'hostname':c2, 'cpu_count': 2, 'mem_capicity': 80 }}需要?jiǎng)h除:?需要新建:?需要更新:? 注意:無(wú)需考慮內(nèi)部元素是否改變,只要原來(lái)存在,新匯報(bào)也存在,就是需要更新

demo?

九、collection系列

1、計(jì)數(shù)器(counter)

Counter是對(duì)字典類型的補(bǔ)充,用于追蹤值的出現(xiàn)次數(shù)。

ps:具備字典的所有功能 + 自己的功能

123c = Counter('abcdeabcdabcaba') print c輸出:Counter({'a': 5, 'b': 4, 'c': 3, 'd': 2, 'e': 1})

Counter

2、有序字典(orderedDict )

orderdDict是對(duì)字典類型的補(bǔ)充,他記住了字典元素添加的順序

OrderedDict

3、默認(rèn)字典(defaultdict)?

學(xué)前需求:

12有如下值集合 [11,22,33,44,55,66,77,88,99,90...],將所有大于 66 的值保存至字典的第一個(gè)key中,將小于 66 的值保存至第二個(gè)key的值中。即: {'k1': 大于66 , 'k2': 小于66}

原生字典解決方法

defaultdict字典解決方法

defaultdict是對(duì)字典的類型的補(bǔ)充,他默認(rèn)給字典的值設(shè)置了一個(gè)類型。

defaultdict

4、可命名元組(namedtuple)?

根據(jù)nametuple可以創(chuàng)建一個(gè)包含tuple所有功能以及其他功能的類型。

123import collectionsMytuple = collections.namedtuple('Mytuple',['x', 'y', 'z'])

Mytuple

5、雙向隊(duì)列(deque)

一個(gè)線程安全的雙向隊(duì)列

deque

注:既然有雙向隊(duì)列,也有單項(xiàng)隊(duì)列(先進(jìn)先出 FIFO )

Queue.Queue

迭代器和生成器

一、迭代器

對(duì)于Python 列表的 for 循環(huán),他的內(nèi)部原理:查看下一個(gè)元素是否存在,如果存在,則取出,如果不存在,則報(bào)異常?StopIteration。(python內(nèi)部對(duì)異常已處理)

listiterator

二、生成器

range不是生成器 和 xrange 是生成器

readlines不是生成器 和 xreadlines 是生成器

1234>>> print range(10)[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>>> print xrange(10)xrange(10)

生成器內(nèi)部基于yield創(chuàng)建,即:對(duì)于生成器只有使用時(shí)才創(chuàng)建,從而不避免內(nèi)存浪費(fèi)

1234567891011練習(xí):<br>有如下列表:????[13, 22, 6, 99, 11]請(qǐng)按照一下規(guī)則計(jì)算:13 和 22 比較,將大的值放在右側(cè),即:[13, 22, 6, 99, 11]22 和 6 比較,將大的值放在右側(cè),即:[13, 6, 22, 99, 11]22 和 99 比較,將大的值放在右側(cè),即:[13, 6, 22, 99, 11]99 和 42 比較,將大的值放在右側(cè),即:[13, 6, 22, 11, 99,]13 和 6 比較,將大的值放在右側(cè),即:[6, 13, 22, 11, 99,]...

Demo

深淺拷貝

為什么要拷貝?

1當(dāng)進(jìn)行修改時(shí),想要保留原來(lái)的數(shù)據(jù)和修改后的數(shù)據(jù)

數(shù)字字符串 和 集合 在修改時(shí)的差異? (深淺拷貝不同的終極原因)

123在修改數(shù)據(jù)時(shí):????數(shù)字字符串:在內(nèi)存中新建一份數(shù)據(jù)?????????集合:修改內(nèi)存中的同一份數(shù)據(jù)

對(duì)于集合,如何保留其修改前和修改后的數(shù)據(jù)?

1在內(nèi)存中拷貝一份

對(duì)于集合,如何拷貝其n層元素同時(shí)拷貝?

1深拷貝

作業(yè)

  開(kāi)發(fā)一個(gè)簡(jiǎn)單的計(jì)算器程序
  *實(shí)現(xiàn)對(duì)加減乘除、括號(hào)優(yōu)先級(jí)的解析,并實(shí)現(xiàn)正確運(yùn)算?

?

作者:武沛齊
出處:http://www.cnblogs.com/wupeiqi/
本文版權(quán)歸作者和博客園共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁(yè)面明顯位置給出原文連接。


轉(zhuǎn)載于:https://blog.51cto.com/sky66/1722611

總結(jié)

以上是生活随笔為你收集整理的Python总结:Python基础(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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