Python基础入门:数据类型、字符串与序列操作详解

顾言
顾言
发布时间:2026-10-14| 3人浏览过
原创

本文系统梳理Python作为动态解释型强类型语言的核心特性,涵盖进制转换、注释规范及输入输出。重点详解字符串的格式化方法(format/format_map)及常用操作方法,并深入解析列表与元组的增删改查、排序翻转等序列操作,特别澄清元组“不可变”的真实含义,帮助初学者建立扎实的Python编程基础。

Python语言特性概述

Python是一种动态解释型的强类型定义语言,其执行机制为先编译后解释。

动态类型语言

在动态类型语言中编程时,开发者无需手动指定变量的数据类型。语言会在首次给变量赋值时,在内部自动记录该数据类型。

解释型

解释型语言在运行程序时,每当执行到源代码中的一条指令,解释程序外壳会将源代码转换为二进制代码供计算机执行。简而言之,这个过程是不断解释、执行、再解释、再执行的循环。

强类型

强类型意味着一旦变量被赋予某种数据类型,若不经过强制类型转换,它将始终保持该数据类型,不会发生隐式类型转换。

Python的主要优点包括:执行效率较高、适合团队协作开发、具备良好的跨平台移植性、易于扩展以及支持嵌入其他程序。

Python的主要缺点包括:运行速度相对较慢、源代码难以加密保护,以及受全局解释器锁(GIL)限制,难以利用多线程实现真正的并行进程。

在脚本开头指定编码方式,以告知解释器使用何种编码执行代码。

编码与基本语法规范

#!/usr/bin/env python # -*- coding: utf-8 -*-

进制

二进制 01 八进制 01234567 十进制 0123456789 十六进制 0123456789ABCDEF

注释

#单行注释 '''多行注释'''

用户输入:input('用户输入内容') 打印屏幕 name = 'sunlizhao' print('I am %s'%(name)) %s是字符串 %d是数字 %f是浮点型

Python核心数据类型

数据类型

数字 int(整型),long(长整形),float(浮点型),complex(负数) 布尔 真或假, 1或0, true或false 字符串 name = 'sunlizhao' print('I am %s'%(name)) %s是字符串 %d是数字 %f是浮点型

字符串常用操作方法

字符串操作:

name.capitalize() 首字母大写 name.casefold() 大写全部小写 name.center(50,'-') 在name的两边输出 - 字符 name.count('s') 统计s出现的次数 name.encode() 字符编码为bytes格式 name.endswith('lz') 判断字符串是否为lz结尾 's\tlz'.expandtabs(10) 讲\t转换为多长的空格 name.find('sl') 查找sl,找到返回其索引, 找不到返回-1

format :

>>> msg = "my name is {}, and age is {}" >>> msg.format("alex",22) 'my name is alex, and age is 22' >>> msg = "my name is {1}, and age is {0}" >>> msg.format("alex",22) 'my name is 22, and age is alex' >>> msg = "my name is {name}, and age is {age}" >>> msg.format(age=22,name="ale") 'my name is ale, and age is 22'

format_map

>>> msg.format_map({'name':'alex','age':22}) 'my name is alex, and age is 22'


num1 = [11,22,33]
num2 = (11,22,33)
#num3 = {'a' = 11, 'b' = 22, 'c' = 33}
 
myStr = 'hello word itcast and'
#字符串操作
print (myStr)
print(myStr.find("word"))#找不到返回-1,找到返回下标
print(myStr.rfind("itcast"))#从右面查找,返回下表
print(myStr.index('word'))#同find,找不到会出现异常
print(myStr.rindex("itcast"))#同find
 
print(myStr.count('e'))#查找出现的次数
 
print(myStr.replace('word','Word',1))#将word替换为Word(从左到右替换一个)
 
print(myStr.split(' '))#将字符串中的空格切割掉
 
print(myStr.capitalize())#字符串第一个字符大写
print(myStr.title())#首字母大写
 
print(myStr.lower())#所有大写字符转换为小写
print(myStr.upper())#所有小写字母转换为大写
 
lyric = " 想陪你一起看大海 "
print(lyric.center(50))#在50个字符中居中
print(lyric.ljust(50))#靠左
print(lyric.rjust(50))#靠右
 
print(lyric.strip())#清除左右两侧空格
print(lyric.lstrip())#清楚左侧空格
print(lyric.rstrip())#清楚右侧空格
 
print(lyric.partition("一起"))#以'一起'为中心分割成三段
print(lyric.rpartition("一起"))#从右边开始查找(元组)
 
file_name = "xxxx.txt"
print(file_name.endswith(".txt"))#判断是否是.txt为后缀
print(file_name.startswith("xxxx"))#判断是否是xxxx为开头
 
numbe = "q"
print(numbe.isalpha())#判断是否是字母
print(numbe.isdigit())#判断是否是数字
print(numbe.isalnum())#判断是否是数字或者字母
 
print(numbe.isspace())#判断是否是纯空格
 
a = ["aa","bb","cc"]
b = " "
print(" ".join(a))#将a中的字符串用b连接起来

列表与元组的序列操作

列表,元祖操作

定义列表 names = ['孙礼昭','slz','sunlizaho'] 下标从0开始names[0],names[1],names[2] 倒取从-1开始 names[-1],names[-2],names[-3] 切片:取多个元素 步长为2 names[::2] 如果想取到最后一个元素,不能写-1 names[0:] 追加: 从最后添加 names.append('我是新来的') 插入: 通过索引插入 names.insert(0,'我是第一') 修改: 通过索引修改 names[0] = '我才是第一' 删除: 强删list def names 清空list names.clear() 按照下标删除元素内容 def names[0] names[0] = [] 删除指定元素 names.remove('slz') 删除列表最后一个值 names.pop() 拓展: list1的内容添加到names的后面 names.extend(list1) 统计: 统计names中slz出现的次数 names.count('slz') 排序/翻转: 按照ascll码排序,注意py3不同数据类型不能排序 names.sort() 将整个list倒序(不排只倒) names.reverse() 获取下标: 根据元素内容获取下标(只返回找到的第一个) names.index('slz')

元组:tuple一旦创建,不得修改


t = (a,b,[c,d])
tt = t[2]
tt[0] = e
tt[1] = f
print(tt)

不是说不能变吗? 现在为什么又可以变了呢!

tuple的不变是指向不变,指向的list不能变,但是里面的内容是可以更改的

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

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 算法库。