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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python之路day4_python之路day4

發布時間:2024/7/23 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python之路day4_python之路day4 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1很多人的努力都是淺嘗輒止的

2.很多牛逼的人還在努力

3.半年會后牛逼的轉身

冒泡算法:for n in range(1,len(li)):

for m in range(len(li) -n) :

num1 = li[m]

num2 = li[m+1]

if num1 > num2:

temp = li[m]

li[m] = num2

li[m+1] = temp

print li

ha 配置思路#!/usr/bin/env python

#-*- coding:utf-8 -*-

# powered by xiaobing

#查,加,刪

#定義讀的函數

import os,json

def fetch(backend):

#打開文件ha

with open('ha') as obj:

flag = False

fetch_list = []

#按行讀取文件,每次只讀取一行

for line in obj:

#建個空列表,為后續將backend 下的值存儲用

#如果這行內容等于 backend 參數值,就設置個flage值為True,認為找到了要找的代碼塊,然后跳出這個循環,讀取代碼塊的下一行內容

if line.strip() == "backend %s" % backend:

flag = True

continue

#如果這個flag = True 說明已找到代碼塊,然后將這行內容加入到空列表fetch_list

if flag and line.strip():

fetch_list.append(line.strip())

#如果這個flag = True 說明已找到代碼塊并且又遇到了backend開頭的代碼,則說明后面的內容已無關,不需要繼續循環

if line.strip().startswith("backend") and flag:

break

return fetch_list

def add_ha(dict_info):

#獲取要添加的 backend值

backend_title = dict_info.get("backend")

current_title = "backend %s" % backend_title

#要添加的backend 的server記錄

server_record_dict = dict_info.get("record")

current_record = "server %s %s weight %s maxconn %s" %(server_record_dict.get("server"),server_record_dict.get("server"),server_record_dict.get("weight"),server_record_dict.get("maxconn"))

#獲取當前這個backend記錄下的server列表

serverlist = fetch(backend_title)

#判斷這個新增backend 是否存在

if serverlist:

#增加server記錄

#打開舊文件,并打開新文件

with open('ha') as read_obj,open('ha_new',w) as write_obj:

#設置是否已經讀取的標識

flag = False

#設置是否寫入新記錄的標識

has_write_flage = False

#讀取文件,按行讀取

for line in read_obj:

#如果讀取行到了要寫入的backend行,就設置讀取標識為Ture,并跳出本次循環,讀取下一行

if line.strip() == current_title:

flag = True

continue

#如果已讀取到寫入行,并且讀取到了新的backend記錄,就設置

if flag and line.strip().startswith("backend"):

flag = False

if flag:

if not has_write_flage:

for new_line in serverlist:

write_obj.write("%s %s \n" %(" "*8,new_line))

else:

has_write_flage=True

else:

write_obj.write(line)

else:

#增加backend并添加記錄

#打開文件寫入新記錄,同時打開舊文件和新文件

with open('ha') as read_obj,open('ha_new','w') as write_obj:

for line in read_obj:

write_obj.write(line)

write_obj.write("\n")

write_obj.write(current_title+"\n")

write_obj.write("%s %s \n" %(" "*8,current_record) )

#os.rename('ha','ha.bak')

#os.rename('ha_new','ha')

s = '{"backend": "test.oldboy.org","record":{"server": "100.1.7.9","weight": 20,"maxconn": 30}}'

read_input=json.loads(s)

add_ha(read_input)

fetch("www.oldboy.org")

lambda? 簡化函數

學習條件運算時,對于簡單的 if else 語句,可以使用三元運算來表示

#處理簡單函數

#自動return

#!/usr/bin/env python

#-*- coding:utf-8 -*-

# powered by xiaobing

def func1(arg):

return arg+1

result = func1(100)

print result

func2 = lambda a:a+1

result = func2(1000)

print result

map函數

l1=[1,2,3]

l2=[3,4,5]

l3=[4,5,6]

print map(lambda a1,a2,a3:a1+a2+a3,l1,l2,l3)

filter() 過濾只符合條件的數據

l4 = [1,44,55,22,11,33]

print filter(lambda a:a>33,l4)

reduce()? 對于序列內所有元素進行累計操作

l5 = [1,2,3,4,5,6,7,8,9,10]

print reduce(lambda a1,a2:a1+a2,l5)

map 所有元素操作

filter 過濾,獲取指定元素集合

reduce ,累計操作

yield

記住上一次操作,下次在執行時,繼續執行#!/usr/bin/env python

#-*- coding:utf-8 -*-

# powered by xiaobing

'''

def func1():

yield 1

yield 2

yield 3

for i in func1():

print i

'''

def mrange(arg):

seed = 0

while True:

seed = seed +1

if seed >10 :

return

else:

yield seed

for i in mrange(10):

print i

裝飾器:

裝飾器是函數,只不過該函數可以具有特殊的含義,裝飾器用來裝飾函數或類,使用裝飾器可以在函數執行前和執行后添加相應操作。

場景:如果一個python程序已經有500個函數了,但突然老板要求我們要增加登陸驗證,只有通過驗證的才能執行,而且不要用戶更改調用方式。

#!/usr/bin/env python

#-*- coding:utf-8 -*-

# powered by xiaobing

def wrapper(func):

if login("xiaobing"):

return func

else:

print '未認證'

def login(user):

if user == 'xiaobing':

return True

else:

print 'error name '

@wrapper

def home():

print 'home'

@wrapper

def shop():

print 'shop'

def over():

print 'over'

#home = wrapper(home)

home()

shop()

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的python之路day4_python之路day4的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。