'''
python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该
变量才会被创建,在python中,变量就是变量,它没有类型,我们所说的“类型”
是变量所指的内存中对象的类型
'''
counter = 100
miles = 1000.0
name = "bugliu"
print (counter)
print (miles)
print (name)
a = b =c = 1
print (a, b, c)
a, b, c = 1, 2, "bugliu"
print (a, b, c)
a, b, c, d = 20, 5.5, True, 4+3j
print (type(a), type(b), type(c), type(d))
e = 111
print (isinstance(a, int))
'''
isinstance 和 type的区别在于:
type()不会认为子类是一种父类类型
isinstance()会认为子类是一种父类类型
注:在python2 中是没有布尔型的,它用数字0表示False,用1表示True,
python3中,把True, False定义成关键字了,但它们的值还是1和0,可以
和数字相加。
'''
aa = 1; bb = 2
print(aa,bb)
del aa
print ( 5 + 4 )
print ( 4.3 - 2 )
print ( 3 * 7 )
print ( 2 / 4 )
print ( 2 // 4 )
print ( 17 % 3 )
print ( 2 ** 5 )
'''
注意:
1. python可以同时为多个变量赋值,如a,b = 1, 2
2. 一个变量可以通过赋值指向不同类型的对象
3. 数值的除法(/)总是返回一个浮点数,要获取整数使用'//'操作符
4. 在混合计算时,python会把整型转换为浮点数
'''
'''
python中的字符串用单引号(')或双引号(")括起来,同时使用反斜杠(\)转义
特殊字符,字符串截取的语法格式:变量[头下标:尾下标]
索引值以0为开始值,-1为从末尾的开始位置。加号(+)是字符串的连接符
星号(*)表示复制当前字符串,紧跟的数字为复制的次数
'''
str = 'Bugliu'
print (str)
print (str[0:-1])
print (str[0])
print (str[2:5])
print (str[2:])
print (str * 2)
print (str + "Test")
print (r'Bug\nliu')
print ('a \
long line')
'''
注意:
1. 反斜杠可以用来转义,使用r可以让反斜杠不发生转义
2. 字符串可以用+运算符连接在一期,用*运算符重复
3. python中的字符串有两种索引方式,从左往右以0开始,倒序以-1开始
4. python中的字符串不能改变
'''
'''
列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,
它支持数字,字符串甚至可以包含列表(所谓嵌套),列表是写在[]之间,
用逗号分隔开的元素列表,和字符串一样,列表同样可以被索引和截取,列表
被截取后返回一个包含所需元素的新列表
列表截取的语法格式如下:变量[头下标:尾下标]
索引值以0为开始值,-1为从末尾的开始位置。
加号是列表连接运算符,星号是重复操作。
'''
list = [ 'abcd', 786, 2.23, 'bugliu', 70.2]
tinylist = [123, 'bugliu']
print (list)
print (list[0])
print (list[1:3])
print (list[2:])
print (tinylist * 2)
print (list + tinylist)
'''
输出结果:
['abcd', 786, 2.23, 'bugliu', 70.2]
abcd
[786, 2.23]
[2.23, 'bugliu', 70.2]
[123, 'bugliu', 123, 'bugliu']
['abcd', 786, 2.23, 'bugliu', 70.2, 123, 'bugliu']
'''
list_tmp = [1, 2, 3, 4, 5]
print (list_tmp)
list_tmp[1:4] = [10, 11, 12]
print (list_tmp)
'''
注意:
1. list 写在方括号之间,元素用逗号隔开。
2. 和字符串一样,list可以被索引和切片。
3. list可以使用+操作符进行拼接。
4. list中的元素是可以改变的。
'''
tuple = ( 'abcd', 786, 2.23, 'bugliu', 70.2)
tinytuple = (123, 'bugliu')
print (tuple)
print (tuple[0])
print (tuple[1:3])
print (tuple[2:])
print (tinytuple * 2)
print (tuple + tinytuple)
'''
输出结果:
('abcd', 786, 2.23, 'bugliu', 70.2)
abcd
(786, 2.23)
(2.23, 'bugliu', 70.2)
(123, 'bugliu', 123, 'bugliu')
('abcd', 786, 2.23, 'bugliu', 70.2, 123, 'bugliu')
'''
tup = (1, 2, 3, 4, 5, 6)
tup1 = ()
tup2 = (20,)
'''
注意:
1. 与字符串一样,元组的元素不能修改
2. 元组也可以被索引和切片,方法一样。
3. 注意构造包含0或1个元素的元组的特殊语法规则
4. 元组也可以使用+操作符进行拼接
'''
'''
集合(set)是一个无序不重复元素的序列
基本功能是进行成员关系测试和删除重复元素。
可以使用大括号{}或者set()函数创建集合,注意:创建一个空集合必须用
set()而不是{},因为{}是用来创建一个空字典。
'''
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
print (student)
if ('Rose' in student):
print ('Rose 在集合中')
else:
print ('Rose 不在集合中')
a = set('abcd')
b = set('acef')
print (a - b)
print (a | b)
print (a & b)
print (a ^ b)
'''
字典(dictionary)是python中另一个非常有用的内置数据类型
列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:
字典当中的元素是通过键来存取的,而不是通过偏移存取
字典是一种映射类型,字典用"{}"标识,它是一个无序的键(key):值(value)
对集合。键(key)必须使用不可变类型。在同一个字典里,键必须是唯一的。
'''
dict1 = {}
dict1['one'] = "1 - 菜鸟教程"
dict1[2] = "2 - 菜鸟工具"
tinydict = {'name':'buglig', 'code':1, 'site':'www.test.com'}
print (dict1['one'])
print (dict1[2])
print (tinydict)
print (tinydict.keys())
print (tinydict.values())
'''
输出结果:
1 - 菜鸟教程
2 - 菜鸟工具
{'name': 'buglig', 'code': 1, 'site': 'www.test.com'}
dict_keys(['name', 'code', 'site'])
dict_values(['buglig', 1, 'www.test.com'])
'''
import sys
d_tmp = dict(baidu=1, google=2, taobao=3)
print (d_tmp)
'''
注意:
1. 字典是一种映射类型,它的元素是键值对。
2. 字典的关键字必须为不可变类型,且不能重复。
3. 创建空字典使用{}.
'''
'''
Python支持类型转换,只需要将数据类型作为函数名即可。
例:
int(x[,base]) 将x转换为一个整数
float(x) 将x转换为一个整数转换到一个浮点数
str(x) 将对象x转换为字符串
chr(x) 将一个整数转换为一个字符
hex(x) 将一个整数转换为一个十六进制字符串
'''