第4章 基本概念
字面意义上的常量
如5、1.23、9.23e-3,或者 'This is a string'、"It's a string!" 字符串等
常量,不能改变它的值
数
python 有4种数据类型:整数、长整数、浮点数和复数。
- 整数 2
- 长整数是大一些的整数 123456789012345
- 浮点数 3.23、52.3E-4,E标记表示10的幂。其中 52.3E-4 表示 52.3 * 10-4
- 复数 -5+4j 、2.3-4.6j
字符串
单引号(')
如 'Quote me on this' 。所有的空白,即空格和制表符都照原样保留。
双引号(")
双引号中字符串与单引号中的字符串的使用完全相同,如"What's your name?"
三引号(''' 或 """)
使用三引号可以指示一个多行的字符串,可以在三引号中使用单引号和双引号。
'''This is a multi-line string. This is the firstline. This is the second line. "What's your name?," I asked. He said "Bond, James Bond." '''
>>> strA='a'
>>> strB="a"
>>> print strA
a
>>> print strB
a
>>> strC='''1
... 2
... 3'''
>>> strC
'1\n2\n3'
>>> print strC
1
2
3
>>> strC="""1
... 2
... 3"""
>>> strC
'1\n2\n3'
>>> print strC
1
2
3
转义符(\)
用于特殊符号的转义,放在前面,表示特殊符号本身。
>>> print "a b"
a b
>>> print "a \nb"
a
b
>>> print "a \\nb"
a \nb
折行的处理:在一个字符串中,行末的单独一个反斜杠表示字符串在下一行继续,而不是开始一个新的行。
"This is the first sentence.\ This is the second sentence."
等价于 "This is the first sentence. This is the second sentence."
>>> print "hello \
... Lucy!"
hello Lucy!
自然字符串,即不会当作特殊字符处理
给字符串加上前缀 r 或 R 来保存字符串的原格式。例如 r"Newlines are indicated by\n"。
Unicode 字符串
Unicode 是书写国际文本的标准方法。在字符串前加上前缀 u 或 R,来处理 Unicode 文本。
处理含有非英语语言写的文本文件时使用 Unicode 字符串。如,print u'你好' 。
字符串是不可变的
字符串一旦被创建就不能再改变了。
按字面意义级连字符串
两个字符串按字面意义相邻放着,会被 python 自动级连。
例如,'What\'s' 'your name?' 会被自动转为 "What's your name?"。
注意:单引号和双引号字符串完全相同。一般用自然字符串处理正则表达式,以避免使用反斜杠。
变量
与字面意义上的常量不同,变量的值可以变化,即可以使用变量存储任何东西(数和字符串)。变量只是计算机中存储信息的一部分内存。
>>> a=1
>>> a
1
>>> print a
1
>>> a='abc'
>>> a
'abc'
>>> print a
abc
>>> a="abc 你好"
>>> a
'abc \xc4\xe3\xba\xc3'
>>> print a
abc 你好
>>> strA ='''
... 1
... 2
... 3'''
>>> strA
'\n1\n2\n3'
>>> print strA
1
2
3
>>> strB='''1
... 2
... 3'''
>>> strB
'1\n2\n3'
>>> print strB
1
2
3
>>> strC="""
... 1
... 2
... 3
... """
>>> strC
'\n1\n2\n3\n'
>>> print strC
1
2
3
>>>
标识符的命名
变量是标识符的例子。标识符是用来标识某样东西的名字。命名规则如下:
- 标识符的第一个字符必须是字母(大写或小写)或下划线(_)
- 标识符可以由字母(大写或小写)、下划线(_)或数字(0-9)组成
- 标识符名称对大小写敏感。如,myname 和 myName 不是一个标识符
建议:标识符命名要见名知意
数据类型
变量可以处理不同类型的值,称为数据类型。python 基本的数据类型是数字和字符串。
可以通过 type() 函数来确认类型
>>> a=1
>>> type(a)
<type 'int'>
>>> a=12456778892
>>> type(a)
<type 'long'>
>>> a=1.12
>>> type(a)
<type 'float'>
>>> a=4+4j
>>> type(a)
<type 'complex'>
>>> a='ab'
>>> type(a)
<type 'str'>
对象
python 把程序中用到的任何东西都称为对象。
就每一个东西包括数、字符串甚至函数都是对象这一点来说,python 是极其完全地面向对象的。
如何编写Python程序 下面是保存和运行Python程序的标准流程。 1. 打开你最喜欢的编辑器。 2. 输入程序代码。 3. 用注释中给出的文件名把它保存为一个文件。按照惯例把所有的Python程序都以扩展名.py保存。 4. 运行解释器命令python program.py或者使用IDLE运行程序。你也可以使用先前介绍的可执行的方法。 |
注意:使用变量时只需要给它们赋一个值。不需要声明或定义数据类型。
逻辑行与物理行
逻辑行:编写的程序
逻辑行:python 看见的单个语句
建议:为了使代码更加易读,python 每个物理行只写一句逻辑行,即每一行写一个语句。
仅当逻辑行太长时,可以使用行连接在多个物理行写一个逻辑行
- 明确的行连接:反斜杠(\)
- 暗示的行连接:圆括号、方括号或波形括号
如果一个物理行中使用多个逻辑行,需要使用分号(;)隔开。分号表示一个逻辑行/语句的结束。
缩进
行首的空白称为缩进。在逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。
同一层次的语句必须有相同的缩进,这样一组语句称为一个块。错误的缩进会引发错误。
避免混合使用制表符和空格来缩进,因为跨平台时可能会无法正常工作。
每个缩进层次使用 单个制表符 或 两个 或 四个 空格。