导航
导航
文章目录
  1. 4.1 字面意义上的常量
  2. 4.2 数
  3. 4.3 字符串
  4. 4.4 变量
  5. 4.5 标识符的命名
  6. 4.6 数据类型
  7. 4.7 对象
  8. 4.8 逻辑行与物理行
  9. 4.9 缩进

简明Python教程-4.基本概念

4.1 字面意义上的常量

如5、1.23、9.25e-3这样的数,或者如同’This is a string’、”It’s a string!”这样的字符串。
它们被称作字面意义上的,按照它们的字面意义使用它们的值。

4.2 数

Python中有4中类型的数:
整数 —— 如2
长整数 ——大一些的整数
浮点数 ——如3.23、52.3E-4(E标记10的幂)
复数 —— 如(-5+4j)和(2.3-4.6j)

4.3 字符串

字符串是字符的序列,基本上就是一组单词。

  • 使用单引号 ( ‘ )
    如 ‘Quote me on this’
  • 使用双引号 ( “ )
    如 “What’s your name?”
  • 使用三引号 ( ‘’’ 或 “”” )
    可以指示一个多行的字符串,并在其中自由地使用单引号和双引号,如:
    ‘’’This is a multi-line string. This is the first line.
    This is the second line.
    “What’s your name?,” I asked.
    He said “Bond, James Bond.”
    ‘’’
  • 转义符
    1、如 ‘What\’s your name’(或”What’s your name”)
    2、\\ 转义反斜杠本身
    3、行末反斜杠表示字符串在下一行继续:
    “This is the first sentence.\
    This is the second sentence.”
    等价于:”This is the first sentence. This is the second sentence.”
  • 自然字符串
    不被转义的字符串,加前缀r或R指定,如 r”Newlines are indicated by \n”
  • Unicode字符串
    Unicode是书写国际文本的标准方法。Python允许处理Unicode文本,只需要在字符串前加上前缀u或U,如:
    u”This is a Unicode string.”。
    * 处理文本文件时要使用Unicode字符串,特别是其中含有非英语的文本时。
  • 字符串是不可变的
    字符串一旦创造,就不能再改变它了。
  • 按字面意义级连字符串
    两个字符串按字面意义相邻会被Python自动级连,如:
    ‘What\’s’ ‘ your name?’ 会被自动转为 “What’s your name?”

* Python中没有专门的char数据类型。
* 单引号与双引号字符串是完全相同的。
* 要用自然字符串处理正则表达式,否则会需要很多反斜杠。如后向引用符可以写成’\1’’或r’\1’。

4.4 变量

值可以变化,可以存储任何东西。
只是计算机中存储信息的一部分内存。
与常量不同,需要能够访问这些变量的方法,因此需要给变量名字。

4.5 标识符的命名

标识符 是用来标识 某样东西 的名字,规则如下:
1、第一个字符是大小写字母或下划线( ‘_’ );
2、其他部分可以是大小写字母、下划线或数字;
3、大小写敏感,如myname和myName 不是 一个标识符。
i、__my_name、name_23、a1b2_c3是有效的
2things、this is spaced out、my-name是无效的

4.6 数据类型

变量可以处理不同类型的值,称为 数据类型
基本类型 有数和字符串。
也可以用创造自己的类型。

4.7 对象

广义上说,Python中程序用到的任何东西都称为 对象
* 在Python中,包括数、字符串,甚至函数,都是对象。
例:

1
2
3
4
5
6
7
8
9
# Filename : var.py
i = 5
print i
i = i + 1
print i

s = '''This is a multi-line string.
This is the second line.'''
print s

输出

1
2
3
4
5
$ python var.py
5
6
This is a multi-line string.
This is the second line.

如何工作
1、使用赋值运算符( = )将常量5赋值给变量i。称为语句,声明需要做的事情;
2、用print打印i的值;
3、对i中存储的值加1,再存回i,打印i,得到期望值6;
4、类似地,将字符串常量赋值给变量s,然后打印。
* 使用变量时只需要给它们赋值,不需要声明变量,或定义其数据类型

4.8 逻辑行与物理行

  • 概念
    物理行是编程时所看见的,逻辑航是Python所看见的单个语句。
    Python假定每个物理行对应一个逻辑行
  • 分号
    可以使用分号来特别标明,一个物理行中使用多个逻辑行:
    写法一:
    i = 5
    print i
    写法二:
    i = 5;
    print i;
    写法三:
    i = 5; print i;
    写法四:
    i = 5; print i
    是等价的
  • 风格
    强烈建议每个物理行只写一个逻辑行。
    仅当逻辑行太长的时候,在多于一个物理行写一个逻辑行:
    s = ‘This is a sring.\
    This continues the string.’
    print s
    输出:
    This is a string. This continues the string.
    类似地,
    print \
    i
    等价于,
    print i
  • 暗示
    有一种暗示的假设,当逻辑行中出现圆括号、方括号或波形括号时,可以不使用反斜杠,如列表等。

4.9 缩进

行首的空白在Python中是重要的,称为缩进。
逻辑行首的空白(空格或制表符)决定逻辑行的缩进层次,从而决定语句的分组。
同一层次的语句必须有相同的缩进,每一组这样的语句称为一个块。
* 错误的缩进会引发错误
* 不要混合使用制表符和空格来缩进,跨平台时可能无法正常工作
* 强烈建议每个缩进层次使用单个制表符或两个空格或四个空格
* 选择一种风格,然后只使用这一种风格