闲得没事干 又没心思深入研究其他东西 找了个折中的办法 看点新玩意儿 事实证明还是成功的 这次是Python 看的是http://sebug.net/paper/python/index.html 《简明Python教程》 只当扩充眼界 说实话 你让我Python搞个实际可用的东西 我依旧无能为力 悲催吧
简单把笔记整理一下 跟我认知中相同的部分都略过了
* Python中 字符串 '...' "..."是一样的 '''...''' """..."""这样的三引号代表多行字符串
* 自然字符串用 r"...\n" 这样\n不会被转义
* Unicode字符串 u"..."
* 在行末加入\ 表示下行继续
* 通过raw_input()获取输入
* 注释语句用#
* Python中的if语句 if-elif-else
* Python中的while语句 while...else(可选)..
* Python中的for语句 for...in.. 注意Python没有for(;;) for in类似于foreach/for(i:I)这样的形式
扩展for i in range(1,5) ----[1,2,3,4]
* 以上程序块不是通过{} 而是通过缩进 在判断语句后跟的是:即
if(...):
...
while(...):
...
else:
... 这样的形式
* break终止循环 不会执行可选else中的内容
* 函数定义 def function():
* 代参数的 def function(a,b=5); #这个还带默认参数 默认参数必须在参数表最后 (a=5,b)这样是错误的
* 全局变量 global x (否则内部变量都会被作为私有变量处理)
一个函数定义例子:
def f(a,b=5,c=10)
f(3,7) ---> a=3,b=5,c=10
f(25,c=24) ---> a=25,b=5,c=24
f(c=20,a=100) ---> a=100,b=5,c=20
* retun None(None就是常见的null)
* 关于DocString 文档字符串
def a():
'''A........
........
.......。'''
....
文档字符串是一个多行字符串(三引号)
大写开始,句号结尾
第二行为空行
第三行开始是描述介绍
当调用print a.__doc__时 会被打印出来
* 使用sys模块
import sys 或者 from sys import *(感觉类似java中引用package包)
* 自己定义模块 mymodule.py (其实就是使用其他py)
def sayhi():
...
version='0.1'
使用
import mymodule
mymodule.sayhi()
print mymodule.version
* 数据结构部分
* 列表list
用[]包含 [a,b,c] 有append del len(list) sort等方法
* 元组
用()包含 (a,b,c) 空元组a为 a() 特别注意 元组 b 要写成 b(1,) 最后个逗号必须
* 列表和元组的区别 列表是可变的 元组是固定的
* 元组的打印方法
print "&s is &d years old" % (name,age)
(好吧 这个不是类似于C了么)
* 数据字典
ab={a:1,
b:2,
c:3}
取值方法 ab["a"]
* 数据词典打印
for name,address in ab.items():
print "&s at &s" % (name,address)
* 另一种打印
if "aaa" in ab: #检查是否存在
print ab["aaa"]
* 序列 序列下标从0开始 0,1,2,3......
下标支持负数 0,1,2........-3,-2,-1(最后一个为-1)
* 序列切片操作 str[1:3] 1-3(这是下标 截取了1,2两个元素 末尾元素不在其中)
其他一些切片str[:-1] str[1:] str[:]
* 切片操作是copy了一个新的对象(不是赋值 赋值是产生一个参考,仍然指向同一个元素) (好吧 又来搞这个问题了)
* Python中一切都是对象 一个整数也是一个对象
* self参数 表示自己 定义函数时其实都有一个self 比如count(self) 当定义参数列表 最好第一个为self 之后为自己的 而无参也最好写个self
self类比下类似于this
* 初始化方法
def __init__(self) 当类对象建立时会被执行
同样可以类比构造函数
* 同理还有__del__(self..) (析构)等方法
* _aaa 表示这是一个私有变量(默认规则 当做命名规则吧 不是系统认定)
* __aaa 声明一个私有变量 这个是系统认定的 不做声明时都是共有public的
* 继承
class Super
class Chile(Super) 注意(...)其实是一个元组 也就是 可以多重继承 class a(b,c,d)
* 输入输出 raw_input / print
* 文件
f = file("urlPath",'w') #'w'是模式 常用的有'r'读(默认),'w'写,'a'追加
f.write(...)
f.close()
f.readline() 都是常用方法
* 存储器pickle 有一个cPickle 是用c写的 速度上更快
这是一个持久化对象 使用方法:
import cPickle as p
shoplist=['apple','mango','banana']
f=file(shoplist,'w')
p.dump(shoplist,f) #存操作
store=p.load(f) #取操作
* Python中的异常处理
try:
...
except EOFError:
...
except:
...
finally:
...
else:
...
其实是一样的
* 抛出异常 raise xxxExeption() (等同于java的throw)
后面的部分就是系统模块的东西 基本就是个list
* 命令行参数 sys.argv 该列表中至少包含一个项目,即当前运行程序的名称,作为sys.argv[0]
* os模块
os.sep 路径分割符(根据系统各不相同 如linux是'/' windows是'\\')
os.name 平台名称 windows--nt linux--posix
os.getcwd 当前目录(Python脚本工作目录)
os.getEnv os.putEnv 环境变量
os.listdir 返回所有目录和文件
os.remove 删文件
os.sytem 运行shell
os.linesep 终止符 windows--'\r\n' linux--'\n' mac--'\r'
os.isfile os.isdir 是否为文件/目录
os.path.split 返回目录名和文件名 例如 c:\\abc\bc\abc.txt 返回c:\\abc\bc 和 abc.txt
* Python中的更多内容
* 特殊方法
比如 __init__ , __del__
还有 __getitem__() 使用x[key]索引操作
__str__() 即toString
__lt__(self,other) 小于操作 compare?
__len__(self) 序列对象内置的len方法
* 列表综合
得到一个新的列表 包含原列表中所有大于2的元素 将其乘2后存储
listone=[2,3,4]
listtwo=[2*i for i in listone if i>2]
最终得到listtwo是[6,8]
* 函数中接收元组,列表(作参数)
def(a,*b)
其中*b就是一个元组 所有多余的参数都被认为是元组b中的元素
def(a,**b)
**b表示字典 所有多余参数被认为是key/value 放在b中
* lambda形式
用于创建新的函数对象,并在运行时返回他们
def make_repeater(n):
return lambda s:s*n #跟一个表达式 并且只能跟表达式
twice = make_repeater(2)
print twice('word')
print twice(5)
打印结果是 wordword和10
lambda表达式不懂 求科普
* exec和eval
吐槽:js中听过这两个强大的东西
exec 执行存储在字符串或文件中的Python语言
exec 'print "aaa"' 输出 aaa
eval 计算存储在字符串中的有效表达式
eval ('2*3') 输出 6
* assert 用于声明某个条件是真的
当assert失败,引发一个AssertionError
assert也不是非常了解 求科普
* repr 取得对象的规范字符串表示 比如取得打印时的样子
反引号也有同样的作用`i`
一般的 有eval(repr(object))==object
同样这里的结果可以通过__repr__设置
附件是笔记 用notepad++写的 为了有语法高亮着色 保存成py文件了 txt一样看
分享到:
相关推荐
简明Python教程.pdf
简明python教程,python基础内容,基本编程方法
简明 Python 教程 Python3 适合新手
Python初学教程:《简明Python教程》
简明 python 教程 简明 python 教程简明 python 教程 简明 python 教程
简明 Python 教程为 "A Byte of Python" 的指定简体中文译本
简明Python教程 python快速入门教程,简单明了,上手容易
简明 Python 教程 《简明 Python 教程》为 "A Byte of Python" 的唯一指定简体中文译本,版权 © 2005 沈洁元 本书依照 创作公用约定(署名-非派生作品-非商业用途) 发布。
简明Python教程(重新排版打印版) 简明Python教程(重新排版打印版)
此书为A Byte of Python 简明Python教程 英文版 另外上传了中文版,可以找一下 A Byte of Python 简明Python教程 中文版
python简明教程笔记.pdf
简明python教程,Html版本的。 分享给大家~~~~~~~
简明python教程 4.08C 第四版,包括代码部分 简明python教程 4.08C 第四版,包括代码部分
简明Python教程,学简明Python教程 .. .
简明python教程+源代码,英文原版名为《A Byte of Python》。它非常简明扼要地介绍了Python语言基础的各个方面。 适合群体: 仅仅临时使用Python的新手,非专业性地临时运用十来行简单代码就能自动化处理一些工作。 ...
对于初学者十分有用的简明Python教程,中文版,经典教程!PDF
简明Python教程(HTML),离线版《简明python》
简明Python教程(第四版)