新闻详情

新闻详情

首页 / 资讯中心 / 详情

Python基础学习笔记(学习更新中)

发布时间:2026/9/7 22:15:45来源:尧图网络
Python基础学习笔记(学习更新中)
Python基础入门文章目录Python基础入门1 Python核心语法1.1 数据存储与运算*字面量与变量**常见的数据类型**输入与输出**运算符*1.2 流程控制语句*条件判断**模式匹配**循环*1.3数据存储容器*列表list**字符串str**元组tuple**集合set**字典dict**总结*1 Python核心语法1.1 数据存储与运算字面量与变量字面量指程序中直接书写的固定值数据就称为字面量。#字面量的写法print(10)#整数intprint(1.1)#浮点数floatprint(True)#布尔boolprint(False)#布尔boolprint(hello)#字符串strprint(None)#空值NoneType#布尔类型本质也是整数类型True - 1False - 0print(True1)#2print(False-1)#-1变量程序中用来存储单个数据的容器通常会把经常发生变化的数据存储在变量中。定义格式变量名 变量值# 变量 --- Python是动态类型语言, 一个变量是可以存储不同类型的数据的 (但是项目开发中, 推荐变量只存储一种类型的数据)num123.4print(num)numokprint(num)numTrueprint(num)标识符是程序员在代码中为变量、函数、类等元素所起的名字。命名规则规定:1.只能包含字母a-zA-Z、数字0-9、下划线_2.不能以数字开头3.不能使用关键字True、False、None、and、or、if、else、elif、for、while等4.严格区分大小写比如ageAgeAGE是三个变量#标识符true1print(true)name1Pythonprint(name1)命名规范变量:1.见名知意2.多个部分使用下划线连接3.英文字母全小写常见的数据类型字符串字符串的三种定义方式# 双引号定义s1Hello# 单引号定义s2Python# 三引号定义 (多行字符串)s3 Hello: 欢迎大家进入到Python的学习! 大家记得点赞哦 ~ 常见的转义字符\ 单引号、\ 双引号、\n 换行符、\t 制表符字符串的拼接# 字符串拼接两种s1我喜欢Pythonprint(s1)msg1我喜欢msg2Pythonprint(龟叔说: msg1 , msg2)案例字符串的拼接三种方式最常见的但是只能拼接str型str(age)强转str型# 案例: --- str(int数字) --- 将int类型的数字转为字符串name涛哥age18pro软件工程hobbyPython、Javaprint(大家好, 我是name, 今年str(age)岁, 学习的专业是pro, 爱好 hobby)%占位符# 字符串格式化 -- 方式一: %s 占位符name涛哥age18pro软件工程hobbyPython、Javaprint(大家好, 我是 %s , 今年 %s 岁, 学习的专业是 %s , 爱好 %s%(name,age,pro,hobby))f内容{变量/表达式} 推荐name涛哥age18pro软件工程hobbyPython、Javaprint(f大家好, 我是{name}, 今年{age}岁, 学习的专业是{pro}, 爱好{hobby})输入与输出# 获取键盘上输入的数据 -- input(...)nameinput(请输入你的名字)ageinput(请输入你的年龄:)print(f你的姓名{name},你的年龄{age})运算符算术运算符算术运算符是用于执行基本的数学运算的符号作用于一个或多个操作数上并产生一个计算结果。# 算术运算符print(10 4 ,104)# 加print(10 - 4 ,10-4)# 减print(10 * 4 ,10*4)# 乘print(10 / 4 ,10/4)# 除 - 2.5print(10 // 4 ,10//4)# 整除(结果为整数) - 2print(10 % 4 ,10%4)# 取余/求模 - 2print(10 ** 4 ,10**4)# 幂指数, 10的4次方 - 10000赋值运算符赋值运算符是编程语言中用于将值或表达式的结果保存到变量中的运算符。把右边的值赋给左边的变量比较运算符比较运算符也称为关系运算符用于比较两个值之间的关系。会计算运算符两边的表达式然后返回一个布尔值作为结果(True – 表示比较关系成立False – 表示比较关系不成立)。逻辑运算符逻辑运算符是用于连接多个条件(布尔)表达式其值为“真”或“假”并返回一个最终布尔结果的运算符。案例键盘输入一个整数, 判断这个数字是否在 10-20 之间 -- 在: True, 不在: Falsenint(input(请输入一个整数: ))print(f{n}在10-20之间: ,n10andn20)# and连接的条件是并且的关系, 两个条件同时成立(True), 结果才是True; 否则, 就是False1.2 流程控制语句条件判断if语句只有满足指定条件才会执行对应的代码逻辑#if条件判断基本格式if要判断的条件:条件成立时要执行对应的操作# if条件判断如果分数超过680, 我就去清华读书score600ifscore680:print(欢迎你来清华读书)print(也恭喜你即将踏入精彩的大学生活)if-else语句if要判断的条件:条件成立时执行对应的操作1else:条件不成立时执行的操作2案例# if...else...案例:完成B站登录功能的实现# 正确的账号和密码ok_account18888888888ok_password666888# # 1. 接收用户输入的账号和密码accountinput(请输入您的B站账号: )passwordinput(请输入您的B站密码: )# # 2. 判断账号和密码是否全部正确, 如果都正确, 则登录成功ifaccountok_accountandpasswordok_password:print(登录成功 ~)print(进入B站首页 ~)else:print(登录失败 !)print(账号或密码错误 !)if-elif-else语句# if...elif...else结构if要判断的条件1:条件成立时执行对应的操作1elif要判断的条件2:条件成立时执行对应的操作2else:条件不成立时执行的操作3# if...elif...else结构numint(input(请输入数字))ifnum0:print(f{num}是 正数)elifnum0:print(f{num}是 负数)else:print(f{num}是 0)模式匹配match…case语句:结构模式匹配就是用一个清晰的 模板 去精准的匹配数据的结构和内容匹配成功则执行响应的操作。循环while循环语句for循环语句while循环是通过条件表达式来控制是否要进行下一次循环的。而for循环本质是一种轮询遍历机制对一批内容进行逐个处理。else可写可不写只要for语句执行完自己会退出# for循环: 遍历输入的字符串msginput(请输入需要遍历的字符串: )forsinmsg:# s 表示遍历出来的元素 ; msg 表示需要遍历的数据print(f元素:{s})else:print(遍历结束!)range语句作用生成指定规则的数字序列用法1range(end) - 获取一个从0开始到end结束的数字序列不含end本身range(5)获取的数据就是 0,1,2,3,4用法2range(start,end) - 获取一个从start开始到end结束的数字序列不含end本身range(2,8)获取的数据就是 2,3,4,5,6,7用法3range(start,end,step) - 获取一个从start开始到end结束的数字序列step步长不含end本身range(0,10,2)获取的数据就是 0,2,4,6,8# 案例1: 计算 1-100 之间所有的奇数之和total0# 记录累加之和原始foriinrange(1,101):ifi%21:# 奇数totali嵌套循环例子# 嵌套循环案例: 打印99乘法表foriinrange(1,10):# 外层循环 - 控制行forjinrange(1,i1):# 内层循环 - 控制列print(f{j}x{i}{j*i},end\t)print()1.3数据存储容器列表list列表是数据容器中的一类是一次性可以存储多个数据元素的。定义列表名称 [元素1元素2元素3元素4元素5…]s [54, 15, 75, 108, 23, 78, 75]特点可以存储不同类型的元素元素有序、可以重复、元素可以修改一般用正向索引列表元素的查看修改删除查看list[0]修改list[0] “A”删除del list[0]列表切片切片是指对操作的数据截取其中一部分的操作。列表、字符串、元组都支持切片操作。语法s[start:end:step]特点start开始索引不指定默认为0第一个元素的索引end结束索引不指定默认为列表长度(直到列表末尾)step步长不指定默认为1例子s[“A”,“B”,“C”,“D”,“E”,“F”]s[0:3:1]为[“A”,“B”,“C”]列表常见方法Python中用于数据统计的常见语句min()获取最小值max()获取最大值sum()求和len()获取元素的个数案例1将用户输入的10个数字存储到一个列表中并将列表中的数字进行排序, 输出其中的最小值、最大值 和 平均值。# 1. 定义列表num_list[]# 2. 将用户输入的10个数字存入列表foriinrange(10):numint(input(请输入一个有效的数字: ))num_list.append(num)print(数字列表: ,num_list)# 3. 排序num_list.sort()print(排序后的数字列表: ,num_list)# 4. 输出其中的最小值、最大值 和 平均值。--- sum() 求和 ; len() 获取元素的个数(列表的长度)print(最小值: ,num_list[0])print(最大值: ,num_list[-1])print(平均值: ,sum(num_list)/len(num_list))案例2合并两个列表中的元素并对合并的结果进行去重处理(去除列表中的重复元素)。快速合并两个列表的方法使用运算符直接合并使用*进行解包操作(解包指将列表这一类数据容器解开成独立的元素)num_list1[19,23,54,64,875,20,109,232,123,54]num_list2[55,80,72,35,60,123,54,29,91]# 1. 合并列表num_listnum_list1num_list2print(合并后的原始列表: ,num_list)# 2. 去重重复记录new_list[]# 去重重复记录后的列表fornuminnum_list:# 判断new_list中是否存在num元素, 如果不存在, 再添加ifnumnotinnew_list:# 判断元素是否存在于列表中, 如果存在, 则返回True; 不存在, 返回Falsenew_list.append(num)print(去重重复记录后的列表: ,new_list)列表推导式含义列表推导式就是按照一定规则快速生成一个列表的方法格式1列表名称[要插入列表的数据 for i in 列表]格式2列表名称[要插入列表的数据 for i in 列表 if 条件]案例生成1-20的平方列表。num_list2[i**2foriinrange(1,21)]print(num_list2)案例2从如下数字列表中提取所有偶数并计算其平方组成一个新的列表。num_list[12,32,45,77,80,92,33,57,97,98,110,111,122]new_list[i**2foriinnum_listifi%20]print(new_list)字符串str字符串是字符的容器一个字符串中可以存放任意数量的字符特点不可变性无法修改有序性可迭代性字符串中的每一个字符元素都有其对应的下标索引通过元素对应的索引就可以获取到对应的元素。字符串操作常用方法案例邮箱格式验证用户输入一个邮箱, 验证邮箱格式是否正确(包含一个和至少一个.), 如果输入正确, 输出邮箱格式正确, 否则输出邮箱格式错误。# 1. 接收用户输入的邮箱mailinput(请输入邮箱: )# 2. 判断邮箱的格式ifmail.count()1and.inmail:print(f{mail}是合法的邮箱)else:print(f{mail}是非法的邮箱)元组tuple元组是不可变的序列类似于列表但创建后不能修改。定义元组名称 (元素1元素2…)定义空元组元组名称 () 、元组名称 tuple()特点可以存储不同类型的元素元素可以重复、有序、不可以修改 (支持索引访问、切片)方法count()统计某元素在元组中出现的次数index()查找某个元素在元组中的索引位置(第一次出现的位置)元组的组包和解包组包Packing将多个值合并到一个容器元组、列表中。解包Unpacking将容器(元组、列表)解开成独立的元素分别赋值给多个变量。# 定义元组, 组包t1(5,7,9,1)# 定义元组, 组包t25,7,9,1# 基础解包a,b,c,dt1# (*)扩展解包x,*y,zt2# x为5y为[7, 9]z为1s,*ot2# s为5o为[7, 9, 1]*o,et2# o为[5, 7, 9]e为1集合set集合(set)是一种无序的、不可重复、可修改的数据容器。定义s1 {“C”, “D”, “X”, “T”, “O”, “U”}定义空集合s2 set()特点无序不可重复可修改注由于集合是无序的因此是不支持下标索引访问的集合常用操作集合set操作的运算符交集|并集-差集案例# 1. 找出同时选修了 法语 和 艺术 的学生 french_set art_set# 方式一:fa_setfrench_set.intersection(art_set)print(f同时选修了 法语 和 艺术 的学生:{fa_set})# 方式二: -- 交集fa_set2french_setart_setprint(f同时选修了 法语 和 艺术 的学生:{fa_set2})# 3. 找出选修了足球, 但是没有选修篮球的学生 - 差集# 方式一:fb_setfootball_set.difference(basketball_set)print(f选修了足球, 但是没有选修篮球的学生:{fb_set})# 方式二: - --- 差集fb_set2football_set-basketball_setprint(f选修了足球, 但是没有选修篮球的学生:{fb_set2})# 4.1 获取到学生名单 -- 并集 (|)all_setfootball_set.union(basketball_set).union(french_set).union(art_set)all_setfootball_set|basketball_set|french_set|art_set集合推导式写法变量名称{i表达式 for i in 列表}变量名称{i表达式 for i in 列表 if 条件}与之前列表推导式用法类似字典dict使用键值对keyvalue来存储数据每一个键都对应一个值通过键key可以快速找到对应的值value。定义字典名称 {key: value, key:value, key:value …}定义空字典字典名称 {}、字典名称 dict()根据key获取value值 字典名称[key]注字典dict中的value可以是任何类型的数据而key不能为可变类型如不能为 列表list、集合set、字典dict。注意事项value可以是任意类型而key必须是不可变类型不能为list、set、dict字典内的key不允许重复如果重复定义后面的覆盖前面的字典是没有索引下标的不能根据索引获取值只可以根据key获取value字典常用操作字典是支持遍历的如下# 遍历dict1{王林:670,李慕婉:608,许立国:580,韩立:688}forkindict1.keys():print(f{k}:{dict1[k]})foritemindict1.items():print(f{item[0]}:{item[1]})fork,vindict1.items():print(f{k}:{v})总结
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

射频识别技术重构仓库管理系统:从选型到落地指南 2026/9/8 6:05:03

射频识别技术重构仓库管理系统:从选型到落地指南

简介:一套RFID仓库管理系统完整项目,面向需要开发或学习仓储信息化应用的开发者,覆盖到货检验、入库、分配库位、库存变动、查询与出库等环节的数据自动采集,帮助企业提高库存数据录入速度与准确性。包体共42个文件,压…

阅读更多 →
开源物联网云平台私有化部署选型与落地实践 2026/9/8 6:05:03

开源物联网云平台私有化部署选型与落地实践

先交代一下背景:这几年物联网项目从“能用就行”逐渐变成了“稳定、可控、可扩展”,很多团队在选平台时会卡在一个问题上——数据放公有云不放心、按设备数买商业授权又太贵,于是“私有化部署 开源”成了最现实的折中路线。我自己帮客户落地…

阅读更多 →
从Nanobot源码读懂OpenClaw架构:Agent循环与技能机制解析 2026/9/8 6:05:03

从Nanobot源码读懂OpenClaw架构:Agent循环与技能机制解析

1. 先搞清楚这件事的来龙去脉最近在折腾 OpenClaw,这个项目在 GitHub 上的热度一直不低,官方定位是“你的个人 AI 助理框架”,玩法相当野——既能接 Telegram、Discord 这些消息渠道,又能操作本地文件、执行命令,还能自…

阅读更多 →
可软件训练的电子鼻:传感器阵列与AI模型实现气味识别 2026/9/8 6:05:03

可软件训练的电子鼻:传感器阵列与AI模型实现气味识别

1. 项目概述与整体设计思路 1.1 可软件训练的电子鼻到底解决了什么问题 先聊一个很多人问过我的问题:电子鼻这玩意儿,和普通的单个气体传感器到底有啥本质区别? 单个气体传感器,比如我们常见的MQ-2、SGP40,核心能力是…

阅读更多 →
导航突然画出直线或禁行路线?从路网数据与定位原理说起 2026/9/8 6:05:03

导航突然画出直线或禁行路线?从路网数据与定位原理说起

早上我准备从住处骑到城郊的湿地公园,同一台手机、同一条起终点,我把百度地图和高德地图分别切到骑行模式,各规划了一次路线。结果很有意思:百度地图给的路线几乎是一条笔直的直线,看起来特别省事,可拉大一…

阅读更多 →
BMC固件工程师实战指南:从IPMI到Redfish的带外管理技术解析 2026/9/8 6:02:03

BMC固件工程师实战指南:从IPMI到Redfish的带外管理技术解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞