MrZigZag

DON'T PANIC!


  • 首页

  • 分类

  • 标签

  • 归档

  • 关于

Python学习笔记8

发表于 2016-04-07   |   分类于 学习笔记   |  

Python学习笔记–8.I/O

2015-07-21

MrZigZag @ Peking University

1.文件

Python内置读写文件的函数,用法与C类似。读写文件一般都是请求操作系统打开一个文件对象,然后通过操作系统的借口从这个文件对象读写数据。

读文件,使用内置的open()函数,传入文件名和读写标识符。

f = open('file_name', 'r')

调用read()方法可以一次性读取全部内容存放到一个str中,最后调用close()关闭文件。文件使用完毕之后必须关闭。每次都写close()并不方便,Python提供了with语句自动调用close()。

with open('file_name', 'r') as f:
    str = f.read()
阅读全文 »

Python学习笔记7

发表于 2016-04-07   |   分类于 学习笔记   |  

Python学习笔记–7.Exceptions and debugging

MrZigZag @ Peking Universty

2015-07-20


1.异常处理

高级语言一般面对异常都会内置一套try-catch-finally机制。Python相应的机制是try-except-finally。

当我们认为某些代码可能会出错时,可以用try块来运行这段代码,运行出错时会立即跳转到except块,执行完之后跳出,如果有finally块则执行,否则中断程序。

错误有许多种,例如ValueError、ZeroDivisionError等,面对不同的错误应该由不同的except块来处理。Python的错误都是类,继承自BaseException,因此使用catch块时应注意范围,基类应该放在后面,否则会出现后面的错误被前面的处理这种情况。(反正这个在Java会报错,Python应该不会。)

如果没用try-except-finally机制,则出现错误时会根据堆栈逐步上传,直到__main__。

阅读全文 »

Python学习笔记6

发表于 2016-04-07   |   分类于 学习笔记   |  

Python学习笔记—6正则表达式

MrZigZag @ Peking University

2015-07-18


1.正则表达式

正则表达式使用一种描述性的语言给字符串定义一个规则,只有符合规则的字符串才能认为是匹配,否则该字符串就是不合法的。

2.精确匹配

如果直接给出字符就是精确匹配。用\d可以匹配一个数字,\w匹配一个字母或者一个数字。.可以匹配任意字符,\s匹配一个空格或者Tab等空白符。

  • 12\d可以匹配123
  • \w\w\w可以匹配www也可以匹配py3
  • py.可以匹配py3,pyx等。
    阅读全文 »

Python学习笔记5

发表于 2016-04-07   |   分类于 学习笔记   |  

Python学习笔记–5.面向对象编程

MrZigZag @ Peking University

2015-07-17


1.定义

通过class关键字定义类,父类(object)。

class MyClass(object):
    pass

没有合适的继承类时可以使用object类,这是所有的类都会继承的类。

自由绑定,Python是动态语言,可以在运行过程中实时地给实例instance绑定新的属性,同时还可以绑定新的方法。

>>> ins1 = MyClass()
>>> ins1.name = 'Test'

def set_age(self, age):
    self.age = age
from types inport MethodType
s = Student()
s.set_age = MethodType(set_age, s, Student)
阅读全文 »

Python学习笔记4

发表于 2016-04-07   |   分类于 学习笔记   |  

Python学习笔记–4.模块

MrZigZag@Peking University

2015-07-15

1.模块

类似于Java中的Package,Python提供模块module来将相关的代码打包。编写程序的时候可以使用内置模块,也可以使用第三方模块。

模块可以用于避免函数名冲突等问题,但是模块中尽量不要使用Python内置函数的函数名。

避免模块名相同,提供了按照目录来组织模块的方法,称为包package,每个包都要有一个__init__.py文件,表示这是一个package,可以空。因为__init__.py本身就是一个模块,就表示包名。

包可以嵌套,组成多级多层次的包结构。

>MyPackage
    >Web
        __init__.py
        http.py
    __init__.py
    pytest.py
    http.py
阅读全文 »

Python学习笔记3

发表于 2016-04-07   |   分类于 学习笔记   |  

Python学习笔记–3.函数式编程

MrZigZag@Peking University

2015-07-12

1.函数式编程

抽象层次比较高,允许把函数本身作为参数传入另一个函数,还允许返回一个函数。

Python对函数式编程提供部分支持。

2.高阶函数

将简单的函数作为参数传入高阶函数。

def add(x, y, f):
    return f(x) + f(y)

>>> add(-5, 6, abs)
11
阅读全文 »

Python学习笔记2

发表于 2016-04-07   |   分类于 学习笔记   |  

Python学习笔记–2.函数和高级特性

MrZigZag@Peking University

2015-07-12

1.函数

数据类型转换函数,int(), float(), str(), unicode(), bool()。

函数名实际上就是函数对象的引用,因此可以给函数复制给一个变量然后通过这个变量调用。相当于给函数起了个别名。

>>> a = abs
>>> a(-1)
1

自定义函数def,作为占位符可以用pass。

1
2
3
4
5
6
7
def my_abs(x):
if x >= 0:
return x
else:
return -x
def my_abs2(x):
pass

阅读全文 »
123
李松江

李松江

So long and thanks for all the fish.

16 日志
4 分类
6 标签
RSS
知乎 GitHub 微博 LabProfile
© 2016 李松江
由 Hexo 强力驱动
主题 - NexT.Pisces