因为看实习很多要求要会一门脚本语言,所以来简单学一下python2.7的基本用法吧,下面当成一点笔记。
python的输入方式有raw_input跟input,这两种区别为:
当输入为纯数字时:input返回的是数值类型,如int,floatraw_inpout返回的是字符串类型,string类型
输入字符串为表达式i时:nput会计算在字符串中的数字表达式,而raw_input不会。如输入“57 + 3”:input会得到整数60raw_input会得到字符串”57 + 3”
r''中的字符串默认不转义
‘’‘内容’‘'可以表示多行内容,即回车换行有效,而不需要用\n
这里顺便补下编码知识:
ASC||码是一个字节,但是一个字节不够中文用,所以中国用GBK2312,但是编码方式太多了,所以用两个字节Unicode,因为它把所有语言统一到一套编码中;在ASC||前面补零就可以得到Unicode;但是Unicode太长了,不方便存储跟传输,所以用可变长度编码UTF-8,它把Unicode根据不同数字大小编码成1-6个字节,英文1个字节,中文通常3个字节,极其偏僻的才是4-6字节,因此如果包含大小英文,用utf-8就能节省空间
%运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略;转义,用%%来表示一个%
list是一种有序的集合,可以随时添加和删除其中的元素。用[]进行初始化,例如a=[1,'2',True],索引可以倒序,例如-1就是倒数第一个,-2就是第二个,有insert,append,pop等常用方法
tuple,元组,类似于数组,用()初始化,一旦初始化就不能修改,所以定义时元素就要确定下来
dict,相当于map
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
set,key的集合,不保留重复的
函数参数:* 可变参数,**关键字参数
尾递归是指,在函数返回的时候,调用自身本身,并且,return语句不能包含表达式。这样,编译器或者解释器就可以把尾递归做优化,使递归本身无论调用多少次,都只占用一个栈帧,不会出现栈溢出的情况。
函数名是一个变量,可以指向其他变量,也可以赋值给其他变量
map(f,序列) 它的作用是将f函数应用到整个序列中的每个元素,然后得到一个序列
reduce(f,序列) 它的作用是把结果继续和序列的下一个元素做累积计算
reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
filter()用于过滤序列
当我们在命令行运行hello模块文件时,Python解释器把一个特殊变量__name__置为__main__,而如果在其他地方导入该hello模块时,if判断将失败,因此,这种if测试可以让一个模块通过命令行运行时执行一些额外的代码,最常见的就是运行测试。
在python交互环境下不会将特殊变量__name__置为__main__
python 同样有类,关键字为class
io打开文件时用with语句可以保证最后会自动调用close()
tqdm 是Python进度条,需要封一个迭代器 tqdm(iterator),然后就会自动打印