这是我看a byte of python的笔记,如果你也是java程序员,希望你能感到亲切。
- 单引号和双引号都可以做字符串字面量,三引号更强,里面可以随意使用单引号和双引号,还可以换行,用于
文档字符串 - 格式化占位符用
{位置|名字},格式指定类似c,比如'{0:.3f}'.format(1.0/3) - 命名习惯用下划线连接,而非驼峰方式或其他
- 分号可以用来分割行(语句),但强烈建议直接换行。
在一个物理行内只写一个逻辑行 - while循环可以配一个else,在循环结束时执行else块.for循环同理
for..in- 函数用
def定义 - 参数采用值传递,作用域在函数体内,改变值不会影响外部。如果想影响外部,采用
global语句 - 函数参数可以设置默认值
def func(a,b=1) - 函数调用时,可以通过指定参数名字,改变传参顺序和个数
- 变长参数列表:
*param用来声明普通的变长参数集合,**param用来声明带名字的变长参数集合 - 一个简单的py文件就是一个模块,运行时可以通过
if __name__=‘__main__’来判断,当前程序是独立运行还是被当做模块被引用 from mymodule import *可以引入模块里的所有公有names,但不引入__开头的私有names- list是一种基本的数据结构,比java的list和array都强哦。可以包含不同数据类型的元素,比如
l = [1, '2', (3,4)] - tuple是另一种数据结构,和list相似,但没有list那么多功能,且元组是“不可变”的
- Dictionary类似map,
for k, v in dic.items()dic['key'] - sequence, list tuple string 这些都是sequence,他的主要功能是判断in 和 not in。还有按序号访问,最重要的是支持切片操作
- 用tuple可以实现“多个返回值”的效果
os.sep路径分隔符os.system调用系统命令,返回0标示成功,否则返回错误码Software is grown, not built.self相当于thismyObject.method(arg1, arg2)会被python转换为MyClass.method(myObject, arg1, arg2)调用。所以,如果一个方法没参数,最少都有一个参数是selfclass Person不是用defpass表示一个空块__init__相当于构造方法- 类变量,共享给这个类的所有对象访问。类比静态变量
- 对象变量,就是某个对象私有了,类比成员变量
- 用两个下划线开头的 为私有变量名
__privatevar class Man(Person)这样就声明了Man继承Personraw_input()等待用户输入open('poem.txt', 'w')打开文件,模式有r读,w写,a追加,t文本,b二进制,记得close()^_^try..except处理异常class ShortInputException(Exception)通过继承Exception来定义异常raise ShortInputException(...)向上抛出异常