Python学习笔记
- 格式:docx
- 大小:26.60 KB
- 文档页数:11
一、简单记录 1. 函数:abs():接收一个数值输入,然后输出这个数值的绝对值。Abs(-2) =2
2. 下划线(_)在解释器中有特别的含义,表示最后一个表达式的值,所以上面的代码执行之后,下划线变量会包含字符串。
3. Python的print语句,与字符串格式操作符(%)结合使用,可实现字符串替换功能,这一点和C语言中的pirntf()函数非常相似。
>>> print "%s is number is %d!" % ("Python" ,1) Python is number 1! %s表示由一个字符串来替换,而%d表示由一个整型来替换,另外一个很常用的就是%f,它表示由一个浮点型来替换。 4. Raw_input():接收用户标准输入 5. Python不支持C语言中的自增1或自减操作符,这是因为+ 和-也是单目操作符,Python会将—n解释为-(-n)从而得到n,同样++n的结果也是n.
6. 带都好的print语句输出的元素之间会自动添加一个空格。
7. Python提供了一个range()内建函数来生成这种列表,接受一个数值范围,生成一个列表。
二、快速入门: 1. Python中字符串被定义为引号之间的字符集合。Python支持使用成对的单引号和双引号,三引号(三个连续的单引号或者双引号)可以用来包含特殊字符。使用索引操作符([])和切片操作符([:])可以得到子字符串。字符串有其特有的索引规则:第一个字符的索引是0,最后一个字符的索引是-1.
加好(+)用于字符串连接运算,星号(*)用于字符串重复。 Pystr = ‘Python’ Iscool = ‘is cool!’ >>>pystr[2:5] ====’tho’ >>>iscool[:2] ====’is’ >>>Iscool[-1] ====’!’ >>>pystr + iscool ====’Pythonis cool!’ >>> pystr * 2 ====’PythonPython’
2、列表和元组 可以将列表和元祖当成普通的“数组”,它能保存任意数量任意类型的Python对象。和数组一样,通过从0 开始的数字索引访问元素,但是列表和元组可以存储不同类型的对象。 列表和元组有几处重要的区别。列表元素用中括号([])包裹,元素的个数及元素的值都可以改变。元组元素用小括号(())包裹,不可以更改(尽管他们的内容可以)。元组可以看成是只读的列表。通过切片元算([]和[:])可以得到子集,这一点和字符串的使用方法一样。 >>>aList = [1,2,3,4] >>>aList ===[1,2,3,4] >>>aList[0] ===1 >>>aList[2:] ===[3,4] >>>aList[:3] ===[1,2,3] >>>aList[1] = 5 >>>aList ====[1,5,3,4] 元组也可以进行切片运算,得到的结果也是元组(不能被修改)。 >>>aTuple=(‘robots’,77,93,’try’) >>>aTuple ===(‘robots’,77,93,’try’) >>>aTuple[:3] ====(‘robots’,77,93)
3、字典 字典是Python中的映射数据类型,工作原理类似于Perl中的关联数组或哈希表,由键-值(key-value)对构成。几乎所有类型的Python对象都可以用作键,不过一般还是以数字或者字符串最为常用。 值可以试任意类型的Python对象,字典元素用大括号({})包裹。 >>>aDict={‘host’:’earth’} >>>aDict[‘port’] = 80 >>>aDict ======{‘host’:’earth’,’port’:80} aDict.keys() ====[‘host’,’port’] >>>aDict[‘host’] ===’earth’
4、 文件 Handle = open(file_name,access_mode = ‘r’) File_name变量包含我们希望打开的文件的字符串名字,access_mode中’r’便是读取,‘w’表示写入,’a’表示添加。其它可能用到的表示还有‘+’表示读写,‘b’表示二进制访问。如果未提供access_mode,默认值为‘r’.如果open()成功,一个文件对象句柄会被返回。所有后续的文件操作都必须通过此文件句柄进行。当一个文件对象返回之后,我们就可以访问它的一些方法,比如readlines()和close().
三、Python基础 1、因为下划线对解释器有特殊的意义,而且是内奸标识符所使用的符号,我们建议程序员避免用下划线作为变量名的开始。一般来讲,变量名_xxx被看做是“私有的”,在模块或类外不可以使用。当变量是私有的时候,用_xxx是很好的习惯。因为变量名_xxx_对Python来说有特殊含义,对于普通的变量应当避免这种命名风格。
2、模块文档 #/usr/bin/env python (1)起始行 “this is a test module” (2)模块文档(文档字符串) Import sys Import os (3)模块导入 Debug = true (4) (全局)变量定义 Class FooClass (object) “Foo class” Pass (5) 类定义(若有) Def test() “test function” Foo = FooClass() If debug: Print ‘ran test()’ (6) 函数定义(若有)
3、_name_指示模块应如何被加载 由于主程序代码无论模块是被导入还是被直接执行都会运行,我们必须知道模块如何决定运行方向。一个应用程序可能需要导入另一个应用程序的一个模块,以便重用一些有用的代码(否则就只能用拷贝粘贴那种非面向对象的笨拙手段)。这种情况下,你只向访问那些位于其他应用程序中的代码,而不是想运行那个应用程序。因此一个问题出现了,“Python是否有一种方法,能在运行时检查该模块是被导入还是直接执行呢?”答案是:_name_系统变量就是正确答案。 如果模块式被导入,_name_的值为木块名字; 如果模块是被直接执行,_name_的值为‘_main_’。 4、a is b id(a) == id(b) 5、标准类型内建函数 Cmp(obj1,obj2) 比较obj1和obj2,根据比较结果返回整型i:
I < 0 if obj1 < obj2 I > 0 if obj1 > obj2 I = 0 if obj1 == obj2 Repr(obj)或`obj` 返回一个对象的字符串表示 Str(obj) 返回对象适合可读性好的字符串表示
Type(obj) 得到一个对象的类型,并返回相应type对象。
6、标准类型分类 数据类型 存储模型 更新模型 访问模型 数字 标量 不可更改 直接访问 字符串 标量 不可更改 顺序访问 列表 容器 可更改 顺序访问 元组 容器 不可更改 顺序访问 字典 容器 可更改 映射访问
7、函数对比 函数Int()直接截去小数部分(返回值为整数) 函数floor()得到最接近原数但小于原数的整数(返回值为浮点型) 函数round()得到最接近原数的整型(返回值为浮点型)
8、数值运算内建函数 函数 功能 Abs(num) 返回num的绝对值
Coerce(num1,num2) 将num1和Num2转换为同一类型,然后以一个元
组的形式返回。 Divmod(num1,num2) 除法一取余运算的结合。返回一个元组
(num1/num2,num1%num2)。对浮点型和复数的商进行下舍入(复数仅取实数部分的商) Pow(num1,num2,mod=1) 取num1的num2次方,如果提供mod参数,则
计算结果再对mod进行取余运算。 Round(flt,ndig=1) 接收一个浮点型flt并对其四舍五入,保存ndig位
小数。若不提供ndig参数,则默认小数点后0位。 Hex(num) 将数字转化成十六进制数并以字符串形式返回。
Oct(num) 将数字转化成八进制数并以字符串形式返回。
Chr(num) 将ASCII值的数字转化成ASCII字符,范围只能是
0<=num<=255 Ord(chr) 接收一个ASCII或Unicode字符(长度为1的字符
串),返回相应的ASCII值或Unicode值 Unichr(num) 接收Unicode码值,返回其对应的Unicode字符。所接收的码值范围依赖于你的Python是构建于UCS-2还是UCS-4
9、序列类型操作符 序列操作符 作用 Seq[ind] 获得小标为ind的元素
Seq[ind1:ind2] 获得下表从ind1到ind2间的元素集合
Seq * expr 序列重复expr次
Seq1 + seq2 连接序列seq1和seq2
Obj in seq 判断Obj元素是否包含在seq中
Obj not in seq 判断obj元素是否不包含在seq中。
10、序列类型转换工厂函数 函数 含义 List(iter) 把可迭代对象转化为列表
Str(obj) 把obj对象转化成字符串(对象的字符串表示法)
Unicode(obj) 把对象转化成Unicode字符串(使用默认编码)
Basestring() 抽象工厂函数,其作用仅仅是为str和unicode函数
提供父类,所以不能被实例化,也不能被调用 Tuple(iter) 把一个可迭代对象转化成一个元组对象。
10、列表类型内建函数 List.append(obj) 向列表中添加一个对象obj
List.count(obj) 返回一个对象obj在列表中出现的次数。