原创 python 使用@propety 裝飾器將一個方法變成屬性

使用@property 改變get和set 方法–>屬性 ''' 使用@propety 裝飾器將一個方法變成屬性 ''' # -*- coding: utf-8 -*- class Screen(object): @p

原创 python tuple和list

tuple 創建一個元組: temp=(1,) #創建的元組只有一個元素,一定要加,不然會被默認爲temp是整形 更新一個元祖 #!/usr/bin/env python3 # -*- coding: utf-8 -*

原创 python 線程 Thread

啓動線程- threading 將函數傳入並創建Thread實例,然後調用start() threading.Thread(group=None,target=None,name=None,args=(),kwsrgs{})

原创 Python 高階函數:map和reduce

map(函數,可迭代對象(Iterable)),作用是把可迭代的對象中的每一個原素作用在函數中,生成一個新的迭代器(Iterator)。 例如: 將一個列表中的所有數字轉化爲爲平方跟,並將其放在另外一個列表中。 def f(x)

原创 python 使用原有函數構建新函數(偏函數)

偏函數 —>functools.partial 相當於自己使用已有的函數,將其某一個參數的值,或者自己需要固定的值,固定在一個新的函數中,從而構造一個新的函數出來。 借用廖雪峯的例子,原文: https://www.liao

原创 python socket

socket是一組用於網絡編程的模塊,意思就是兩個端點程序之間的信息通道。 要建立一個信息通道一般至少需要一個服務器和一個客戶端。 sequenceDiagram participant 客戶端 particip

原创 python 正則表達式

[x] 1.基本匹配表達式(\d\s*+…) [x] 2. re基本函數(re.match/re.search) [x] 3. 全解匹配表達式(一個大列表) [x] 4.切分字符串 [x] 5.分組 [x] 6.貪婪匹配 [x]

原创 python with

讀寫文件時使用with可以很好地避免文件讀寫出錯或者是忘記寫關閉文件的情況 例如,打開一個文件讀寫: f=open('F:\python\mytest\mytest\.idea\contextlib_code.py') f.re

原创 python 動態建立類 type()

動態建立類 1. type() 使用方法:類名=type(類名,繼承的父類集合) 使用type()創建出mood類,無需定義class mood(object): >>> def now(who):

原创 Python 匿名函數 lambda

python爲了能夠足夠簡單,其有一種機制是不用告訴解釋器函數的名字是什麼。就是匿名函數 —lambda lambda只能封裝有限的模塊進去。且其有自己的名字空間,不能訪問參數列表之外和全局命名空間的參數。 語法: lamb

原创 python 裝飾器 運行時動態增加功能

裝飾器 定義:在不改變原有函數的情況下,增加額外的功能。其返回值也是一個python函數。 裝飾函數,用於在已經定義好的某一個函數(或代碼段)使用時,輸入或者操作自己想要的數據。 #一個已有的代碼: def Hello():

原创 python 序列化 pickle

序列化:把變量從內存中變爲可儲存或者可傳輸的過程叫做序列化,序列化之後就可將已序列化過的數據寫入磁盤,或者通過網絡傳輸到別的機器上。 python中使用pickle進行序列化 1.dumps() json.dump(obj, fp

原创 Python yield

yield 的作用就是把一個函數變成一個 generator,帶有 yield 的函數不再是一個普通函數,Python 解釋器會將其視爲一個 generator,調用 fab(5) 不會執行 fab 函數,而是返回一個 itera

原创 python nonlocal/global ---內部作用域中改變外部變量

nonlocal,作用:使外層函數中的變量能被內層函數中被查找到,使用,或更改。 global,作用:在外層函數中使用和改變全局變量 原因:在python中,局部作用域裏面的代碼可以讀取外部作用域(包括全局作用域)的變量,但是規

原创 python map出錯:map object at 0x0000000002B35588

這是因爲在map中不能傳入非iterators的參數。 例如一個出錯的代碼: def str2float(s): def char2num(s): return{'0': 0, '1': 1, '2':