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)