引入第三方变量的方式交换两个变量的值:
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过滤返回Faldef 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)