#数据类型:5种标准数据类型
-
1:数字 1, 2
-
2:字符串 string = "helloword" string[0:2] 等价于substring(0,2);
-
3:list lista = [1,"aa",1.25] lista[0]
-
4:set seta = {1,"bb",2} seta[0]
-
5:字典
dict = {"username":"liufu","age":"24"} dict["addr"] = "广东" dict["school"] = "华广"
条件语句 if elif else
if True: print "i am liufunan"elif False: print "i am jiangshuizhen"else: print "ddd"
for循环语句
for key in mymap.keys(): print key + " is : " + mymap.get(key)
while循环语句
a = 0while a < 10: a += 1 print aa = 0while a in range(0,20): a += 1 print a
函数的基本定义和使用
def myfunTest(line): myname = line[0:5] myage = line[5:] print "my name is: " + myname + " my age is: " + myage return "secuss"myfunTest("liufu24")
================================================ #函数可以接受多个参数值,相同于Java的objects ....。 #注意:*values不能够放在第一个参数,第一个必须是正常参数
def myfunction(key, *values): for value in values: print key + " " + value return "secuss"myfunction("tcp" , "socket","inputstream","bytebuffer","ack")
================================================ #这句话相当于Java中的main方法,所有逻辑都可以在这里调用 if name == 'main': t1 = threading.Thread(target=listingMusic("真心爱你")) t1.start()
#模块的定义和导入 #有下面两种方式 import module1 import module2 import module3
import module1,module2,module3
from module import name1,name2,name3from module import name1,name2,name3
#使用自定义的名称替换模块的原始名称 import simplejson as json
#1.8.Python文件IO
1.8.1 文件读写(当文件不存在时,就会创建)
file_handler = open('/root/a.txt', 'a+') file_handler = file('/root/a.txt', 'a+')
open mode
w以写方式打开文件,可向文件写入信息。如文件存在,则清空该文件,再写入新内容 a以追加模式打开文件(即一打开文件,文件指针自动移到文件末尾),如果文件不存在则创建 r+以读写方式打开文件,可对文件进行读和写操作。 w+消除文件内容,然后以读写方式打开文件。 a+以读写方式打开文件,并把文件指针移到文件尾。 b以二进制模式打开文件,而不是以文本模式。该模式只对Windows或Dos有效,类Unix的文件是用二进制模式进行操作的。 上面这两种文件的打开方式,操作文件的方法名字是一模一样的,用那个都可以。
文件的操作方法
f.close()关闭文件,记住用open()打开文件后一定要记得关闭它,否则会占用系统的可打开文件句柄数。 f.flush()刷新输出缓存 f.isatty()如果文件是一个交互终端,则返回True,否则返回False。 f.read(1024)读取1024个字节,返回一个字节数组byte[]。使用:Bt = f.read(1024) f.readline()读出一行信息。 f.readlines()读出所有行,也就是读出整个文件的信息。 f.seek(offset[,where])把文件指针移动到相对于where的offset位置。where为0表示文件开始处,这是默认值 ;1表示当前位置;2表示文件结尾。 f.tell()获得文件指针位置。 f.truncate([size])截取文件,使文件的大小为size。 f.write(string)把string字符串写入文件。 f.writelines(list)把list中的字符串一行一行地写入文件,是连续写入文件,没有换行。
1.8.2 文件夹的操作
Python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。
import osimport shutil得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()返回指定目录下的所有文件和目录名:os.listdir()删除一个文件:os.remove()删除多个目录(只能删除空目录):os.removedirs(r”c:\python”)检验给出的路径是否是一个文件:os.path.isfile()检验给出的路径是否是一个目录:os.path.isdir()判断是否是绝对路径:os.path.isabs()检验给出的路径是否存在:os.path.exists()返回一个路径的目录名和文件名:os.path.split() Eg: os.path.split('/home/swaroop/byte/code/poem.txt')结果:('/home/swaroop/byte/code', 'poem.txt') 分离扩展名:os.path.splitext()获取路径名:os.path.dirname()获取文件名:os.path.basename()运行shell命令: os.system()读取和设置环境变量:os.getenv() 与os.putenv()给出当前平台使用的行终止符:os.linesep Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'指示你正在使用的平台:os.name 对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'重命名:os.rename(old, new)创建多级目录:os.makedirs(r“c:\python\test”)创建单个目录:os.mkdir(“test”)获取文件属性:os.stat(file)修改文件权限与时间戳:os.chmod(file)终止当前进程:os.exit()获取文件大小:os.path.getsize(filename)
- 1.9 Python多线程
Python中的多线程是伪线程;不能充分利用cpu中的多核,但是在io等待型的场景下多线程还是可以提高效率 Python中的多线程有多种实现方式,利用threading包实现是比较普遍的做法
示例代码如下:
import threadingfrom time import ctime,sleepdef music(func): for i in range(2): print("i was listening to %s. %s" %(func,ctime())) sleep(1) def movie(func): for i in range(2): print("i was at the %s! %s" %(func,ctime())) sleep(5) threads=[]#创建线程,指定线程执行的方法和参数即可。t1=threading.Thread(target=music,args=(‘爱情买卖’))threads.append(t1)t2=threading.Thread(target=movie,args=(‘阿凡达’))threads.append(t2)# if __name__ == '__main__' :for t in threads: # t.setDaemon(True)#线程启动 t.start()# t.join()print("all over %s" %ctime())
python的类结构
#coding=utf-8class person: username = '' age = '' addr = '' #就算init构造方法重构了,但是那个默认的无参的还是可以被调用, # 所以不需要像Java那样需要重新写一下那个无参构造方法 def __init__(self, *msg): self.username = msg[0] self.age = msg[1] self.addr = msg[2] def display(self): print self.username + " " + self.age + " " + self.addr#继承一个类的写法class son1(person): def __init__(self,*msg): #调用父类的构造方法来实例化父类,注意:一定要把参数才开后再传过去否则无法传。 # person.__init__(self,msg[0],msg[1],msg[2]) self.gender = msg[3] #方法覆盖 def display(self): print self.username + " " + self.age + " " + self.addr + " " + self.genderif __name__ == "__main__": myobject = son1("liufu","23","广东","男") print myobject.addr myobject.display()