1. 程式人生 > >內置函數、函數即變量、json

內置函數、函數即變量、json

bsp 就是 升序 轉換成 inpu 類型 pre eve span

引入第三方變量的方式交換兩個變量的值:

a=1

b=2

c=0

c=a 把a的值給c,c=1

a=b 把a的值給b,b=1

b=c 把c的值給b,b=1

print(a,b),運行結果:a=2 b=1

交換兩個變量的值,只有python可以這樣寫

a=1

b=2

a,b=b,a交換變量的值

print(a,b) 運行結果 :a=2 b=1

不引入第三方變量的方式 交換兩個值

a=1
b=2
a=a+b #a3
b=a-b #b1
a=a-b #a2
print(a,b),#運行結果:a=2 b=1
內置函數:
len int type str dict等都是內置函數
a=bin(1) 十進制轉二進制,運行結果:0b1   存在b所以是字符串類型str
print(a.replce(‘0b‘,‘‘)) 用空格替換多余的字符 顯示為正確的二進制數值
print(chr(65))#打印數字對應的ascii       運行結果:A
print(ord(‘A‘))#打印字符串對應的ascii碼 運行結果:65
print(dir(1))#打印傳入對象的可調用方法 ,不看‘_xx_‘的
a=[]
print(dir(a))
同時循環兩個list,用zip,以個數最小的那個list取值
id=[1,2,3,0,4]
name=[‘aa‘,‘bb‘,‘cc‘,‘gg‘]
name1=[‘張三‘,‘李四‘]
for i,k,s in zip(id,name,name1):
print(i,k,s) 運行結果:1 aa 張三
2 bb 李四
print(sorted(id,reverse=True))#默認排序升序
print(sorted(‘422435435‘,reverse=True))

eval 執行python代碼,簡單的運算,定義數據類型和運算

a=‘1+1‘
print(eval(a)) 運行結果:2

復雜的代碼不能執行,如下所示
a=‘def func(a):pass‘
print(eval(a)) 運行報錯

exec執行復雜的代碼,某些自動執行代碼的網站用的就是exec
s=‘‘‘def a():print(‘sa‘)‘‘‘
exec(s) 運行復雜的代碼
a() 運行結果: sa
map和filter
map循環調用函數,把每次函數處理的結果,放到一個list
def a(s):
if s%2==0:
return s
else:
return ‘ok‘
xa=[x for x in range(11)]
res1=map(a,xa) 前一個值是函數名,後一個是循環的list 循環xa 調用函數a(xa循環的值)
print(list(res1)) 不寫list的話,打印的是一個map的對象
運行結果:[0,ok,2,ok,4,ok,6,ok,8,ok,10]
filter過濾返回Fal
def a(s) if s%2==0:
       return s  如果輸入0 返回值為0 ,非0即真,0的話是假 所以是False;return True 則判斷0是偶數 為真 也會返回到list--[0,2,4,6,8,10]
else:
return False
xa=[x for x in range(11)]
res1=filter(a,xa)
print(list(res1)) 運行結果:[2,4,6,8,10]

函數即變量
def say(name):
print(name)
lyj=say 把say這個函數定義給lyj這個變量lyj()等於say()
lyj(‘lyj‘) 調用函數 運行結果:lyj
----------------------------------------------------------------
def add():
print(‘增加商品‘)
def view():
print(‘查看商品‘)
def delete():
print(‘刪除商品‘)
choice=input(‘請輸入選擇:1,2,3,‘).stript()
zd={
‘1‘:add,
‘2‘:view,
‘3‘:delete}
zd[choice]() zd[chice]相當於定義的變量add,view,delete
------------------------------------------------------------------
處理json:通用的數據類型,json串就是字符串 寫進文件的都是字符串,讀取出來的也是字符串
import json
d={‘sa‘:‘ad‘,
‘asd‘:‘dasdas‘}
res=json.dumps(d,indent=4,ensure_ascii=False) 把字典、list轉成json串,indent多少縮進,ensure_ascii可以顯示中文
f=open(‘sa‘,‘w‘,encoding=‘utf-8‘)
f.write(res)
f.close()

--------------------------------------------------------------------------
把json串轉換成list 或者字典 用loads 如果json是list樣式,則轉成list類型 ,若是字典樣式,則轉成字典類型
f=open(‘sa‘,‘r‘,encoding=‘utf-8‘)
r=f.read()
dict_r=json.loads(r)
print(type(dict_r)) 類型是字典
------------------------------------------------------------------------------
針對文件操作,dump 寫入文件
f=open(‘sa‘,‘w‘,encoding=‘utf-8‘)
json.dump(d,f,ensure_ascii=False,indent=4)
load 讀文件
f=open(‘sa‘,‘r‘,encoding=‘utf-8‘)
json.load(f)

 



內置函數、函數即變量、json