python基礎知識點

面向?qū)ο螅?/p>

封裝,繼承,多態(tài),抽象

1、可變與不可變類型

可變類型:dict、list

不可變類型:int、tuple、string、

2、深拷貝與淺拷貝

直接賦值,對列表的引用,原列表改變被賦值對象也改變

淺拷貝:copy,沒有拷貝子對象,所以原始數(shù)據(jù)改變,子對象也會跟隨改變

深拷貝:copy.deepcopy,包含原對象中的子對象,原始數(shù)據(jù)改變,被賦值對象不變

3、斐波那契數(shù)列

a = 0

b = 1

while < 100:

? ? a, b = b, a+b

4、lambda函數(shù)

Python提供了很多函數(shù)式編程的特性,如:map、reduce、filter、sorted等這些函數(shù)都支持函數(shù)作為參數(shù),lambda函數(shù)就可以應用在函數(shù)式編程中。如下:

# 需求:將列表中的元素按照絕對值大小進行升序排列

list1=[3,5,-4,-1,0,-2,-6]

sorted(list1,key=lambdax:abs(x))

當然,也可以如下:

list1=[3,5,-4,-1,0,-2,-6]defget_abs(x):returnabs(x)sorted(list1,key=get_abs)

只不過這種方式的代碼看起來不夠Pythonic

5、python如何進行類型轉(zhuǎn)換

int(x [,base ])? ? ? ? 將x轉(zhuǎn)換為一個整數(shù)

long(x [,base ])? ? ? ? 將x轉(zhuǎn)換為一個長整數(shù)

float(x )? ? ? ? ? ? ? 將x轉(zhuǎn)換到一個浮點數(shù)

complex(real [,imag ])? 創(chuàng)建一個復數(shù)

str(x )? ? ? ? ? ? ? ? 將對象 x 轉(zhuǎn)換為字符串

repr(x )? ? ? ? ? ? ? ? 將對象 x 轉(zhuǎn)換為表達式字符串

eval(str )? ? ? ? ? ? ? 用來計算在字符串中的有效Python表達式,并返回一個對象

tuple(s )? ? ? ? ? ? ? 將序列 s 轉(zhuǎn)換為一個元組

list(s )? ? ? ? ? ? ? ? 將序列 s 轉(zhuǎn)換為一個列表

chr(x )? ? ? ? ? ? ? ? 將一個整數(shù)轉(zhuǎn)換為一個字符

unichr(x )? ? ? ? ? ? ? 將一個整數(shù)轉(zhuǎn)換為Unicode字符

ord(x )? ? ? ? ? ? ? ? 將一個字符轉(zhuǎn)換為它的整數(shù)值

hex(x )? ? ? ? ? ? ? ? 將一個整數(shù)轉(zhuǎn)換為一個十六進制字符串

oct(x )? ? ? ? ? ? ? ? 將一個整數(shù)轉(zhuǎn)換為一個八進制字符串

6、刪除列表中的重復原數(shù)

第一種:list(set(l))

第二種:

d = {}

for x in list:

d[x] = 1

mylist = list[d.keys()]

7、裝飾器

閉包函數(shù):1.函數(shù)內(nèi)部定義的函數(shù)。2.引用了外部變量但不是全局變量

裝飾器特點:

實質(zhì): 是一個函數(shù)

參數(shù):是你要裝飾的函數(shù)名(并非函數(shù)調(diào)用)

返回:是裝飾完的函數(shù)名(也非函數(shù)調(diào)用)

作用:為已經(jīng)存在的對象添加額外的功能

特點:不需要對對象做任何的代碼上的變動

import time

def decorator(func):

? ? def wrapper(*args, **kwargs):

? ? ? ? start_time = time.time()

? ? ? ? func()

? ? ? ? end_time = time.time()

? ? ? ? print(end_time - start_time)

? ? return wrapper

return decorator

@decorator

def func():

? ? time.sleep(0.8)

func() # 函數(shù)調(diào)用

8、貪婪 與非貪婪匹配

<.*>:貪婪匹配,從頭到尾匹配

<.*?>:非貪婪匹配,只匹配到第一個

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 一、快捷鍵 ctr+b 執(zhí)行ctr+/ 單行注釋ctr+c ...
    o_8319閱讀 6,032評論 2 16
  • 包(lib)、模塊(module) 在Python中,存在包和模塊兩個常見概念。 模塊:編寫Python代碼的py...
    清清子衿木子水心閱讀 3,912評論 0 27
  • http://python.jobbole.com/85231/ 關于專業(yè)技能寫完項目接著寫寫一名3年工作經(jīng)驗的J...
    燕京博士閱讀 7,804評論 1 118
  • 寫在前面的話 代碼中的# > 表示的是輸出結(jié)果 輸入 使用input()函數(shù) 用法 注意input函數(shù)輸出的均是字...
    FlyingLittlePG閱讀 3,219評論 0 9
  • 人類在進化過程中,認知革命中談到智人其實是一種沒什么特別的動物。但是它之所以能夠生活至今,并且能夠在食物鏈處于頂端...
    武小五的思考閱讀 356評論 0 0

友情鏈接更多精彩內(nèi)容