Python第二章,,1. 下划线_代表最
Python第二章,,1. 下划线_代表最
1. 下划线_代表最后一个表达式的值。注意:只在解释器中有用,既显示上一次的操作结果。2. Print语句可以用%进行格式控制,与C相似。 如: >>> print “%s is number %d!” % (“python”, 1) Python is number 1!3. Python 非常灵活,所以即使你将数字传递给 %s,也不会像其他要求严格的语言一样引发严重后果。4. 符号 >> 用来重定向输出,下面这个例子将输出重定向到标准错误输出: import sys print >> sys.stderr, ‘Fatal error: invalid input!‘ import sys print >> sys.stderr, ‘Fatal error: invalid input!‘ 下面是一个将输出重定向到日志文件的例子: logfile = open(‘/tmp/mylog.txt‘, ‘a‘) print >> logfile, ‘Fatal error: invalid input!‘ logfile.close() 2.1.3 内建函数 input()从用户那里得到数据输入的最容易的方法是使用 input()内建函数。它读取标准输入,并将读取到的数据赋值给指定的变量。你可以使用 int() 内建函数将用户输入的字符串转换为整数。例子: >>> user = input(‘Enter login name: ‘) Enter login name: root >>> print ‘Your login is:‘, user Your login is: root上面这个例子只能用于文本输入。 下面是输入一个数值字符串(并将字符串转换为整数)的例子: >>> num = raw_input(‘Now enter a number: ‘) Now enter a number: 1024 >>> print ‘Doubling your number: %d‘ % (int(num) * 2) Doubling your number: 2048Raw的意思是“写后读”。核心笔记:从交互式解释器中获得帮助在学习 Python 的过程中,如果需要得到一个生疏函数的帮助,只需要对它调用内建函数help()。通过用函数名作为 help()的参数就能得到相应的帮助信息: >>> help(input)Python 使用 # 符号标示注释,从 # 开始,直到一行结束的内容都是注释。2.2 运算符2.2.1 标准运算符+ - * / 标准运算符, 与C一样。注意,/ 这里叫地板除(取比商小的最大整数)。% 取余。// 浮点除法 取四舍五入。总是执行真正的除法。** 乘方运算符,优先级按数学规律。根据真假返回BOOL值的标准比较运算符: <<=>>===!=<>(被淘汰) 真返回True 假返回False 注:大小写敏感。逻辑运算符:and = &&or = ||not = !编码风格:括号在 Python语言中不是必须存在的, 不过为了可读性, 使用括号总是值得的。2.3 变量和赋值变量名以字母开头。Python 是动态类型语言, 也就是说不需要预先声明变量的类型。 变量的类型和值在赋值那一刻被初始化。变量赋值通过等号来执行。支持增量赋值: n = n * 10 将上面的例子改成增量赋值方式就是: n *= 10Python 不支持 C 语言中的自增 1 和自减 1 运算符。2.4 数字1. Python 支持五种基本数字类型,其中有三种是整数类型。 int (有符号整数) long (长整数) bool (布尔值) float (浮点值) complex (复数)2.注意:Python 长整数仅受限于用户计算机的虚拟内存总数。从 Python2.3 开始,再也不会报整型溢出错误, 结果会自动的被转换为长整数。3.bool值:与C相同 1与04. decimal, 用于十进制浮点数。2.5字符串1.Python 支持使用成对的单引号或双引号,三引号(三个连续的单引号或者双引号)可以用来包含特殊字符2.使用索引运算符( [ ] )和切片运算符( [ : ] )可以得到子字符串。3.字符串有其特有的索引规则:第一个字符的索引是 0, 最后一个字符的索引是 -1、4.注意:字符串不支持通过索引进行单个赋值(或更改原值)。既:字符串是不可变的。2.6 列表和元组列表和元组可以当成普通的数组。它能保存任意数量任意类型的 Python 对象。下标索引从0开始(与C相同)。列表和元组的区别: 1》列表元素用中括号( [ ])包裹,元素的个数及元素的值可以改变。元组元素用小括号(( ))包裹,不可以更改(尽管他们的内容可以)。 2》元组可以看成是只读的列表。 3》列表通过切片运算( [ ] 和 [ : ] )可以得到子集,与字符串使用方法一样。结果为列表,其值可以改变。 4》元组也可以进行切片运算,得到的结果仍是元组。值仍旧是只读。2.7 字典1. 字典是 Python 中的映射数据类型,类似于关联数和哈希表,由键-值(key-value)对构成。2. 几乎所有类型的 Python 对象都可以用作键,不过一般还是以数字或者字符串最为常用。3. 值可以是任意类型的 Python 对象,字典元素用大括号({ })包裹。4. 例子:>>> aDict = {‘host‘: ‘earth‘} # create dict>>> aDict[‘port‘] = 80 # add to dict>>> aDict{‘host‘: ‘earth‘, ‘port‘: 80}>>> aDict.keys()[‘host‘, ‘port‘]>>> aDict[‘host‘]‘earth‘>>> for key in aDict:... print key, aDict[key]...host earthport 802.8 代码块及缩进对齐代码块通过缩进对齐表达代码逻辑而不是使用大括号。2.9 if语句1. 标准 if 条件语句的语法如下: if expression: if_suite如果表达式的值非 0 或者为布尔值 True, 则代码组 if_suite 被执行; 否则就去执行下一条语句。代码组是一个 Python 术语, 它由一条或多条语句组成,表示一个子代码块。注意:条件表达式不需要用括号括起来。If …… Else 组合 if expression: If_suite else: else_suitePython 还支持 elif (意指 “else-if ”)语句,语法如下: if expression1: if_suite elif expression2: elif_suite else: else_suite注意:python没有switch……case语句。2.10 while循环使用缩进来分隔每个子代码块,语法为: while expression: while_suite2.while语句有一个可选的else从句.2.11 for循环和range()内建函数2.11.1 for循环1. 类似于shell 脚本里的 foreach 迭代, 以可迭代对象作为参数,每次迭代其中一个元素。2. 举例: >>> for a in alist: print a 将alist(事先定义的表格)内容全部打印出来。在print后面增加逗号(,)可以取消自动换行。2.11.2 for循环利用range()当我们循环范围可变时,可以使用内建函数range()。 range()接受数组范围,生成一个列表。例子: >> for eachNum in range(3): ... print eachNum ... 0 1 2For循环输出字符串中的每个元素: >>> foo = ‘abc‘ >>> for c in foo: ... print c ... a b C >>> foo = ‘abc‘ >>> for i in range(len(foo)): ... print foo[i], ‘(%d)‘ % i ... a (0) b (1) c (2)For的另一个例子:用到else项 #!/usr/bin/python # Filename: for.py for i in range(1, 5): print i else: print ‘The for loop is over‘ 输出 $ python for.py 1 2 3 4 The for loop is over 从这里看出:1)else只执行一次。2)range是左闭右开[ , )型范围内建函数。3)range(1,5)给出序列[1, 2, 3, 4]2.11.3 range()默认地,range的步长为1。如果我们为range提供第三个数,那么它将成为步长。例如,range(1,5,2)给出[1,3]。记住,range 向上 延伸到第二个数,即它不包含第二个数。2.11.3 enumerate() 列举内建函数1. Enumerate()函数同时获取循环的索引和元素。 >>> for i, ch in enumerate(foo): ... print ch, ‘(%d)‘ % i ... a (0) b (1) c (2)2.12 列表解析1.在一行中使用一个 for 循环将所有值放到一个列表当中: >>> squared = [x ** 2 for x in range(4)] >>> for i in squared: ... print i 0 1 4 9可以在列表解析中进行判断赋值。 >>> sqdEvens = [x ** 2 for x in range(8) if not x % 2] #求平方 >>> >>> for i in sqdEvens: ... print i 0 4 36 162.13 文件和内建函数open(), file()2.13.1 打开文件open() handle = open(file_name, access_mode = ‘r‘) 其中 file_name 文件名称 Access_mode 为打开方式 ‘r‘ 表示读取,‘w‘ 表示写入, ‘a‘ 表示添加。其它可能用到的标声还有 ‘+‘ 表示读写, ‘b‘表示二进制访问。返回值:文件句柄。关于属性: 核心笔记:什么是属性? 属性是与数据有关的项目, 属性可以是简单的数据值, 也可以是可执行对象, 比如函数 和方法。哪些对象拥有属性呢? 很多。 类, 模块, 文件还有复数等等对象都拥有属性。 我如何访问对象属性? 使用句点属性标识法。 也就是说在对象名和属性名之间加一个句 点: object.attributeFile() 功能等同于 open(), 不过 file() 这个名字可以更确切的表明它是一个工厂函数。(生成文件对象)类似 int()生成整数对象,dict()生成字典对象。2.14 break语句和continueBreak终止循环。一个重要的注释是,如果你从for或while循环中 终止 ,任何对应的循环else块将不执行。3. Continue与C相同。对于while和for都适用。
1. 是什么:模块是一种组织形式, 它将彼此有关系的 Python 代码组织到一个个独立文件当中。模块可以包含可执行代码, 函数和类或者这些东西的组合。2. 说明:1》模块的名字就是不带 .py 后缀的文件名。 2》使用 import 语句导入这个模块来使用。访问模块: import module_name 导入: 一旦导入完成, 一个模块的属性(函数和变量)可以通过熟悉的 .句点属性标识法访问。 module.function() module.variable例子:调用sys模块:(自己写的)>>> import sys>>> sys.platform‘linux2‘>>> sys.stdout.write(‘hello!‘)hello!>>> sys.version
Python第二章
相关内容
- 暂无相关文章
评论关闭