1、内置数据类型
使用变量存储数据时,为了更充分利用内存空间,我们可以为变量指定不同的数据类型。并且不同类型可以执行不同的操作。Python默认具有以下内置数据类型:
字符串类型:str
数值类型: int
,float
, complex
序列类型: list
,tuple
, range
映射类型: dict
集合类型: set
, frozenset
布尔值类型: bool
二进制类型: bytes
,bytearray
, memoryview
注意:Python 中,NoneType
是一种特殊的数据类型,它只有一个值,即 None
。None
通常用于表示“无值”或“空值”的情况。
2、使用type()获取变量的数据类型
可以使用以下type()
函数获取任何对象的数据类型:
例子,
打印输出变量x的数据类型:
x = 5
print(type(x))
以下是Python中所有内置数据类型:
例如:
print(type("Hello"))
print(type(3))
print(type(3.14))
print(type(1j))
print(type(["c", "java", "python"]))
print(type(("c", "java", "python")))
print(type(range(6)))
print(type({"name" : "python", "age" : 12}))
print(type({"c", "java", "python"}))
print(type(frozenset({"c", "java", "python"})))
print(type(True))
print(type(b"Hello"))
print(type(bytearray(5)))
print(type(memoryview(bytes(5))))
3、指定变量数据类型
在Python中,当将值分配给变量时,将设置数据类型:
示例 | 数据类型 |
| str |
| int |
| float |
| complex |
| list |
| tuple |
| range |
| dict |
| set |
| frozenset |
| bool |
| bytes |
| bytearray |
| memoryview |
4、通过构造函数指定数据类型
如果要指定数据类型,则可以使用以下构造函数:
示例 | 数据类型 |
| str |
| int |
| float |
| complex |
| list |
| tuple |
| range |
| dict |
| set |
| frozenset |
| bool |
| bytes |
| bytearray |
| memoryview |
5、NoneType类型
Python 中,NoneType
是一种特殊的数据类型,它只有一个值,即 None
。None
通常用于表示“无值”或“空值”的情况。
# 初始化一个变量为 None
x = None
print(x) # 输出: None
# 检查变量是否为 None
if x is None:
print("x 是 None")
else:
print("x 不是 None")
# 函数返回 None 示例
def example_function():
print("这是一个示例函数")
return None
result = example_function()
print(result) # 输出: None
# 将 None 用作默认参数
def greet(name=None):
if name is None:
print("Hello, Stranger!")
else:
print(f"Hello, {name}!")
greet() # 输出: Hello, Stranger!
greet("Alice") # 输出: Hello, Alice!
6、Python常用数据类型示例
为了更好地理解 Python 中的数据类型及其用法,常用数据类型示例代码如下:
shoplist = ['apple', 'mango', 'carrot', 'banana']
print('我有', len(shoplist), '样物品要购买。')
print('这些物品是:', end='')
for item in shoplist:
print(item, end=' ')
print('\n我还需要买米。')
shoplist.append('rice')
print('我的购物清单现在是', shoplist)
print('我现在要对购物清单进行排序')
shoplist.sort()
print('排序后的购物清单是', shoplist)
print('我将购买的第一样物品是', shoplist[0])
olditem = shoplist[0]
del shoplist[0]
print('我买了', olditem)
print('我的购物清单现在是', shoplist)
zoo = ('python', 'elephant', 'penguin')
print('动物园里有', len(zoo), '种动物')
new_zoo = 'monkey', 'camel', zoo
print('新动物园里有', len(new_zoo), '个笼子')
print('新动物园里的所有动物有', new_zoo)
print('从旧动物园带来的动物有', new_zoo[2])
print('从旧动物园带来的最后一只动物是', new_zoo[2][2])
print('新动物园里的动物总数是', len(new_zoo) - 1 + len(new_zoo[2]))
ab = {
'Swaroop': 'Swaroop@Swaroopch.com',
'Larry': 'larry@wall.org',
'Matsumoto': 'matz@ruby-lang.org',
'Spammer': 'spammer@hotmail.com'
}
print("Swaroop的地址是", ab['Swaroop'])
del ab['Spammer']
print('\n通讯录中有 {0} 个联系人\n'.format(len(ab)))
for name, address in ab.items():
print('联系 {0} 的地址是 {1}'.format(name, address))
ab['Guido'] = 'guido@python.org'
if 'Guido' in ab:
print("\nGuido的地址是", ab['Guido'])
name = 'Swaroop'
print('第0项是', shoplist[0])
print('第1项是', shoplist[1])
print('第2项是', shoplist[2])
print('第3项是', shoplist[3])
print('倒数第1项是', shoplist[-1])
print('倒数第2项是', shoplist[-2])
print('第0个字符是', name[0])
print('第1到3项是', shoplist[1:3])
print('第2项到最后是', shoplist[2:])
print('第1项到倒数第1项是', shoplist[1:-1])
print('从头到尾所有项是', shoplist[:])
print('第1到3个字符是', name[1:3])
print('第2个字符到最后是', name[2:])
print('第1个字符到倒数第1个字符是', name[1:-1])
print('从头到尾所有字符是', name[:])
bri = set(['brazil', 'russia', 'India', 'China'])
print('India' in bri)