Python入门之数据类型

1. 浮点数

在Python中,浮点数用于表示非整数的数字,例如0.5、-7.8237591等。

浮点数创建方式

直接输入带小数点的数字

num1 = 3.14
num2 = -0.001
print(num1, num2)  #输出:3.14 -0.001

通过运算产生(如整数除法)

result = 5 / 2  #整数除法结果为浮点数
print(result)  #输出:2.5

浮点数的精度问题
需要注意的是,计算机无法完全精确地存储所有浮点数,原因有两点:

  • 存储空间有限:部分数字转换为二进制后会无限长,计算机只能截断存储,导致误差。
  • 十进制转二进制的特性:例如0.1和0.2转换为二进制后是无限循环小数,无法精确存储。
print(0.1 + 0.2)  #输出:0.30000000000000004(而非 0.3)

但像0.5这样的数,二进制表示为0.1,可以被精确存储:

print(0.5 + 0.5)  #输出:1.0(精确结果)

2. 字符串

字符串用于表示文本,通过单引号 ‘、双引号 ” 或三引号 ”’/””” 包裹创建。

字符串创建方式

单引号/双引号(适合单行文本):

str1 = 'hello'
str2 = "world"
print(str1, str2)  #输出:hello world

三引号(适合多行文本,且支持直接包含单引号,双引号无需转义):

str3 = '''这是第一行
这是第二行(包含单引号'和双引号")'''
print(str3)
#输出:
#这是第一行
#这是第二行(包含单引号'和双引号")

3. 字符串的运算

字符串连接(+)

使用+号可连接任意两个字符串,无论字符串是用单引号还是双引号创建的。连接后会生成一个新的字符串。

示例:

a = 'Hello'
b = " World"
c = a + b  #连接单引号字符串和双引号字符串
print(c)  #输出:Hello World

d = '123' + '456'  # 即使包含数字,仍作为字符串拼接
print(d)  #输出:123456

注意:字符串不能与数字(整数或浮点数)直接用+连接,否则会报错(类型不兼容)。

示例(报错):

s = '年龄:' + 18  #字符串 + 整数,类型不匹配
#报错:can only concatenate str (not "int") to str

字符串连接(*)

字符串可以与整数相乘,生成原始字符串重复指定次数的新字符串。字符串与整数的顺序不影响结果,但通常习惯将字符串放在前面。

示例:

print('a' * 3)    #字符串在前,输出:aaa
print(3 * 'b')    #整数在前,输出:bbb
print('hi' * 2)   #输出:hihi

限制:

  • 字符串之间不能用*相乘。
  • 字符串不能与浮点数(即使是整数浮点数,如2.0)相乘。

示例(报错):

print('a' * 'b')   #字符串相乘,报错:can't multiply sequence by non-int of type 'str'
print('a' * 2.0)   #字符串与浮点数相乘,报错:can't multiply sequence by non-int of type 'float'

4. 转义字符

部分字符无法直接包含在字符串中(如双引号在双引号字符串中),需用反斜杠\转义。常见转义字符:

  • \”:表示双引号
  • \’:表示单引号
  • \n:表示换行
  • \:表示反斜杠本身
#双引号在双引号字符串中需转义
str4 = "He said \"Hello\""
print(str4)  # 输出:He said "Hello"

#单引号在单引号字符串中需转义
str5 = 'It\'s a cat'
print(str5)  #输出:It's a cat

#换行符\n
str6 = "第一行\n第二行"
print(str6)
#输出:
#第一行
#第二行

#反斜杠本身
str7 = "路径:C:\\Users\\test"
print(str7)  #输出:路径:C:\Users\test

5. 不可变对象

Python中所有事物都是对象,根据值是否可修改分为可变对象和不可变对象:

  • 不可变对象:数字、字符串、元组(值一旦创建无法修改)。
  • 可变对象:列表、字典、字节数组(值可直接修改)。

字符串的不可变性
字符串是不可变对象,直接修改其中的字符会报错。若需 “修改”,需创建新字符串(如通过拼接、切片)。

示例(修改报错):

s = "hello"
s[0] = "H"  #尝试修改第一个字符,会抛出异常
#报错:'str' object does not support item assignment

示例(创建新字符串实现 “修改”):

s = "hello"
new_s = "H" + s[1:]  #拼接新字符和原字符串切片
print(new_s)  #输出:Hello

原创内容声明

本文为原创内容,版权归作者所有,未经授权禁止任何形式转载

(0)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注