python属于运行与服务端的编程语言:
了解一门语言先了解其:
数据类型:
python中,数据类型可分为: Numbers(int float double) str bool dict tuple set list
对比javascript的数据类型;
Number string boolean Object Function Null undefined
很明显,python对 数分的更细;js中只有数,整数小数都是数; bool类型是一致的但取反却不一致 python 中 Not ; js中用 !;
dict与json对象(其实与map对应更合适:)对应: set对应es6中的set ;set其实用list生成的; a=([1,2,3,4]);
list与数组对应;
条件判断:
if xxx: elif:xxx else:xxx;
循环:
for in 和 wihle ; python中并没有单纯的for循环;
函数定义:
def my_abs(x): if x >= 0: return x else: return -x
来点小坑:
判断一个对象是否为字符串:
本来在js中就非常简单: typeof obj=="string";
而在py中:
St1=" ___000000000000 "; ssss=123; dc=str(type(St1)); print(dc[8:-2]); print(dc[8:-2]=="str"); print(print(type(St1)));
于是我很好奇:为什么还要转一下: type(str1)这个竟然不是字符串:
后来发现其实也是有自带函数的:
def str_(string): #第一步,判读是否是字符串 if isinstance(string, str): print("传入的是字符串"); return; else: print("对象不是一个字符串"); return; str_(St1);
初学难免有问题发现:
来个疑惑点:
a1=0; def cc(): print(a1); #没问题; if a1==0: print("a1等于0"); cc(); arr_list1=[1,2,3,4,56,9,2]; zhi=0;#位置; re=0;#结果; def add_arr(obj): global zhi; global re; if zhi==len(obj): return re; else: re+=obj[zhi]; zhi+=1; add_arr(obj); vv11=add_arr(arr_list1); #print("数组的和是:%d"%vv); print(vv11); #None print("数组求和的结果是:%d"%re);
cc函数证明了,python中确实存在作用域链:
那么第二个函数中,global就没有必要了,因为可以访问到外面的变量;但是去掉又会报错;记录在此,以后解决;