欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

pythonvec函數(shù),vec Python

Vec 在python中指的是什么

vec一般是vector的縮寫,中文名是向量

成都創(chuàng)新互聯(lián)公司成立與2013年,先為大名等服務(wù)建站,大名等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為大名企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

不過Python更嚴(yán)格的說法是列表

python中eval的用法

python中eval函數(shù)用法如下:

1、計(jì)算字符串中有效的表達(dá)式,并返回結(jié)果。

2、將字符串轉(zhuǎn)成相應(yīng)的對(duì)象(如list、tuple、dict和string之間的轉(zhuǎn)換)。

3、將利用反引號(hào)轉(zhuǎn)換的字符串再反轉(zhuǎn)回對(duì)象。

函數(shù)作用域:eval()函數(shù)并不會(huì)創(chuàng)建一個(gè)新的作用域,并且它的作用域就是它所在的作用域,有時(shí)候需要將eval()函數(shù)的作用域設(shè)置為全局,當(dāng)然可以將eval()在全局作用域中使用,這個(gè)時(shí)候可以用window.eval()的方式實(shí)現(xiàn)。

參數(shù)情況:

(1)如果參數(shù)是一個(gè)表達(dá)式,eval() 函數(shù)將執(zhí)行表達(dá)式。

(2)如果參數(shù)是Javascript語句,eval()將執(zhí)行 Javascript 語句。

注意:如果執(zhí)行結(jié)果是一個(gè)值就返回,不是就返回undefined,如果參數(shù)不是一個(gè)字符串,則直接返回該參數(shù)。

python十進(jìn)制轉(zhuǎn)二進(jìn)制數(shù)組求解,急

def uint2vec(n,Leng=8,Radix=2):

s = []

for i in range(Leng):

s = [n % Radix] +s

n //= Radix

return s

python當(dāng)中的eval()函數(shù)是起什么作用?

python當(dāng)中的eval()函數(shù)是將字符串當(dāng)成有效Python表達(dá)式來求值,并返回計(jì)算結(jié)果

x?=?1

eval('x+1')

eval('x==1')

與之對(duì)應(yīng)的repr函數(shù),它能夠?qū)ython的變量和表達(dá)式轉(zhuǎn)換為字符串表示:

repr(x+1)

repr(x+ ‘1’-1)('x=+=1')

Python是純粹的自由軟件,?源代碼和解釋器CPython遵循?GPL(GNU?General Public License)協(xié)議。Python語法簡潔清晰,特色之一是強(qiáng)制用空白符(white space)作為語句縮進(jìn)。

Python具有豐富和強(qiáng)大的庫。它常被昵稱為膠水語言,能夠把用其他語言制作的各種模塊(尤其是C/C++)很輕松地聯(lián)結(jié)在一起。

常見的一種應(yīng)用情形是,使用Python快速生成程序的原型(有時(shí)甚至是程序的最終界面),然后對(duì)其中有特別要求的部分,用更合適的語言改寫,比如3D游戲中的圖形渲染模塊,性能要求特別高,就可以用C/C++重寫,而后封裝為Python可以調(diào)用的擴(kuò)展類庫。

需要注意的是在您使用擴(kuò)展類庫時(shí)可能需要考慮平臺(tái)問題,某些可能不提供跨平臺(tái)的實(shí)現(xiàn)。

eval函數(shù)在python中的應(yīng)用

以python 3.8.5150.0版本為例,python中eval函數(shù)作用如下:

1、計(jì)算字符串中有效的表達(dá)式,并返回結(jié)果。

2、將字符串轉(zhuǎn)成相應(yīng)的對(duì)象(如list、tuple、dict和string之間的轉(zhuǎn)換)。

3、將利用反引號(hào)轉(zhuǎn)換的字符串再反轉(zhuǎn)回對(duì)象。

參數(shù)解析:

expression:這個(gè)參數(shù)是一個(gè)字符串,python會(huì)使用globals字典和locals字典作為全局和局部的命名空間,將expression當(dāng)作一個(gè)python表達(dá)式進(jìn)行解析和計(jì)算。

globals:這個(gè)參數(shù)控制的是一個(gè)全局的命名空間,也就是我們?cè)谟?jì)算表達(dá)式的時(shí)候可以使用全局的命名空間中的函數(shù),如果這個(gè)參數(shù)被提供了。

并且沒有提供自定義的builtins(python的內(nèi)建模塊),那么會(huì)將當(dāng)前環(huán)境中的builtins拷貝到提供的globals里,然后進(jìn)行計(jì)算。如果globals沒有被提供,則使用python的全局命名空間。

locals:這個(gè)參數(shù)控制的是一個(gè)局部的命名空間,和globals類似,不過當(dāng)它和globals中有重復(fù)的部分時(shí),locals里的定義會(huì)覆蓋掉globals中的,也就是說當(dāng)globals和locals中有沖突的部分時(shí),locals說了算,它有決定權(quán),以它的為準(zhǔn)。如果locals沒有被提供的話,則默認(rèn)為globals。

python 常用的系統(tǒng)函數(shù)有哪些

1.常用內(nèi)置函數(shù):(不用import就可以直接使用)

help(obj) 在線幫助, obj可是任何類型

callable(obj) 查看一個(gè)obj是不是可以像函數(shù)一樣調(diào)用

repr(obj) 得到obj的表示字符串,可以利用這個(gè)字符串eval重建該對(duì)象的一個(gè)拷貝

eval_r(str) 表示合法的python表達(dá)式,返回這個(gè)表達(dá)式

dir(obj) 查看obj的name space中可見的name

hasattr(obj,name) 查看一個(gè)obj的name space中是否有name

getattr(obj,name) 得到一個(gè)obj的name space中的一個(gè)name

setattr(obj,name,value) 為一個(gè)obj的name space中的一個(gè)name指向vale這個(gè)object

delattr(obj,name) 從obj的name space中刪除一個(gè)name

vars(obj) 返回一個(gè)object的name space。用dictionary表示

locals() 返回一個(gè)局部name space,用dictionary表示

globals() 返回一個(gè)全局name space,用dictionary表示

type(obj) 查看一個(gè)obj的類型

isinstance(obj,cls) 查看obj是不是cls的instance

issubclass(subcls,supcls) 查看subcls是不是supcls的子類

類型轉(zhuǎn)換函數(shù)

chr(i) 把一個(gè)ASCII數(shù)值,變成字符

ord(i) 把一個(gè)字符或者unicode字符,變成ASCII數(shù)值

oct(x) 把整數(shù)x變成八進(jìn)制表示的字符串

hex(x) 把整數(shù)x變成十六進(jìn)制表示的字符串

str(obj) 得到obj的字符串描述

list(seq) 把一個(gè)sequence轉(zhuǎn)換成一個(gè)list

tuple(seq) 把一個(gè)sequence轉(zhuǎn)換成一個(gè)tuple

dict(),dict(list) 轉(zhuǎn)換成一個(gè)dictionary

int(x) 轉(zhuǎn)換成一個(gè)integer

long(x) 轉(zhuǎn)換成一個(gè)long interger

float(x) 轉(zhuǎn)換成一個(gè)浮點(diǎn)數(shù)

complex(x) 轉(zhuǎn)換成復(fù)數(shù)

max(...) 求最大值

min(...) 求最小值

用于執(zhí)行程序的內(nèi)置函數(shù)

complie 如果一段代碼經(jīng)常要使用,那么先編譯,再運(yùn)行會(huì)更快。

2.和操作系統(tǒng)相關(guān)的調(diào)用

系統(tǒng)相關(guān)的信息模塊 import sys

sys.argv是一個(gè)list,包含所有的命令行參數(shù).

sys.stdout sys.stdin sys.stderr 分別表示標(biāo)準(zhǔn)輸入輸出,錯(cuò)誤輸出的文件對(duì)象.

sys.stdin.readline() 從標(biāo)準(zhǔn)輸入讀一行 sys.stdout.write("a") 屏幕輸出a

sys.exit(exit_code) 退出程序

sys.modules 是一個(gè)dictionary,表示系統(tǒng)中所有可用的module

sys.platform 得到運(yùn)行的操作系統(tǒng)環(huán)境

sys.path 是一個(gè)list,指明所有查找module,package的路徑.

操作系統(tǒng)相關(guān)的調(diào)用和操作 import os

os.environ 一個(gè)dictionary 包含環(huán)境變量的映射關(guān)系 os.environ["HOME"] 可以得到環(huán)境變量HOME的值

os.chdir(dir) 改變當(dāng)前目錄 os.chdir('d:\\outlook') 注意windows下用到轉(zhuǎn)義

os.getcwd() 得到當(dāng)前目錄

os.getegid() 得到有效組id os.getgid() 得到組id

os.getuid() 得到用戶id os.geteuid() 得到有效用戶id

os.setegid os.setegid() os.seteuid() os.setuid()

os.getgruops() 得到用戶組名稱列表

os.getlogin() 得到用戶登錄名稱

os.getenv 得到環(huán)境變量

os.putenv 設(shè)置環(huán)境變量

os.umask 設(shè)置umask

os.system(cmd) 利用系統(tǒng)調(diào)用,運(yùn)行cmd命令

操作舉例:

os.mkdir('/tmp/xx') os.system("echo 'hello' /tmp/xx/a.txt") os.listdir('/tmp/xx')

os.rename('/tmp/xx/a.txt','/tmp/xx/b.txt') os.remove('/tmp/xx/b.txt') os.rmdir('/tmp/xx')

用python編寫一個(gè)簡單的shell

#!/usr/bin/python

import os, sys

cmd = sys.stdin.readline()

while cmd:

os.system(cmd)

cmd = sys.stdin.readline()

用os.path編寫平臺(tái)無關(guān)的程序

os.path.abspath("1.txt") == os.path.join(os.getcwd(), "1.txt")

os.path.split(os.getcwd()) 用于分開一個(gè)目錄名稱中的目錄部分和文件名稱部分。

os.path.join(os.getcwd(), os.pardir, 'a', 'a.doc') 全成路徑名稱.

os.pardir 表示當(dāng)前平臺(tái)下上一級(jí)目錄的字符 ..

os.path.getctime("/root/1.txt") 返回1.txt的ctime(創(chuàng)建時(shí)間)時(shí)間戳

os.path.exists(os.getcwd()) 判斷文件是否存在

os.path.expanduser('~/dir') 把~擴(kuò)展成用戶根目錄

os.path.expandvars('$PATH') 擴(kuò)展環(huán)境變量PATH

os.path.isfile(os.getcwd()) 判斷是否是文件名,1是0否

os.path.isdir('c:\Python26\temp') 判斷是否是目錄,1是0否

os.path.islink('/home/huaying/111.sql') 是否是符號(hào)連接 windows下不可用

os.path.ismout(os.getcwd()) 是否是文件系統(tǒng)安裝點(diǎn) windows下不可用

os.path.samefile(os.getcwd(), '/home/huaying') 看看兩個(gè)文件名是不是指的是同一個(gè)文件

os.path.walk('/home/huaying', test_fun, "a.c")

遍歷/home/huaying下所有子目錄包括本目錄,對(duì)于每個(gè)目錄都會(huì)調(diào)用函數(shù)test_fun.

例:在某個(gè)目錄中,和他所有的子目錄中查找名稱是a.c的文件或目錄。

def test_fun(filename, dirname, names): //filename即是walk中的a.c dirname是訪問的目錄名稱

if filename in names: //names是一個(gè)list,包含dirname目錄下的所有內(nèi)容

print os.path.join(dirname, filename)

os.path.walk('/home/huaying', test_fun, "a.c")

文件操作

打開文件

f = open("filename", "r") r只讀 w寫 rw讀寫 rb讀二進(jìn)制 wb寫二進(jìn)制 w+寫追加

讀寫文件

f.write("a") f.write(str) 寫一字符串 f.writeline() f.readlines() 與下read類同

f.read() 全讀出來 f.read(size) 表示從文件中讀取size個(gè)字符

f.readline() 讀一行,到文件結(jié)尾,返回空串. f.readlines() 讀取全部,返回一個(gè)list. list每個(gè)元素表示一行,包含"\n"\

f.tell() 返回當(dāng)前文件讀取位置

f.seek(off, where) 定位文件讀寫位置. off表示偏移量,正數(shù)向文件尾移動(dòng),負(fù)數(shù)表示向開頭移動(dòng)。

where為0表示從開始算起,1表示從當(dāng)前位置算,2表示從結(jié)尾算.

f.flush() 刷新緩存

關(guān)閉文件

f.close()

regular expression 正則表達(dá)式 import re

簡單的regexp

p = re.compile("abc") if p.match("abc") : print "match"

上例中首先生成一個(gè)pattern(模式),如果和某個(gè)字符串匹配,就返回一個(gè)match object

除某些特殊字符metacharacter元字符,大多數(shù)字符都和自身匹配。

這些特殊字符是 。^ $ * + ? { [ ] \ | ( )

字符集合(用[]表示)

列出字符,如[abc]表示匹配a或b或c,大多數(shù)metacharacter在[]中只表示和本身匹配。例:

a = ".^$*+?{\\|()" 大多數(shù)metachar在[]中都和本身匹配,但"^[]\"不同

p = re.compile("["+a+"]")

for i in a:

if p.match(i):

print "[%s] is match" %i

else:

print "[%s] is not match" %i

在[]中包含[]本身,表示"["或者"]"匹配.用

表示.

^出現(xiàn)在[]的開頭,表示取反.[^abc]表示除了a,b,c之外的所有字符。^沒有出現(xiàn)在開頭,即于身身匹配。

-可表示范圍.[a-zA-Z]匹配任何一個(gè)英文字母。[0-9]匹配任何數(shù)字。

\在[]中的妙用。

\d [0-9]

\D [^0-9]

\s [ \t\n\r\f\v]

\S [^ \t\n\r\f\v]

\w [a-zA-Z0-9_]

\W [^a-zA-Z0-9_]

\t 表示和tab匹配, 其他的都和字符串的表示法一致

\x20 表示和十六進(jìn)制ascii 0x20匹配

有了\,可以在[]中表示任何字符。注:單獨(dú)的一個(gè)"."如果沒有出現(xiàn)[]中,表示出了換行\(zhòng)n以外的匹配任何字符,類似[^\n].

regexp的重復(fù)

{m,n}表示出現(xiàn)m個(gè)以上(含m個(gè)),n個(gè)以下(含n個(gè)). 如ab{1,3}c和abc,abbc,abbbc匹配,不會(huì)與ac,abbbc匹配。

m是下界,n是上界。m省略表下界是0,n省略,表上界無限大。

*表示{,} +表示{1,} ?表示{0,1}

最大匹配和最小匹配 python都是最大匹配,如果要最小匹配,在*,+,?,{m,n}后面加一個(gè)?.

match object的end可以得到匹配的最后一個(gè)字符的位置。

re.compile("a*").match('aaaa').end() 4 最大匹配

re.compile("a*?").match('aaaa').end() 0 最小匹配

使用原始字符串

字符串表示方法中用\\表示字符\.大量使用影響可讀性。

解決方法:在字符串前面加一個(gè)r表示raw格式。

a = r"\a" print a 結(jié)果是\a

a = r"\"a" print a 結(jié)果是\"a

使用re模塊

先用re.compile得到一個(gè)RegexObject 表示一個(gè)regexp

后用pattern的match,search的方法,得到MatchObject

再用match object得到匹配的位置,匹配的字符串等信息

RegxObject常用函數(shù):

re.compile("a").match("abab") 如果abab的開頭和re.compile("a")匹配,得到MatchObject

_sre.SRE_Match object at 0x81d43c8

print re.compile("a").match("bbab")

None 注:從str的開頭開始匹配

re.compile("a").search("abab") 在abab中搜索第一個(gè)和re_obj匹配的部分

_sre.SRE_Match object at 0x81d43c8

print re.compile("a").search("bbab")

_sre.SRE_Match object at 0x8184e18 和match()不同,不必從開頭匹配

re_obj.findall(str) 返回str中搜索所有和re_obj匹配的部分.

返回一個(gè)tuple,其中元素是匹配的字符串.

MatchObject的常用函數(shù)

m.start() 返回起始位置,m.end()返回結(jié)束位置(不包含該位置的字符).

m.span() 返回一個(gè)tuple表示(m.start(), m.end())

m.pos(), m.endpos(), m.re(), m.string()

m.re().search(m.string(), m.pos(), m.endpos()) 會(huì)得到m本身

m.finditer()可以返回一個(gè)iterator,用來遍歷所有找到的MatchObject.

for m in re.compile("[ab]").finditer("tatbxaxb"):

print m.span()

高級(jí)regexp

| 表示聯(lián)合多個(gè)regexp. A B兩個(gè)regexp,A|B表示和A匹配或者跟B匹配.

^ 表示只匹配一行的開始行首,^只有在開頭才有此特殊意義。

$ 表示只匹配一行的結(jié)尾

\A 表示只匹配第一行字符串的開頭 ^匹配每一行的行首

\Z 表示只匹配行一行字符串的結(jié)尾 $匹配第一行的行尾

\b 只匹配詞的邊界 例:\binfo\b 只會(huì)匹配"info" 不會(huì)匹配information

\B 表示匹配非單詞邊界

示例如下:

print re.compile(r"\binfo\b").match("info ") #使用raw格式 \b表示單詞邊界

_sre.SRE_Match object at 0x817aa98

print re.compile("\binfo\b").match("info ") #沒有使用raw \b表示退格符號(hào)

None

print re.compile("\binfo\b").match("\binfo\b ")

_sre.SRE_Match object at 0x8174948

分組(Group) 示例:re.compile("(a(b)c)d").match("abcd").groups() ('abc', 'b')

#!/usr/local/bin/python

import re

x = """

name: Charles

Address: BUPT

name: Ann

Address: BUPT

"""

#p = re.compile(r"^name:(.*)\n^Address:(.*)\n", re.M)

p = re.compile(r"^name:(?P.*)\n^Address:(?P.*)\n", re.M)

for m in p.finditer(x):

print m.span()

print "here is your friends list"

print "%s, %s"%m.groups()

Compile Flag

用re.compile得到RegxObject時(shí),可以有一些flag用來調(diào)整RegxObject的詳細(xì)特征.

DOTALL, S 讓.匹配任意字符,包括換行符\n

IGNORECASE, I 忽略大小寫

LOCALES, L 讓\w \W \b \B和當(dāng)前的locale一致

MULTILINE, M 多行模式,只影響^和$(參見上例)

VERBOSE, X verbose模式

網(wǎng)頁名稱:pythonvec函數(shù),vec Python
文章URL:http://chinadenli.net/article26/heesjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站關(guān)鍵詞優(yōu)化、搜索引擎優(yōu)化、網(wǎng)站收錄面包屑導(dǎo)航、云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營