这篇文档是书籍 A byte of python 的开坑起始点,不知道2018农历春节前能不能填满坑,试试看吧。

这篇文档是书籍 A byte of python 的开坑起始点,不知道2018农历春节前能不能填满坑,试试看吧。

1.常量与字符串

字面常量
一个字面常量(Literal Constants)的例子是诸如 5 、 1.23 这样的数字,或者是如 这是一串文本 或 This is a string 这样的文本。

数字
数字主要分为两种类型——整数(Integers)与浮点数(Floats)。
注意!没有单独的 long 类型。 int 类型可以指任何大小的整数。

字符串
一串字符串(String)是 字符(Characters) 的 序列(Sequence)。

单引号、双引号、三引号

  1. 单引号用来指定字符串,如 'Quote me on this'
  2. 被双引号包括的字符串和被单引号括起的字符串其工作机制完全相同。如"What's your name?"
  3. 可以通过使用三个引号—— “”” 或 ‘’’ 来指定多行字符串。如:
    1
    2
    3
    4
    5
    6
    '''
    这是一段多行字符串。这是它的第一行。
    This is the second line.
    "What's your name?," I asked.
    He said "Bond, James Bond."
    '''

字符串是不可变的
Python 中没有单独的 char 数据类型。

2.Python的格式化方法

1
2
3
4
5
age = 20
name = 'Swaroop'

print('{0} was {1} years old when he wrote this book'.format(name, age))
print('Why is {0} playing with that python?'.format(name))

输出如下:

1
2
Swaroop was 20 years old when he wrote this book
Why is Swaroop playing with that python?

一个字符串可以使用某些特定的格式(Specification),随后, format 方法将被调用,使用这一方法中与之相应的参数替换这些格式。
注意:Python 从 0 开始计数,这意味着索引中的第一位是 0,第二位是1,以此类推。
python中format的更多使用方法:

1
2
3
4
5
6
7
# 对于浮点数 '0.333' 保留小数点(.)后三位
print('{0:.3f}'.format(1.0/3))
# 使用下划线填充文本,并保持文字处于中间位置
# 使用 (^) 定义 '___hello___'字符串长度为 11
print('{0:_^11}'.format('hello'))
# 基于关键词输出 'Swaroop wrote A Byte of Python'
print('{name} wrote {book}'.format(name='Swaroop', book='A Byte of Python'))

输出如下:

1
2
3
333
___hello___
Swaroop wrote A Byte of Python

format中,end的使用方法如下:

1
2
3
4
5
6
7
# 通过 end 指定其应以空白结尾:
print('a', end='') #引号内一个空格
print('b', end='')
# 通过 end 指定以空格结尾:
print('a', end=' ') #引号内两个空格
print('b', end=' ')
print('c')

输出为:

1
2
ab
a b c

3.转移序列、换行与缩进

通过转义序列(Escape Sequence)来显示特殊字符
使用方式类似C++语言,如'What\'s your name?'可以吧特殊字符'显示出来,当然,转义序列 \\指定反斜杠本身。

换行与不换行
\n来表示新一行的开始,如:

1
'This is the first line\nThis is the second line'

此外,在一个字符串中,一个放置在末尾的反斜杠表示字符串将在下一行继续,但不会添加新的一行。如:

1
2
"This is the first sentence. \
This is the second sentence."

相当于

1
"This is the first sentence. This is the second sentence."

3.1标识符命名

标识符(Identifiers) 是为 某些东西 提供的给定名称。命名规则:

  1. 第一个字符必须是字母表中的字母(大写 ASCII 字符或小写 ASCII 字符或 Unicode 字符)或下划线( _ )。
  2. 标识符的其它部分可以由字符(大写 ASCII 字符或小写 ASCII 字符或 Unicode 字符)、下划线( _ )、数字(0~9)组成。
  3. 标识符名称区分大小写。例如, myname 和 myName 并不等同。要注意到前者是小写字母 n 而后者是大写字母 N 。
  4. 有效 的标识符名称可以是 i 或 name_2_3 ,无效 的标识符名称可能是2things , this is spaced out , my-name 和 >a1b2_c3 。

3.2Python的变量与书写习惯

逻辑行与物理行

  • 物理行(Physical Line)是你在编写程序时 你所看到 的内容。
  • 逻辑行(Logical Line)是 Python 所看到 的单个语句。
  • Python假定每一 物理行 会对应一个 逻辑行。
  1. 变量只需被赋予某一值。不需要声明或定义数据类型。
  2. python中不应该使用分号。
  3. 如果你有一行非常长的代码,可以通过使用反斜杠将其拆分成多个物理行。这被称作显式行连接(Explicit Line Joining),如:
    1
    2
    3
    s = 'This is a string. \
    This continues the string.'
    print(s)

输出:

1
This is a string. This continues the string.

在某些情况下,会存在一个隐含的假设,允许你不使用反斜杠。这一情况即逻辑行以括号开始,它可以是方括号或花括号,但不能是结束括号。这被称作隐式行连接(Implicit LineJoining)。

缩进(Indentation)
缩进即各行开头的空白区,缩进应该注意的为:

  1. 使用四个空格来缩进。确保缩进中使用数量一致的空格,否则程序将不会运行,或引发不期望的行为。
  2. Python 将始终对块使用缩进,并且绝不会使用大括号。