python学习笔记

li.li1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px ‘Hiragino Sans GB’} ul.ul1 {list-style-type: disc} ul.ul2 {list-style-type: circle} ul.ul3 {list-style-type: square}

  • python没有类c语言里用{}划分语句块的习惯,它用缩进来表示语句块
  • 语句后面可以不用; ,也可以有,看你的习惯,一般的py风格是不写
  • if、while、for的后面可以跟一个else,表示在上面的语句块结束后执行的玩意
  • 你也可以在后面什么都不写,因为直接缩进到上面一级语句块的效果是一样的
  • if:   elif:   else:   for:  while:   用 : 来表示条件语句的结束
  • ‘   ”   “”"  ”’  这都是表示一个字符串的开始,在字符串中间用 \’ 来转义
  • 而如果你要用到一个正则表达式,那么,请务必这样  r”\*****\”,否则,正则表达式中的\等符号会给你带来麻烦
  • for i in range(0,5): ,而不是for i = 0; i < 5; i++:
  • True != true,False != false,python中的True和False首字母要大写
  • 用def functionName():  定义函数
  • 用global定义全局变量,而用非global定义的变量总是运行在当前作用域中
  • 将 “string” * 5,将得到 stringstringstringstringstring
  • def func(argu1, argu2 = 8): 指定形式参数的默认值
  • 假如有如下定义def func(a, b=1, c):在调用函数时,可以:func(c=3, a=1) 这样的方式来指定参数的值,这被称为关键参数(以名称传值,而非位置)
  • DocStrings,文档字符串在函数语句块的第一个语句行开始,第二行为空,第三行的内容开始都是function.__doc__ 所引用的内容
  • .pyc为字节编译好的python文件,载入时,它不用再在解释器里解释一遍,所以比较快
  • 模块的__name__,当一个模块被它自己调用时,__name__总是为”__main__”,而在其他模块中引用是,__name__的值为被引用模块的文件名(不包括后缀)
  • 每个独立的 *.py 文件就是一个模块,在a模块中引用b模块后(import b.py),可以这样引用b模块中的函数:  b.func()
  • 用form…import导入的模块可以像在本模块中的函数一样的引用:如上例,就不用写b.func(),而只用:func()
  • 用import name as nickname,就可以用别名使用引入的类
  • 列表:a=[1,[2,3],4],元组:b=(1,2,3),列表有append等方法,而元组是不可变的(但元组中的某个元素可以是一个列表,这个列表是可变的)
  • 列表,元组,字符串,在python中都被称为序列
  • print “string %s string %d” %(string, number) 这样可以格式化输出元组内容
  • 字典不同于json,它不是propteryName : propteryValue这种形式,而是 key:value 的形式
  • 对于序列,可以取下标的方式得到其中的元素,如:lis[0:1]   list[:]   list[0:]  list[:8]
  • 跟js不一样的,数组没有join方法,而是字符串有一个join方法,它的参数是一个数组…. orz
  • class Person(name)    man = Person(‘bill’);  这样生成一个实例(没有new关键字)
  • 类的继承
    • class Father: …
    • class Son(Father):
      • def __init__(self):
      • Father.__init__(self)  #在子类中调用父类的__init__方法,并把self传进
  • 在python中,子类继承父类的时候,子类并不会自动调用父类的constructor,你得亲自调用它,比如,你要继承父类的tell方法,你得在子类中:def tell(self):  Father.tell(self)
    • 缺点:每次都要手动继承父类的方法,当父类的方法很多是尤其麻烦
    • 优点:可以方便的多态继承
    • ps:应该是python没有像java中的private作用域导致这样的继承方法吧
  • cPickle,储存与取储存,cPickle.dump(data,file) cPickle.load(file(filename))
  • try:…except errorCode:…except….finally:   ,捕捉错误…捕获特定错误…捕捉除前面没有捕获的所有的错误,最后处理
  • 列表综合
    • listone = [2,3,4]
    • listtwo = [2*i for i in listone if i > 2]  #遍历listone,把i>2的元素×2,加入到listtwo
  • 在函数中接受元组
    • def fun(a1, *args) #元组or数组    def fun(a1, **args)  #字典
  • lambda  类似于javascript中的 (function(){return function(){ }})(),但在lambda语句中只能使用表达式

    python学习笔记》有 3 条评论

    1. 徐州SEO 说:

      从百度搜索关键词来到贵博,希望以后经常互动交流!

      回复此留言>>

    发表评论

    电子邮件地址不会被公开。 必填项已用 * 标注

    *

    您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>