Python数据类型
内置数据类型
在编程中,数据类型是一个重要的概念。
变量可以存储不同类型的数据,不同类型可以做不同的事情。
Python 默认内置了以下数据类型,分为以下几类:
文本类型: | str |
数字类型: | int ,,float complex |
序列类型: | list ,,tuple range |
映射类型: | dict |
设置类型: | set ,frozenset |
布尔类型: | bool |
二进制类型: | bytes ,,bytearray memoryview |
无 类型: | NoneType |
获取数据类型
您可以使用以下type()
函数获取任何对象的数据类型:
x = 5
print(type(x))
设置数据类型
在 Python 中,当你为变量赋值时会设置数据类型:
Example | Data Type |
---|---|
x = "Hello World" | str |
x = 20 | int |
x = 20.5 | float |
x = 1j | complex |
x = ["apple", "banana", "cherry"] | list |
x = ("apple", "banana", "cherry") | tuple |
x = range(6) | range |
x = {"name" : "John", "age" : 36} | dict |
x = {"apple", "banana", "cherry"} | set |
x = frozenset({"apple", "banana", "cherry"}) | frozenset |
x = True | bool |
x = b"Hello" | bytes |
x = bytearray(5) | bytearray |
x = memoryview(bytes(5)) | memoryview |
x = None | NoneType |
强制类型转换
如果要指定数据类型,可以使用以下构造函数:
Example | Data Type | Try it |
---|---|---|
x = str("Hello World") | str | Try it » |
x = int(20) | int | Try it » |
x = float(20.5) | float | Try it » |
x = complex(1j) | complex | Try it » |
x = list(("apple", "banana", "cherry")) | list | Try it » |
x = tuple(("apple", "banana", "cherry")) | tuple | Try it » |
x = range(6) | range | Try it » |
x = dict(name="John", age=36) | dict | Try it » |
x = set(("apple", "banana", "cherry")) | set | Try it » |
x = frozenset(("apple", "banana", "cherry")) | frozenset | Try it » |
x = bool(5) | bool | Try it » |
x = bytes(5) | bytes | Try it » |
x = bytearray(5) | bytearray | Try it » |
x = memoryview(bytes(5)) | memoryview | Try it » |
Python 数字
Python 中有三种数字类型:
int
float
complex
当你为数字类型的变量分配值时,就会创建它们:
x = 1 # int
y = 2.8 # float
z = 1j # complex
整数
Int,即整数,是一个整数,可以是正数或负数,没有小数,长度无限。
浮点
浮点数或“浮点数”是包含一个或多个小数的正数或负数。
复数
复数以“j”表示虚部:
x = 3+5j
y = 5j
z = -5j
强制类型转化
You can convert from one type to another with the int()
, float()
, and complex()
methods:
x = 1 # int y = 2.8 # float z = 1j # complex #convert from int to float: a = float(x) #convert from float to int: b = int(y) #convert from int to complex: c = complex(x)
随机数
Python 没有random()
生成随机数的函数,但是 Python 有一个内置模块, random
可用于生成随机数:
导入随机模块,显示1到9之间的随机数:
import random print(random.randrange(1, 10))
Python字符串
字符串
python中的字符串要么被单引号引起来,要么被双引号引起来。
'hello'与"hello"相同。
您可以使用以下函数显示字符串文字print()
print("Hello")
print('Hello')
引号中的引号
您可以在字符串内使用引号,只要它们不与字符串周围的引号匹配即可:
print("It's alright")
print("He is called 'Johnny'")
print('He is called "Johnny"')
将字符串分配给变量
将字符串分配给变量的方法是使用变量名后跟等号和字符串:
a = "Hello"
print(a)
多行字符串
您可以使用三个引号将多行字符串分配给变量:
a = """Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.""" print(a) 或者三个单引号: a = '''Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.''' print(a)
字符串是数组
与许多其他流行的编程语言一样,Python 中的字符串是表示 Unicode 字符的字节数组。
但是,Python 没有字符数据类型,单个字符只是一个长度为 1 的字符串。
方括号可用于访问字符串的元素。
a = "Hello, World!" print(a[1]) 输出e
循环遍历字符串
由于字符串是数组,我们可以使用循环来循环遍历字符串中的字符for
。
for x in "banana": print(x) output b a n a n a
字符串长度
要获取字符串的长度,请使用函数len()
。
a = "Hello, World!" print(len(a)) output 13
检查字符串
要检查字符串中是否存在某个短语或字符,我们可以使用关键字 in
。
检查以下文本中是否存在“free”: txt = "The best things in life are free!" print("free" in txt) output true
txt = "The best things in life are free!" if "free" in txt: print("Yes, 'free' is present.")
not in
要检查某个短语或字符是否不存在字符串中,我们可以使用关键字not in
。
检查以下文本中是否不存在“expensive”: txt = "The best things in life are free!" print("expensive" not in txt) output true 表示不存在expensive
仅当不存在“expensive”时才打印: txt = "The best things in life are free!" if "expensive" not in txt: print("No, 'expensive' is NOT present.")
切片
您可以使用切片语法返回一系列字符。
指定起始索引和结束索引(以冒号分隔),以返回字符串的一部分。
获取位置 2 到位置 5 的字符(不包括): b = "Hello, World!" print(b[2:5])
从头开始切片
通过省略起始索引,范围将从第一个字符开始:
获取从起始到位置 5 的字符(不包括): b = "Hello, World!" print(b[:5])
切片至末端
通过省略结束索引,范围将到达末尾:
获取从位置 2 开始一直到末尾的字符: b = "Hello, World!" print(b[2:])
负索引切片
使用负索引从字符串末尾开始切片:
From: "o" in "World!" (position -5) To, but not included: "d" in "World!" (position -2): b = "Hello, World!" print(b[-5:-2]) output orl 表示输出从o到l 三个字符
大写
该upper()方法返回大写的字符串: a = "Hello, World!" print(a.upper())
小写
该lower()方法返回小写的字符串: a = "Hello, World!" print(a.lower())
删除空格
空格是实际文本之前和/或之后的空格,通常您想要删除这个空格。
该strip()方法将删除开头或结尾的所有空格: a = " Hello, World! " print(a.strip()) # returns "Hello, World!"
替换字符串
该replace()方法用另一个字符串替换一个字符串: a = "Hello, World!" print(a.replace("H", "J"))
分割字符串
该split()
方法返回一个列表,其中指定分隔符之间的文本成为列表项。
如果该split()方法找到分隔符的实例,则将字符串拆分为子字符串: a = "Hello, World!" print(a.split(",")) # returns ['Hello', ' World!']
字符串连接
要连接或合并两个字符串,可以使用 + 运算符。
将变量a与变量 合并b到变量中c: a = "Hello" b = "World" c = a + b print(c) 要在它们之间添加空格,请添加" ": a = "Hello" b = "World" c = a + " " + b print(c)
F- string
F-String 是在 Python 3.6 中引入的,现在是格式化字符串的首选方式。
要将字符串指定为 f 字符串,只需f
在字符串文字前面放置一个,并添加花括号{}
作为变量和其他操作的占位符。
创建一个 f 字符串: age = 36 txt = f"My name is John, I am {age}" print(txt) 输出 My name is John, I am 36 如果不用f字符串,则失败 price = 59 txt = f"The price is {price} dollars" print(txt) 输出 The price is 59 dollars 通过添加冒号:和合法的格式类型来包含修饰符,例如, .2f这表示带有 2 位小数的定点数: 显示价格到2位小数: price = 59 txt = f"The price is {price:.2f} dollars" print(txt) 输出 The price is 59.00 dollar
在占位符中执行数学运算,并返回结果: txt = f"The price is {20 * 59} dollars" print(txt) 输出 The price is 1180 dollars