Python2中文报错解决
加注释:
#coding=utf-8
基础语法:
if语句:
if 22<11:
print("go home")
else:
print ("xxxsfdds")
运算符
// 取商
% 取余数;
**几次方
格式化print输出:
name="lcy"
age=27
home="hushan"
print("name:%s,age:%d,home:%s"%(name,age,home))
for语句
name="luochunyou"
for temp in name:
print(temp)
print("--")
break语句:
count = 10
while count >0:
if count ==6:
break
print(count)
count=count-1
a=100 int类型;
type(a)
str(a) 转字符
len((str(a))) 转长度
name="abcde"
name[0]='a'
name[-1] ='e'
name[0:2]='ab'
name[0:-1]="abcd"
name[-1:0:-1]="edcb" -1步长反方向;
name[-1::-1]="edcba" 字符逆序;name[::-1]=“edcba”
列表(数组 ):
names=["aa","bb"]
names[0]="aa"
names=[1,2,3,"aa","bb"]
name[0]=1
names.append("uuu") 尾部添加uuu
names.insert(2,"position=2") 位置2插入;
names.extend(names2) 等于java中的names.addAll;
if "st22" in names: not in
print("find st22")
字典(map):
dsf={"age":22,"name":"lcy"}
dsf["name"]="lcy" 根据key取出;key不存在则报错;
dsf["add"]="add" 添加;
del dsf["add"] 删除key;
dsf.get('add') 根据key取出;key不存在不报错;
for 循环 while 循环遍历列表:
i=0
num =['1','2','3','4']
while i<4:
print(num[i])
i+=1
for a in num:
print('-'+a)
else: //
print('finish')
元组:tuple。不能修改;相当于可以增删查的列表;
num=(1,2,3,4)
a,b,c,d=num 拆分赋值;
print(a)
print(b)
遍历字典:
mapa={"age":18,"name":"lcy"}
for item in mapa.keys():
print("key="+item)
print(mapa.get(item))
for item in mapa.items():
print("key:%s,value:%s"%(item[0],item[1]))
for key1,value1 in mapa.items():
print("key:%s,value:%s"%(key1,value1))
定义函数:
def plus(a,b):
print("%d+%d=%d"%(a,b,(a+b)))
return a+b
a=int(input('input num1:'))
b=int(input('inout num2:'))
result=plus(a,b)
print('result=%s'%result)
不定长参数:
def test(a,b,*args,**kwargs):
print(a)
print(b)
print(args)
print(kwargs)
test(1,2,3,4,5,6,ww=5,ee=9,wq=90)
输出:
1
2
(3, 4, 5, 6)
{'wq': 90, 'ww': 5, 'ee': 9}
多出来的保存为元组,带key的保存为字典;
拆包:
传入带上*,**
分别用来显示传递元组和字典;
不可变类型:数字,字符串,元组;
其他为可变类型;不可以当key值。原因:根据哈希值取得value。key可以变就找不到了
递归:
def digui(a):
result=a
if a>1:
result=result*digui(a-1)
return result
bb=digui(5)
print(bb)
匿名函数:
function=lambda a,b:a+b
bb=function(12,32)
print(bb)
排序:
infos=[{"name":"lcy","age":24},{"name":"uux","age":32},{"name":"trwe","age":15}]
infos.sort(key=lambda x:x["name"])
print(infos)
infos.sort(key=lambda x:x["age"])
print(infos)
def plus(a,b,fun):
result=fun(a,b)
return result
wwww=plus(11,22,lambda a,b:a+b)
print(wwww) 输出33
动态语言的特性:输入个函数语句执行:
def plus(a,b,fun):
result=fun(a,b)
return result
inputfunc=eval(input('input a method:'))
print(plus(11,22,inputfunc))
-输入-lambda a,b:a+b+100
-输出-133