0,执行python python hello.py 或者 ( #!/usr/bin/env python //在要执行的文件最前面加上,这样可以省去写python # -*- coding: utf-8 -*- //不写这个输出的中文可能出现乱码 ) chmod a+x hello.py //给执行的权限 ./hello.py //直接执行不需要在前面加python 1,变量 跟js一样 2,运算符 整数和整数进行运算时只能取整,例如: 3/2 = 1 如果想保留小数那么就: 3.0/2=1.5 3.0//2=1 平方 3**2=9 3,类型(python可以根据值来定义类型) 整数int -2,147,483,648到2,147,483,647 例如:num=123123 //默认int,如果长度超过int,类型就会自动变为long类型 浮点数float 例如:num=1.0 字符串,例如 str='abcde' 布尔类型 True False (在进行条件判断时,首字母一定要大写) 字符串的属性和方法 str='abcde' [] //获取字符串指定内容 len() //返回长度 + //拼接 * //重复几次 in //判断是否在字符串中,返回布尔值 max() //返回最大值 min() cmp() //字符串之间比较,返回值有1,-1,0 注意:当我们声明一个变量str='123'即使改变了值为str='111',其实也是重新开辟了一个人内存空间,也就是说 我们并没有修改之前的值,只是另外开启了一个新的内存空间。 4,元组(类似数组) t=() //空元组 t1=(1,) //只有一个元素的元组,必须加逗号 t2=('aa',123) //一般元组 t2[0] //获取元组第一个元素 a,b=('aa',123) //将元组内容对应声明给一个变量 元组一旦创建了就不能修改,否则报错 5,列表 (类似数组) t1=[1] //只有一个元素的元组 t1[0] //获取列表第一个元素 t1.append('hello') //在末尾添加一个元素为hello t1.remove('hello') //删除指定内容 del(t1[0]) //删除t1第一个元素 列表里面的元素是可以修改的。 6,字典 (类似对象) obj={'name':'chen'} obj['name'] //取值 obj['name']='ge' //修改 obj['age']=11 //添加额外索引值(不一定添加到末尾) del(obj['name']) //删除指定索引 obj.pop('name') //删除指定索引,返回删除的值 obj.clear() //删除obj里面所有内容 字典(既是对象)有自己的方法: //清除字典所有内容 obj.clear() //取值,如果值不存在返回自定义的内容 obj.get(5,'自定义内容') //返回字典的全部索引值,以列表类型返回 obj.keys() //返回字典所有值,以列表类型返回 obj.values() 7,语法 *python的语法没有花括号{}来区分代码块,所以用缩进的形式进行区分。类似jade模板一样。 连接符号是+ 8,逻辑运算符 and or not 类似js的 && || ! 9,条件语句 if else if True: print 1 else: print 2 if 1==1: elif 2==2: else: 10,遍历 for x in "abcd": print x+"1" //循环4次 for x in [0,1,2,3]: print x+"1" //循环4次 range(5) //[0,1,2,3,4] range(1,6) //[1,2,3,4,5] range(1,6,2)//[1,3,5] for x in range(100): print x+"1" //循环100次 (类似js的for(){}语法) x=0 while x<10: print "1" x+=1 11,函数 def run(a,b): c=a+b print c run(1,1) 12,作用域(跟js的理解一样,重点是如何让一个局部变量变为全局变量) //声明 def run(): global x x=123 //调用 run() 13,匿名函数lambda,(作用是让函数变的简单,类似于js的三元表达式是if else的简写) g=lambda x:1+x print g(3) // 4 相当于 def g(x): return x+1 print g(3) // 4 14,python自带函数,(有很多,这里我们推荐常用的) http://www.jb51.net/article/60896.htm 15,模块 //被调用包 a.py def g(x): return x+1 if __name__=='__main__': print 'ziji' //a.py调用自己时触发 elif __name__=='a': print 'zhiyou_a' //只有引入a.py时被触发 //调用包 b.py import a print a.g(3) 如果希望被指定的包调用那么就利用__name__做判断 16,包,多个模块存放在一个文件夹下就组成一个包 在一个文件夹根目录下创建一个名字为__init__.py 1,在一个文件夹名为bao下创建一个文件名为__init__.py的文件 2,在bao文件夹下创建一个a.py内容是 def g(x): return x+1 3,调用包里面的a.py里面的g函数 import bao.a //包名就是文件夹名 print bao.a.go(2) 关于导入包的方式: 1,import 包/模块 2, import 包/模块 as 自定义名 3, from 包/模块 import 模块/函数名 (推荐使用) 17,正则 18,本地文件读、写操作 r 只读 r+ 读写,相当于追加内容。注意,必须打开文件后在读取内容后在写入,这样才是追加效果。如果打开后就直接写入就是覆盖原来内容效果了。 w 写入,先删除文件后写入,如果没文件就创建 (会删除文件慎用) w+ 读写,先删除文件后写入,如果没文件就创建(会删除文件慎用) fo=open('/root/1.txt','r+') //打开文件 fo.read() //查看内容 fo.write("/n hahahah") //追加内容 fo.close() //看完后关闭