Python 学习笔记(三)【基础补全】

Python 基础语法

Python 标识符


  • 在 Python 里,标识符由字母、数字、下划线组成。
  • 在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。
  • Python 中的标识符是区分大小写的。
  • 以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用from xxx import * 而导入;
  • 以双下划线开头的 __foo 代表类的私有成员;以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。
  • Python 可以同一行显示多条语句,方法是用分号 ; 分开,如:
1
2
3
>>> print 'hello';print 'runoob';
hello
runoob

Python 引号


  • Python 可以使用引号( ‘ )、双引号( “ )、三引号( ‘’’ 或 “”” ) 来表示字符串,引号的开始与结束必须的相同类型的。
  • 其中三引号可以由多行组成,编写多行文本的快捷语法,常用于文档字符串,在文件的特定地点,被当做注释。
1
2
3
4
word = 'word'
sentence = "这是一个句子。"
paragraph = """这是一个段落。
包含了多个语句"""

Python注释


  • python 中多行注释使用三个单引号(‘’’)或三个双引号(“””)。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 文件名:test.py


'''
这是多行注释,使用单引号。
这是多行注释,使用单引号。
这是多行注释,使用单引号。
'''

"""
这是多行注释,使用双引号。
这是多行注释,使用双引号。
这是多行注释,使用双引号。
"""

Python 变量类型

标准数据类型


  • 在内存中存储的数据可以有多种类型。
  • 例如,一个人的年龄可以用数字来存储,他的名字可以用字符来存储。
  • Python 定义了一些标准类型,用于存储各种类型的数据。
  • Python有五个标准的数据类型:
    1. Numbers(数字)
    2. String(字符串)
    3. List(列表)
    4. Tuple(元组)
    5. Dictionary(字典)

Python数字


  • 数字数据类型用于存储数值。
  • 他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。
  • 当你指定一个值时,Number对象就会被创建:
1
2
var1 = 1
var2 = 10
  • 您也可以使用del语句删除一些对象的引用。
1
2
del语句的语法是:
del var1[,var2[,var3[....,varN]]]]
  • 您可以通过使用del语句删除单个或多个对象的引用。例如:
1
2
del var
del var_a, var_b
  • Python支持四种不同的数字类型:
    1. int(有符号整型)
    2. long(长整型[也可以代表八进制和十六进制])
    3. float(浮点型)
    4. complex(复数)
  • 实例
    一些数值类型的实例:
  • 长整型也可以使用小写 l,但是还是建议您使用大写 L,避免与数字 1 混淆。Python使用 L 来显示长整型。
  • Python 还支持复数,复数由实数部分和虚数部分构成,可以用 a + bj,或者 complex(a,b) 表示, 复数的实部 a 和虚部 b 都是浮点型。

Python字符串


  • 加号(+)是字符串连接运算符,星号(*)是重复操作。如下实例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/usr/bin/python
# -*- coding: UTF-8 -*-

str = 'Hello World!'

print str # 输出完整字符串
print str[0] # 输出字符串中的第一个字符
print str[2:5] # 输出字符串中第三个至第五个之间的字符串
print str[2:] # 输出从第三个字符开始的字符串
print str * 2 # 输出字符串两次
print str + "TEST" # 输出连接的字符串

# 输出结果
Hello World!
H
llo
llo World!
Hello World!Hello World!
Hello World!TEST

Python列表


  • List(列表) 是 Python 中使用最频繁的数据类型。
  • 列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。
  • 列表用 [ ] 标识,是 python 最通用的复合数据类型。
  • 列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。
  • 加号 + 是列表连接运算符,星号 * 是重复操作。如下实例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/python
# -*- coding: UTF-8 -*-

list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']

print list # 输出完整列表
print list[0] # 输出列表的第一个元素
print list[1:3] # 输出第二个至第三个元素
print list[2:] # 输出从第三个开始至列表末尾的所有元素
print tinylist * 2 # 输出列表两次
print list + tinylist # 打印组合的列表

# 输出结果
# ['runoob', 786, 2.23, 'john', 70.2]
# runoob
# [786, 2.23]
# [2.23, 'john', 70.2]
# [123, 'john', 123, 'john']
# ['runoob', 786, 2.23, 'john', 70.2, 123, 'john']

Python元组


元组是另一个数据类型,类似于List(列表)。
元组用”()”标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/python
# -*- coding: UTF-8 -*-

tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )
tinytuple = (123, 'john')

print tuple # 输出完整元组
print tuple[0] # 输出元组的第一个元素
print tuple[1:3] # 输出第二个至第三个的元素
print tuple[2:] # 输出从第三个开始至列表末尾的所有元素
print tinytuple * 2 # 输出元组两次
print tuple + tinytuple # 打印组合的元组

# 输出结果
# ('runoob', 786, 2.23, 'john', 70.2)
# runoob
# (786, 2.23)
# (2.23, 'john', 70.2)
# (123, 'john', 123, 'john')
# ('runoob', 786, 2.23, 'john', 70.2, 123, 'john')

以下是元组无效的,因为元组是不允许更新的。而列表是允许更新的:

1
2
3
4
5
6
7
#!/usr/bin/python
# -*- coding: UTF-8 -*-

tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )
list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]
tuple[2] = 1000 # 元组中是非法应用
list[2] = 1000 # 列表中是合法应用

Python数据类型转换


Python 运算符

Python算术运算符


注意:Python2.x 里,整数除整数,只能得出整数。如果要得到小数部分,把其中一个数改成浮点数即可。

1
2
3
4
5
6
>>> 1/2
0
>>> 1.0/2
0.5
>>> 1/float(2)
0.5

Python位运算符


按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:
下表中变量 a 为 60,b 为 13,二进制格式如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
a = 0011 1100

b = 0000 1101

-----------------

a&b = 0000 1100

a|b = 0011 1101

a^b = 0011 0001

~a = 1100 0011

Python逻辑运算符


Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:

Python成员运算符


除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。

Python身份运算符


身份运算符用于比较两个对象的存储单元

is 与 == 区别:
is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。

1
2
3
4
5
6
7
8
9
10
11
>>> a = [1, 2, 3]
>>> b = a
>>> b is a
True
>>> b == a
True
>>> b = a[:]
>>> b is a
False
>>> b == a
True