基本数据类型
数值型
Python 中的数据皆是对象,比如被熟知的 int 整型对象、float 双精度浮点型、bool 逻辑对象,它们都是单个元素。举两个例子。
前缀加0x,创建一个十六进制的整数:
// A code block
0xa5 # 等于十进制的 165
var foo = 'bar';
使用e创建科学计数法表示的浮点数:
// A code block
1.05e3 # 1050.0
var foo = 'bar';
容器型
可容纳多个元素的容器对象,常用的比如:list 列表对象、 tuple 元组对象、dict 字典对象、set 集合对象。Python 定义这些类型的变量,语法非常简洁。
举例如下。
使用一对中括号 [],创建一个 list 型变量:
// A code block
lst = [1,3,5] # list 变量
var foo = 'bar';
使用一对括号(),创建一个 tuple 型对象:
// A code block
tup = (1,3,5) # tuple 变量
var foo = 'bar';
但需要注意,含单个元素的元组后面必须保留一个逗号,才被解释为元组。
// A code block
tup = (1,) # 必须保留逗号
var foo = 'bar';
否则会被认为元素本身:
// A code block
In [14]: tup=(1)
...: print(type(tup))
var foo = 'bar';
使用一对花括号{}另使用冒号:,创建一个 dict 对象:
// A code block
dic = {'a':1, 'b':3, 'c':5} # dict变量
var foo = 'bar';
仅使用一对花括号{},创建一个 set 对象:
// A code block
s = {1,3,5} # 集合变量
var foo = 'bar';
整数
整数英文为integer,简写做int。代码世界的整数,和我们数学课本中定义的一样:是正整数、负整数和零的统称,是没有小数点的数字。
比如在下面的代码框中,赋值语句中的数字都是整数:
// A code block
a = 20
b = -600
c = 684190
d = 0
var foo = 'bar';
首先,整数可以不穿名为引号的马甲,直接跟print()函数组团搞输出,比如下列代码:
// A code block
print(666)
#打印整数
666
#打印结果
var foo = 'bar';
但是由于没有引号这层皮的保护,整数只能单独“行动”。一旦碰上其他文字类数据,譬如中文、英文。整数这个脆皮刺客,立马被报错秒杀。
// A code block
print(6小灵童)
print(6skr)
#打印数据
SyntaxError: invalid syntax
#终端显示结果:报错:无效语法
var foo = 'bar';
整数的“灵活多变”又体现在它的用处上,它不仅可以脱离引号被直接打印,还可以和运算符号结合,进行数学计算。
// A code block
print(499*561+10620-365)
print((5025-525)/100+18*17)
#结果
290194
351.0
var foo = 'bar';
字符串
注意 Python 中没有像 C++ 表示的字符类型(char),所有的字符或串都被统一为 str 对象。如单个字符 c 的类型也为 str。
str 类型会被经常使用,先列举 5 个被高频使用的方法。
strip 用于去除字符串前后的空格:
// A code block
In [1]: ' I love python\t\n '.strip()
Out[1]: 'I love python'
var foo = 'bar';
replace 用于字符串的替换:
// A code block
In [2]: 'i love python'.replace(' ','_')
Out[2]: 'i_love_python'
var foo = 'bar';
join 用于合并字符串:
// A code block
In [3]: '_'.join(['book', 'store','count'])
Out[3]: 'book_store_count'
var foo = 'bar';
title 用于单词的首字符大写:
// A code block
In [4]: 'i love python'.title()
Out[4]: 'I Love Python'
var foo = 'bar';
find 用于返回匹配字符串的起始位置索引:
// A code block
In [5]: 'i love python'.find('python')
Out[5]: 7
var foo = 'bar';
浮点数
整数是不带小数点的数字,那么相对的,带小数点的数字,就是浮点数。非常好识别,比如下列代码中的数字都是浮点数。
浮点数的英文名是float
// A code block
1.0
3.14159
-0.33
var foo = 'bar';
数据拼接
+拼接
注意:+号拼接只可以接字符串
// A code block
hero1 = '亚瑟'
hero2 = '李白'
achieve = 'hell world'
print(hero1+achieve+hero2)
print(hero2+achieve+hero1)
亚瑟hell world李白
李白hell world亚瑟
var foo = 'bar';
字符串拼接数字需要转换为字符串,不然会出错
// A code block
hero1 = '亚瑟'
hero2 = '李白'
achieve = 666
print(hero1+achieve+hero2)
print(hero2+achieve+hero1)
TypeError: can only concatenate str (not "int") to str
#TypeError:只能将str(而不是“int”)连接到str
var foo = 'bar';
// A code block
hero1 = '亚瑟'
hero2 = '李白'
achieve = 666
print(hero1+str(achieve)+hero2) #使用str()函数转换为字符串
print(hero2+str(achieve)+hero1) #使用str()函数转换为字符串
亚瑟666李白
李白666亚瑟
var foo = 'bar';
数据转换
负责转换数据类型的函数一共有3种:str()、int()和float()。
str()函数
str()函数能将数据转换成其字符串类型
// A code block
hero1 = '亚瑟'
hero2 = '李白'
achieve = 666
print(hero1+str(achieve)+hero2) #两者输出结果是一样的
print(hero1+'666'+hero2)
亚瑟666李白
亚瑟666李白
var foo = 'bar';
int()函数
将数据转换为整数类型
只转换数字类型的
// A code block
bug = '666'
hair = '0'
print(int(bug)+int(hair)) #转换为整数类型,才可以计算
print(bug+hair) #没转换会像字符串一样拼接
666 #计算得出的结果
6660 #拼接得出的结果
var foo = 'bar';
float()函数
float()函数也可以将整数和字符串转换为浮点类型
只转换数字类型的
// A code block
height = 183.5
weight = 79
age = '30'
print(float(height))
print(float(weight))
print(float(age))
183.5
79.0 #转换为浮点数
30.0 #转换为浮点数
var foo = 'bar';