zoukankan      html  css  js  c++  java
  • Python简明教程---学习笔记

      • 字符双引号括起,数字不括;
      • 分隔符为逗号(,),不能为空格
      • 变量定义时即赋值
      • 采用utf-8编码:#-*-coding:utf-8-*-或者#coding:utf-8
      • 字符串定义:单/双引号括起
      • %符号用来格式化字符串,"%s"表示用字符串替换,"%d"表示整数替换,"%r"表示不管什么都打印出来
      • 三引号可以指示一个多行字符串,其内可自由使用单双引号
      • 转义符为反斜杠(),注:行末反斜杠表示字符串在下一行继续不中断
      • 字符串加前缀r或R表示字符串为自然字符串,其中字符不需要特别处理,使用自然字符串处理正则表达式
      • if...elif...elif...elsewhile循环首先定义一个真值,while真值为True时执行循环,中途结束将真值置为False,while循环中可以使用一个else从句;for...in循环,for循环中迭代参数(个人常用的是“i”)不用定义;
        break终止语句:break以下的均不会被执行;
        continue语句表示跳过当前块剩余语句,执行下次循环;
      • raw_input():标准输入函数;range()返回一个序列的数,两个参数时表示从第一个到第二个(包含第一个数不包含第二个),三个参数时第三个参数表示步长
      • 函数定义:
        def 函数名(参数..):
        使用global声明全局变量
        函数中参数可定义默认值,有默认值的参数必须位于无默认值参数的后面
      • return语句可跳出函数,也可以返回值
      • pass语句不做任何事情,一般用做占位语句;
      • 文档字符串:'''   ''',首行大写字母开始,句号结尾,第二行空白,第三行详细描述;可使用__doc__调用(两边分别双下划线)
      • 模块:以.py为后缀命名
        __name__属性:通过判断__name__属性是否为__main__判断模块执行者
        模块调用import 模块名;模块对象调用:模块名.对象名
        每一个.py的python程序也即一个模块,可被同一目录下的其他程序调用
      • dir()函数:列出模块定义的标识符,包括:函数、类和变量
        当你为dir()提供一个模块名的时候,它返回模块定义的名称列表;
        如果不提供参数,它返回当前模块中 定义的名称列表。
      • 数据结构(序列):列表(list)、元组、数据

        列表(list):内容可变:x=['apple','banana']
        sort()方法用于数组排序【如列表x排序:x.sort(),sorted获取已排序副本【如获取列表x的副本y:y=sorted(x)
        append()方法:在列表尾添加一个项目【如在x列表尾添加一个项目rice:x.append('rice')
        del方法:删除【如删除x列表第一项:del x[0]
        pop()方法:从列表中移除并返回元素对象
        insert()方法:将指定对象插入列表【如在x列表开始添加一个项目A:x.insert(0,'A')
        列表打印默认一项一换行,可在print语句末端添加逗号(,)替换换行符

        元组(tuple):内容不可变,通常用于打印语句:zoo=('wolf','elephant')
        只包含一个项目的元组需要在项目后面加一个逗号,用于和一个带圆括号的对象区分开来
        元组可结合%号用于打印;

        字典(dict):键<--->值,键不可变,值可变:dict={key1:value1,key2:value2}
        item方法可用于抓取字典中的键值
      • 序列:索引操作符(抓取一个特定项目,也叫下标操作)和切片操作符(抓取一部分序列,即一个切片)
        赋值语句不创建拷贝,只是创建一个参考(mylist=shoplist),相当于一个快捷方式,一改俱改;
        若要实现复制列表或者序列或者复杂的对象,必须使用切片操作来取得拷贝(mylist=shoplist[:]),修改时互不影响;
      • 字符串方法:
        str.startswith('xx')'xx' in strstr.find('xx')

        fengefu='---'
        fengefu.join(str)
      • 类和对象:
        类/对象的方法:与普通函数只有一个区别:他们必须有一个额外的第一个参数名称self,这个特别的变量指的是对象本身。
        __init__方法可用于初始化对象
        类的变量:由类的所有对象共享,一变俱变
        对象的变量:由类的每个对象/实例拥有,互不影响
      • 继承:
        超类---继承----子类;
        类继承:子类定义时超类作为元组跟在后面;类中函数继承:超类名.函数名(self,变量1,变量x)
        引用:类名.函数名.变量名(由大到小)
      • 文件类(file)
        指明打开的文件和模式:f=file('file.txt','w'),模式有写('w'),读('r')<----为默认打开方式,追加('a')等其他模式;
        write()方法f.write('xxx'),写入;close()方法:f.close(),使用完后关闭;
        readline()方法用以读取包括行尾换行符在内的一整行,所以如果读到的结果为空,说明到文件尾了;
        print ''以逗号“,”结尾:消除自动换行
      • 存储器:pickle模块(cpickle),可用于存储并取出任何python对象
        cpickle.dump(list,f):将list列表中内容存储到文件f中;
        stored=cpickle.load(f):将f中内容取出到stored中
      • 异常:
        try...except语句用于处理异常,try-块中放正常的语句,except-块中放错误处理语句
        raise语句可以用来引发异常,放在try-块中;
        try...finally语句用于无论异常发生与否都处理finally块中的语句,比如说关闭操作(close())
      • sys.argv:返回命令行参数,sys.argv[0]表示代码本身文件路径,所以参数从一开始
        argv[1][2:]表示取第一个命令行参数,但是去掉两个字节,比如命令行参数为“--help”,就去掉--,执行help参数
      • OS模块:
        os.name:使用的系统平台;os.getcwd():得到当前工作目录;os.getenv()os.putenv():读取和设置环境变量;os.listdir():返回指定目录下的所有文件和目录名;os.remove():删除一个文件;os.system():运行shell命令;os.linesep:字符串给出当前平台的行终止符;os.path.split():返回一个路径的目录名和文件名;os.path.isfile()os.path.isdir():校验给出的路径是文件还是目录;os.path.existe():检验给出的路径是否存在;
      • 使用*和**前缀接收元组和列表,前者将多余的函数参数作为一个元组存储在*参数后,在后者中多余的参数会被认为是一个字典的键/值对。
      • lambda形式:lambda语句(return lambda s:表达式)被用来创建新的函数对象,并在运行时返回它们(lambda需要一个参数,后面仅跟单个表达式作为函数体,而表达式的值被这个新建的函数返回,注!:lambda只能使用表达式,即便是print语句也不能在lambda形式中)
      • exec语句:用来执行存储在字符串或文件中的python语句,如:exec 'print "Hello World!"'---执行输出Hello World!语句;
      • eval语句:用来计算存储在字符串中的有效python表达式,如:eval('2*3')---计算2*3的值;
      • assert语句:用来声明某个条件语句是真的,如:assert 条件语句---判断条件语句是否为真,真值时不返回信息,条件语句为假时assert语句失败,会引发一个AssertionError错误。
      • repr函数:用来取得对象的规范字符串表示,如:repr(i)---返回列表i的规范字符串表示(反引号,也称转换符``可以完成相同的功能,如:`i`
  • 相关阅读:
    TDSSNIClient initialization failed with error 0x7e, status code 0x60.
    SourceSafe Outof Memory
    机器学习(Part I)机器学习的种类
    机器学习PartIII:测试算法和NFL定理
    Google架构学习
    MediaWiki安装问题总结
    [转]IT项目管理实务
    几本关于统计学习的书
    Googlebot开始检索网站深层内容
    中文搜索引擎技术之网页排序
  • 原文地址:https://www.cnblogs.com/wangshi-work/p/4811324.html
Copyright © 2011-2022 走看看