Python基础:变量与核心数据类型(字符串、数字)详解

小满
小满
发布时间:2026-10-12| 3人浏览过
原创

本文深入解析Python中的变量机制与核心数据类型。详细阐述变量无需声明及赋值规则,规范变量命名约定。重点介绍字符串的创建、索引、切片及大小写、空白处理等常用方法,并解析数字类型的int、float、bool及complex特性,对比type与isinstance的区别,最后梳理算术与赋值运算符的使用细节。

一、变量

1.变量

在Python语言中,变量定义无需预先声明类型。任何变量在首次赋值后才会被创建并占用内存空间。

Python中的变量本身并不具备类型属性,所谓的“类型”实际上是指变量所指向的内存中具体对象的类型。

赋值操作通过等号(=)完成。

等号(=)左侧指定变量名,右侧指定赋予该变量的具体数值或对象。

message = “hello,Python"
print(message)

运行结果如下:

变量与值之间建立一对一的绑定关系,在程序执行期间,一个变量名仅能指向一个特定的值。 Python允许你同时为多个变量赋值。如:

a = b = c = 1
a, b, c = 1, 2, "runoob"

2.变量的命名规则

  • 变量名只能由字母、数字和下划线组成。命名必须以字母或下划线开头,严禁以数字开头。
  • 变量名内部不允许包含空格,但推荐使用下划线来分隔单词以提高可读性。
  • 严禁使用Python的关键字作为变量名。Python的标准库提供了 keyword 模块,可用于查看当前版本支持的所有关键字列表:
import keyword
print(keyword.kwlist)

注意:在命名时应避免使用小写字母l和大写字母O,因为它们容易与数字1和0混淆。Python社区惯例是使用小写字母定义变量名;虽然使用大写字母不会引发语法错误,但建议尽量避免。

二、标准数据类型

Python3 提供了六种标准数据类型:

  • Number(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Set(集合)
  • Dictionary(字典)

在Python3的这六种标准数据类型中:

  • 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
  • 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

1.字符串

字符串(string)

word = '字符串'
sentence = "这是一个句子。"
paragraph = """这是一个段落,

字符串可以使用三引号(""")来定义多行字符串。

  • 在Python中,单引号和双引号的使用方式完全一致。
  • 使用三引号(''' 或 “”")可以方便地指定一个多行字符串。
  • 转义符 \。
  • 反斜杠用于执行转义操作;若在字符串前添加字母r,可禁用转义机制。例如 r"this is a line with \n" 中的 \n 将作为普通字符显示,而非换行符。
  • 相邻的字符串字面量会自动级联连接,例如 "this " "is " "string" 会被自动合并为 this is string。
  • 字符串支持使用 + 运算符进行连接,使用 * 运算符进行重复。
  • Python字符串支持两种索引方式:从左向右从 0 开始计数,从右向左从 -1 开始计数。
  • Python中的字符串对象是不可变的,无法直接修改其内容。
  • Python没有独立的字符类型,单个字符被视为长度为 1 的字符串。

字符串截取遵循以下语法格式:变量[头下标:尾下标:步长]。

str='史迪崽儿的Python日记'
print(str)                 # 输出字符串
print(str[0:-1])           # 输出第一个到倒数第二个的所有字符
print(str[0])              # 输出字符串第一个字符
print(str[2:5])            # 输出从第三个开始到第五个的字符
print(str[2:])             # 输出从第三个开始后的所有字符
print(str[1:5:2])          # 输出从第二个开始到第五个且每隔一个的字符(步长为2)
print(str * 2)             # 输出字符串两次
print(str + '你好')         # 连接字符串
 
print('------------------------------')
 
print('hello\nrunoob')      # 使用反斜杠(\)+n转义特殊字符
print(r'hello\nrunoob')     # 在字符串前面添加一个 r,表示原始字符串,不会发生转义

print('\n')       # 输出空行
print(r'\n')      # 输出 \n
>>>

运行结果如下:

转义字符

  • 在字符串中插入制表符,使用“\t”。
  • 在字符串中插入换行符,使用“\n”。
  • 表示反斜杠符号本身,使用“\”。
  • 表示单引号字符,使用“’”。
  • 表示双引号字符,使用“"”。
  • 表示回车符,使用“\r”。
str1 = "睡觉诗"
str2 = "\'史迪崽儿\'\t2021-12-13"
str3 = "春困秋乏夏打盹\n冬眠不是一小会"
print(str1)
print(str2)
print(str3)

修改字符串大小写

  • 将每个单词的首字母转换为大写,使用 title() 方法。
  • 将字符串中所有字母转换为大写,使用 upper() 方法。
  • 将字符串中所有字母转换为小写,使用 lower() 方法。
str = "hello,my dear Python world"
print(str.title())
print(str.upper())
print(str.lower())

删除字符串空白

  • 去除字符串末尾的空白,使用 rstrip() 方法。
  • 去除字符串开头的空白,使用 lstrip() 方法。
  • 同时去除字符串开头和末尾的空白,使用 strip() 方法。
str = "   A   "
print(str)
print(str.rstrip())
print(str.lstrip())
print(str.strip())

如果视觉上难以区分差异,可点击行末尾观察:第三行的光标停留在“A”之后有一段距离,而第四行的光标紧贴在“A”之后。

判断字符串全是字母或数字

  • 判断字符串是否全部由字母组成,使用 isalpha() 方法。
  • 判断字符串是否全部由数字组成,使用 isdigit() 方法。
  • 判断字符串是否同时包含字母和数字,使用 isalnum() 方法。
str1 = "abc"
str2 = "123"
str3 = "abc123"
print("三个字符串是否全为字母:")
print(str1.isalpha())
print(str2.isalpha())
print(str3.isalpha())
print("三个字符串是否全为数字:")
print(str1.isdigit())
print(str2.isdigit())
print(str3.isdigit())
print("三个字符串是否既有字母又有数字:")
print(str1.isalnum())
print(str2.isalnum())
print(str3.isalnum())

字符串查找

  • 检查字符串是否以指定词开头,使用 startswith() 方法。
  • 检查字符串是否以指定词结尾,使用 endswith() 方法。
  • 查找任意位置的词,从左往右使用 find() 或从右往左使用 rfind()。
names = "张三"
print(names.startswith("张"))
print(names.endswith("四"))
articles = "爱不是索取,亦不是占有,而是看到你幸福就好。即便这世上不再有我,即便我没法再守护你,我会化作人间的风雨,永远陪伴在你身边,永远……"
print(articles.find("守护"))
print(articles.rfind("守护"))

其中,38是“守护”一词的位置,从0开始计算,不管从左往右查还是从右往左查,位置不变。

字符串替换

使用 replace() 方法进行字符串替换。

articles = "爱不是索取,亦不是占有,而是看到你幸福就好。即便这世上不再有我,即便我没法再守护你,我会化作人间的风雨,永远陪伴在你身边,永远……"
print(articles.replace("守护","保护"))

2.数字(Number)

Python3 支持 int、float、bool、complex(复数)四种数字类型。

在Python 3里,只有一种整数类型 int,表示为长整型,不再区分 python2 中的 Long 类型。

内置的 type() 函数可用于查询变量所指对象的类型,此外还可以用 isinstance 来判断,返回bool值。

a = 111
print(isinstance(a, int))

isinstance 和 type 的区别在于:

type()不会认为子类是一种父类类型。 isinstance()会认为子类是一种父类类型。

注意:**Python3 中,bool 是 int 的子类,True 和 False 可以和数字相加, True == 1、False == 0 会返回 True,但可以通过 is 来判断类型。

算数运算符:

  • +加法
  • -减法
  • *乘法
  • /除法
  • %取余
  • //整除取商
  • **幂

赋值运算符:

  • =赋值
  • +=加赋值
  • -+减赋值
  • *=乘赋值
  • /=除赋值
  • %=取余赋值
  • //=整除赋值
  • **=幂赋值

注意:**在其他语言中,如C++,java中,都有自增自减操作符“++”,“–”,但是在Python中表示正负。

到此这篇关于Python 数据类型中的字符串和数字的文章就介绍到这了,更多相关Python 字符串和数字内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。