news 2026/4/16 0:46:04

python基础

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
python基础

Part 1 基础数据类型

1.1字符串(str)

1.功能:记录、描述和表达信息;
2.创建:成对的单引号或者双引号;
3.+:两个字符串相加,拼接字符串;
4.*:一个字符串与一个数字相乘,重复字符串;
5.字符串可以被for循环遍历;
6.字符串可以利用下标进行索引;
7.len():求字符串的长度;
8.字符串的编码:
①ord():将字符转换成对应的十进制数字;
②chr():将十进制数字转换成对应的字符;
9.分隔字符串:str.split(分隔符),返回值类型为列表;
10.去除字符串开头和结尾的空格和换行:str.strip();
11.字符串的格式化:str.format();
name="jerry" age=17 print("我叫{},今年{:.2f}岁了".format(name,age))

1.2数字(int、float)

1.功能:计算、计数;
2.Python中的数学运算:
+、-、*、/;
%:整除后取余数;
//:整除;
**:乘方;

1.3布尔(bool)

1.功能:描述条件的结果;
2.布尔只有两种值:
True:
False:

1.4基础数据类型的转换

1.type():判断数据的类型;
2.将数据转换成整数:int();
3.将数据转换成浮点数:float();
4.将数据转换成字符串:str();
5.将数据转换成布尔:bool();
①布尔与其他数据类型的转换是根据使用场景自动发生的;
②当布尔进行数学运算时:True为1,False为0;
③当进行条件判断时:
True:非空、非0都为True;
False:空(None、""、[]、()、{})、0都为False;

Part 2 数据结构

1.储存多个数据的结构;
2.数据结构本身是一种更高级的数据类型;
3.数据结构和变量的区别:
①数据结构就是数据;
②变量只是用来表示数据的;

2.1序列

一、序列:
按顺序排列的数据,称为序列;
二、比如:
字符串、列表、元组;
三、特点:
a.可以被for循环遍历;
b.可以通过下标进行索引和切片;
索引:序列[下标];
切片:序列[start:end:step];
1.start为0可以省略不写,不包括end结尾的数据,end省略不写表示切到结尾;
2.step步长默认为1,可以省略不写,如果要设置步长start必须得写;
3.len():求序列的长度;
4.in:判断数据在序列中;
not in:判断不在;
5.+:两个相同的序列相加,拼接序列;
6.*:一个序列和数字相乘,重复序列;
7.max()/min():求序列中的最大值/最小值;
8.sum():求序列的和;

2.2列表(list)

2.2.1创建:

1.使用[]创建列表,多个数据用逗号分隔,可以创建空列表;
2.使用list()函数将序列转换成列表,可以创建空列表;
例如:list(range(100));

2.2.2列表的特点:

1.列表中可以储存任意的数据类型;
2.列表通过下标进行索引所以访问速度慢;
3.列表占用的空间比较小;

2.2.3列表的增删改查:

:索引和切片;
:list[下标] = 数据;
list.append(数据):向列表末尾添加数据;
list.insert(下标,数据):向指定位置添加数据;
del list[下标]:删除指定下标的数据;
list.pop(index = -1):默认删除列表尾部的数据,返回被删除的数据;
list.remove(数据):删除列表中第一个匹配项的数据;没有此数据,报错;

2.2.4列表的其他方法:

list.count(数据) :返回列表中数据出现的次数;没有此数据,输出0;
list.index(数据):返回数据在列表中第一个匹配值的下标;没有此数据,报错;
list.reverse():颠倒列表中的数据;
全切取反:list = list[::-1];
list.sort():对列表进行排序,默认是升序;
reverse = True:降序;
reverse = False:升序,默认;

2.2.5元组(tuple)

一、元组的创建:
1.使用()创建元组,多个数据用逗号分隔,可以创建空元组;
创建一个数据的元组:(1,)
2.使用tuple()函数来将序列转换成元组;
二、元组的特点:
1.元组是一种不可变的数据类型;
可变的数据类型:列表、字典;
不可以变的数据类型:整数、浮点数、字符串、布尔、元组;
2.元组可以储存任意的数据类型;

2.2.6字典(dict)

一、字典的创建:
需要使用{}创建字典,多个键值对用逗号分隔;
二、字典的特点:
1.字典中储存的是键值对形式的数据;
键值对: key:value
key必须是不可变的数据类型,
value可以是任意的数据类型;
不可变的数据类型:字符串、数字、布尔;
可变的数据类型:列表、字典;
2.字典是通过key进行索引,所以查找速度快;
3.字典所占的储存空间比较大;
4.字典中的数据没有顺序,但是可以对他们进行排序;
三、字典的增删改查:
:通过key进行索引;
比如:dict[key];
:先找到再重新赋值;
比如:dict[key] = 元素;
:先找如果找不到,就添加新键值对;
比如:dict[key] = 元素;
:先找到再删除;
del dict[key]
四、判断数据在字典中:
key in dict;
key not in dict;
for循环遍历字典可以得到字典中的所有key,间接的得到所有value;
五、字典的其他查找功能:
dict.keys():以列表的形式返回所有key;
dict.values():以列表的形式返回所有value;
dict.items():以列表的形式返回所有的以元组形式储存的键值对;
六、嵌套字典的访问
pet = {'dog': {'name': "二花", 'breed': '哈士奇', 'age': 3, 'city': '上海', '病因': '不吃饭' }, 'cat': {'name': "小白", 'breed': '中华田园猫', 'age': 5, 'city': '哈尔滨', '病因': '发烧', }, 'fish': {'name': '奥莉', 'breed': '小丑鱼', 'age': '3个月', 'city': '北京', 'sex': 'Female', '病因': '没毛病', }, 'bird': {'name': '小翠', 'breed': '虎皮鹦鹉', 'age': '1岁', 'city': '南京', 'sex': 'Male', '病因': "不吃饭" } } print(pet['dog']['name']) print(pet['cat']['name']) print(pet['fish']['name']) print(pet['bird']['name']) # 输出所有宠物的名字
七、键值交换
lihua={"年龄":12,"学校":"光明小学","兴趣":"羽毛球"} a={} for k,v in lihua.items(): a[v]=k print(a)
八、访问没有规律的嵌套字典
利用for循环输出1、2、3;
yqx = {'a': {'aa': 1}, 'b': {'bb': 2}, 'c': {'cc': 3}} for k,v in yqx.items(): for i in v: print(v[i]) for k, v in yqx.items(): for i,j in v.items(): print(j) for i in yqx.values(): for j in i: print(i[j]) for i in yqx.values(): for j in i.values(): print(j)

Part 3 输入和输出

3.1输入:input();

1.功能:将数据输入到程序中;
2.参数:提示信息;
3.返回值类型:字符串;

3.2输出:print();

1.功能:将数据输出到屏幕上;
2.参数:
a.位置参数:需要输出的数据,多个数据用逗号分隔;
b.关键字参数:
sep:同一个print语句输出的数据的分隔符,默认为空格;
end:不同print语句输出的数据的分隔符,默认为换行(”\n“);
3.返回值:无;

Part 4控制结构

什么是控制结构:可以控制代码执行顺序的结构体;
控制结构的特点:需要使用冒号和缩进组织代码;

4.1for循环

1.容器:字符串、列表(range())、元组、字典;
2.range(start,end,step):生成数列;
a.start为0,可以省略不写;不包含stop结尾的数据;
b.如果step步长为1,可以省略不写,默认为1;
c.如果要设置步长,start一定不能省略;
3.for循环执行的原理:遍历;
4.重复一样的指令;
5.重复一样的或者规律变化的数据
for 循环遍历 in 容器: 循环体

例题:实现偶数和

# 方法1:自己构造数据; a = 0 sum = 0 for i in range(51): sum = sum + a a = a + 2 print(sum) # 方法2:使用range()生成数据; a = 0 for i in range(0, 101, 2): a = a + i print(a) # 方法3:使用if筛选数据; a = 0 for i in range(101): if i%2 == 0: a = a + i print(a)

4.2 while循环

while 条件: 循环体; b = 0 c = 0 while b<=101: c = c+b b = b+2 print(c)
break:退出当前循环;
continue:退出本次循环,进入下一次循环;

4.3 if条件

一、语法:
if条件判断,永远判断的是条件的结果,条件的结果为布尔类型;
if 条件: ... # 如果两个条件互为对立关系: if 条件: ... else: ... # 如果存在多个条件,并且只要一个条件满足,其余条件都不会进行判断: if 条件1: ... elif 条件2: ... else: ...
二、逻辑运算符:
and:连接两个条件,必须两个条件都满足时,and这个整体才满足;
or:连接两个条件,只要有一个条件满足时,or这个整体就满足;
not:取反;
三、比较运算符:
<=、==、!=、>=;

Part 5 函数

5.1基础语法

一、语法:

执行函数:函数名();
def函数名(可以的参数):
函数体

二、函数的参数:

1.功能:明确函数的执行;
2.参数的分类:
①位置参数:传递参数时按照定义参数的位置传递;
②关键字参数:传递参数时根据参数的名字进行传递,关键字参数一定要在位置参数之后;
③默认参数:定义参数时存在默认值,一定要定义在位置参数之后;
3.函数的返回值:
a.什么是返回值:执行函数得到的结果(数据);
b.设置函数的返回值:使用return语句
一个return语句,可以以元组的形式同时返回多个数据;
一个函数中,可以同时存在多个return语句,只要一个执行函数直接结束运行;
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 18:18:05

EmotiVoice能否实现方言情感语音合成?可行性分析

EmotiVoice能否实现方言情感语音合成&#xff1f;技术路径与工程实践深度解析 在智能语音助手逐渐走进千家万户的今天&#xff0c;用户早已不再满足于“能说话”的机器。他们期待的是有情绪、有温度、甚至带着一口地道乡音的对话体验。当一位四川老人听到虚拟客服用熟悉的川普说…

作者头像 李华
网站建设 2026/4/11 16:37:56

1、Linksys WRT54G路由器:功能、历史与选购指南

Linksys WRT54G路由器:功能、历史与选购指南 1. 探索WRT54G的世界 在计算机领域,第三方固件的发展历程漫长,Linksys的WRT54G系列硬件也经历了诸多变革。WRT54G系列路由器功能丰富,能实现许多有趣的项目。无论是新手还是有经验的用户,都能从这些路由器中发掘出巨大的潜力…

作者头像 李华
网站建设 2026/4/14 21:55:10

8、第三方固件OpenWrt与DD - WRT的配置、使用及安全设置

第三方固件OpenWrt与DD - WRT的配置、使用及安全设置 1. 清理NVRAM变量 当安装OpenWrt后,若想清理之前安装的其他固件留下的变量,可输入 nvram commit 命令,这样就能得到清理后的NVRAM变量列表。 2. DD - WRT的配置与使用 2.1 主要接口 DD - WRT的主要配置接口是Web界…

作者头像 李华
网站建设 2026/4/13 5:02:14

20、Git 推送操作全解析

Git 推送操作全解析 1. 代码同步与推送概述 在代码管理中,保持代码库的同步是一项循环往复的工作,主要包括将本地的更改推送到远程仓库( git push ),以及从远程仓库拉取新的更改( git pull )。如果你为项目做出贡献,就需要将自己的更改推送到远程仓库;若仓库频繁…

作者头像 李华
网站建设 2026/4/12 23:40:11

25、Git使用技巧与`git rebase`命令详解

Git使用技巧与 git rebase 命令详解 1. 在命令行使用 git blame 当使用Git GUI程序运行 git blame 遇到问题时,可以采用命令行的方式。在命令行中输入以下命令: git blame math.sh执行该命令后,会得到类似下面的输出: 256d4027 (Rick Umali 2014-08-05 18:54:5…

作者头像 李华
网站建设 2026/4/14 6:14:26

20、帧缓冲接口设计与 STBmenu 工具包应用指南

帧缓冲接口设计与 STBmenu 工具包应用指南 在图形界面开发中,设计一个高效且易用的帧缓冲接口至关重要。本文将详细探讨如何使用 SDL 进行基本图形显示和事件处理,同时介绍几种流行的图形用户界面(GUI)工具包,并重点讲解基于 SDL 开发的 STBmenu 工具包,以及如何使用它构…

作者头像 李华