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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oldboy_09_03day

發(fā)布時間:2023/12/20 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oldboy_09_03day 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、split 分割

2、內(nèi)置函數(shù) ?

__name__ ------- 主動執(zhí)行還是被其他程序調(diào)用; 本程序內(nèi) __name__ 值為 __main__ ;其他程序調(diào)用時,__文件名__

?__file__ ======當(dāng)前文件路徑、是文件的相對路徑

__doc__ ======當(dāng)前程序說明文檔

3、函數(shù) def、形式參數(shù)

?

def test( a,*b):

? ? print a , b

*b形參數(shù) 不限制參數(shù)個數(shù) ---

test('1', '2','3')

?

* 代表可以參數(shù)一個元組(2,3)

?

def test1(a,b,c):
print a,b,c
test1('1', '2', '3')

?

def test2(a,b,*c):
print a,b,c

?


d=('1','2','3')

?

f=test2('4', '5',d)
k={'a':1,'b':2,'c':3}

?

def test3(a,b,**c):
print a,b,c

test3(31, 32,c='1',d='2')

def test(a,**b)

** 代表可以傳入 一個字典;

def 默認(rèn)值

def test5(a,b='test5')

  print a,b

4、函數(shù)局部變量

test1='ceshi'?

def a():

  print test1

def b():

  test1='insite ceshi'

def c():

  golbal test1 #引用全局變量 test1  

?

testoutsit='outsite_ceshi'

def intest():

print testoutsit

def intest1():

testoutsit='insitetest'
print testoutsit

def intest2():
global testoutsit
testoutsit='changeinstie'
print testoutsit
intest()
intest1()
intest2()
print testoutsit



?5、return

def back():

? for i in range(20):
? ? ? print i

? ? ? if i==10 :
? ? ? return i
? else:
? ? ? print i

a=back()
if a==10:
print 'return ok!'

?return 整個函數(shù)跳出函數(shù)執(zhí)行

得到一個數(shù)值,或者返回一個結(jié)果

一般return 寫在結(jié)尾;

#a=11>6 ? True:False ? (三步運(yùn)算符)

?ceshi='tr' if 2>1 else 'fl'?

print ceshi

和 if ,else ?一樣?

if ?11>6:

  a=Trun

else:

  a=False

?=================

6.1 lambda 函數(shù)

lambda x,y:x+y

6.2 with---as :

with ? ?as 方便打開文件 ,給了文件打開;和close,

with open (file.txt ,'r') as f: ? # with open 做了兩個動作 1、打開文件 2、file.close?

?

?

?

6.3、bool ?布爾值 ;python 內(nèi)置函數(shù)

print bool('') - -------- print 為 flase

print bool('date') ?----- print 為True?

為空 布爾值 都為假;不為空 ?布爾值都為真

?

6.4 yield 迭代器

保存函數(shù)的執(zhí)行狀態(tài);執(zhí)行一半跳出;后可再進(jìn)行執(zhí)行

?大數(shù)據(jù)讀取;

def readfile():
tel=0
while True:
with open('E:\licence.py','r') as f:
f.seek(tel)
date=f.readline()
if date:
tel=f.tell()
yield date
else:
return


files=readfile()
date1=files.next()
date2=files.next()
date3=files.next()
date4=files.next()
date5=files.next()
print date1,date2,date3,date4,date5

print '=================='
date1=files.next()
date2=files.next()
date3=files.next()
date4=files.next()
date5=files.next()

print date1,date2,date3,date4,date5
print '====================='

for i in files:
print i

?

?

?

?

6.5 range 、xrange效率更高 (xrange 也是迭代器,一行一行的返回,只記錄開始和結(jié)尾)

?

?

?

6.6 內(nèi)置函數(shù)

1、dir()

顯示當(dāng)前文件中所有變量名稱

2、vars()

當(dāng)前文件中所有變量名稱及值

3、reload() 和import 都是引入別的文件;

reload 重新加載模塊 ;import 只執(zhí)行一次;

import ??

import

reload

reload

當(dāng)配置文件被修改;不重啟服務(wù)時,重新reload

4、id()

id(2)或者 id(c)

打印的是2或者c在內(nèi)存中的地址

5、cmp 進(jìn)行比較

cmp(2,10)小于 返回 ‘-1’

cmp (10,2) 大于 返回 ‘1’

cmp (10,10) ?等于 返回 ‘0’

6、abs 絕對值

abs(-1)

7、divmod()除 取商和余數(shù)

divmod(10,4)

8、max()

max 列表也可以取最大

max([1,2,3,4,6,20]) max(1,2,3,)

9、min () 比較最小

10、sum() 求和

11、pow()冪

pow(2,4)2的4次方

12、len()統(tǒng)計(jì)字符串長度

13、all() ?全&,全部為真,才為真

#web 前端登錄 ?user pass info 全為真;為真

print all('1','c',none)

14、any() 只要有一個為真,就為真

print any('1','c',none)

15、chr()ASICC 碼對應(yīng)的位置

16、ord()asics 碼對應(yīng)的數(shù)值

17、hex()轉(zhuǎn)化為16進(jìn)制 oct()八進(jìn)制bin()二進(jìn)制

0X是16進(jìn)制的開始

0 是8進(jìn)制

0b 是二進(jìn)制的開始

18、.format?

?

19、zip 把列表列表壓縮到列表中

?x=[1,2,3]

y=[4,5,6]

z=[7,8,9]

zip(x,y,z)

20、map()

lamdba 匿名函數(shù) 可與定義 lambda x:x+1 ; 定義匿名函數(shù)x,函數(shù)意義 x+1 ;ruturn x+1值

map(lambda x:x+1,[3,4,5])?

def fun(x):
return x+1

a=fun(2)
print type(a)
print map(fun,[20,30])

map 遍歷列表[3,4,5] 添加到函數(shù) jia的中進(jìn)行處理,并返回

引用函數(shù)是引用函數(shù)的名字

def fun1(x):
return x+1

c=[1,2,3,4,5,6,7,8,9,10]
a=fun1(2)
print type(a)
print 'this is map %s'%(map(fun1,c))
print 'this is map lambda %s'%(map(lambda x:x+1, c))

22、filter()

filter (lamdba x:x>5 ,[3,4,5,6,7,8] )

def fun2(a):
return a>6

print 'this is filter %s' %(filter(fun2,c))

print 'this is filter lambda%s'%(filter(lambda x:x>5, c))

只是過濾;

23、reduce()累計(jì) 加入下次計(jì)算

reduce(lambda x,y:x+y ,[1,2,3,4,5,6])

def fun3(x,y):
return x+y

print 'this is reduce %s' % (reduce(fun3, c))


print 'this is reduce lambda %s'%(reduce(lambda x,y:x+y,c))

?

?

只能傳進(jìn)去2個值

24、random 隨機(jī)驗(yàn)證碼

練習(xí)

25、MD5 加密

import md5
ceshi=md5.new()
print dir(md5) 查看md5的方法

print vars(md5) 查看md5 的方法和值

驗(yàn)證是,md5 加密一次 再去數(shù)據(jù)庫驗(yàn)證

import md5
ceshi=md5.new()
#print dir(md5)
#print vars(md5)
ceshi.update('userpasswd')
print ceshi.hexdigest()

?

26、re python正則表達(dá)式

import re

dir(re)

a=‘ceshi,name,dfsdndsfsdnn’

a1=re.match(‘c.*’,a)'.' 代表任意字符 ‘*’ 代表出現(xiàn)0次或者最多 ?# match 必須是字符串 開頭匹配

print a.group

b=re.search('e.*',a) 整個字符串檢索一遍;進(jìn)行匹配

c=re.search('e,*d',a) 匹配從e到d?

d=re.findall('n.',a) 所有的全部查找 防到一個列表中;

f=re.split ('n.',a) 字符串 按照表達(dá)式進(jìn)行分割;剩下的放到一個表中

g=re.sub(‘n.’,'ww',s)查找后替換 查找n 替換為ww;在s 中查找

k=h[a-z]o

k1=h[a|b|c]0 匹配 hao 或者h(yuǎn)bo或者h(yuǎn)co ? ‘|’ 豎線 是或的意思

正則表達(dá)式獲取網(wǎng)址、ip、手機(jī)號、郵箱

#!/usr/bin/env python
#-*- coding:utf-8 -*-
import re
import sys

def getIPAddFromFile(fobj):
regex = re.compile(r'\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b', re.IGNORECASE)
ipadds = re.findall(regex, fobj)
print ipadds
return ipadds

def getPhoneNumFromFile(fobj):
regex = re.compile(r'1\d{10}', re.IGNORECASE)
phonenums = re.findall(regex, fobj)
print phonenums
return phonenums

def getMailAddFromFile(fobj):
regex = re.compile(r"\b[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}\b", re.IGNORECASE)
mails = re.findall(regex, fobj)
print mails
return mails

def getUrlFromFile(fobj):
regex = re.compile(r"http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+", re.IGNORECASE)
urls = regex.findall(fobj)
print urls
return urls

def main(FilefilePath):
fobj = open(FilefilePath, 'rb').read()
urllist = getUrlFromFile(fobj)
mailList = getMailAddFromFile(fobj)
phoneNum = getPhoneNumFromFile(fobj)
ipaddlist = getIPAddFromFile(fobj)

if __name__ == '__main__':
main(sys.argv[1])

?

======================

rn=r'[0-9]+(?:\.[0-9]+){3}' #匹配IP地址?

?

26、序列化和json

內(nèi)存中的數(shù)據(jù)保存

字典等不能直接寫入到文件中

序列化 ?內(nèi)存中的類型轉(zhuǎn)化為字符串存儲到硬盤;

    讀入中通過序列化讀取回來

?

import pickle

dir(pickle)

pickle.dump

pickle.load

f=file('dump.txt','w')

import os
import pickle as p
c={'a':1,'b':2,'c':3}
#with open('dumpfile','wb') as f:

f=open('dumpfile','w')

p.dump(c,f)

f.close()

e=open('dumpfile','r')
c=p.load(e)
print c
print os.system('dir')

======================

內(nèi)存數(shù)據(jù)交換 通過pickle.dumps;發(fā)送過去;對端pickle.load

?

json 通用存儲;各種編程語言都能讀取;內(nèi)存數(shù)據(jù)轉(zhuǎn)化為字符串

json 只能序列化常用的數(shù)據(jù)類型 (字符串、列表、字典、元組、等; ) python 的類 、函數(shù)、等不能被序列化

?

unicode 和 utf-8 的相互轉(zhuǎn)換

s='abc'

print type(s)

s=u'abc'
print type(s)
s=s.encode('utf-8')
print type(s)

?

轉(zhuǎn)載于:https://www.cnblogs.com/zhzhao/p/4525505.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的oldboy_09_03day的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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