《Python Web 开发从入门到实践(FastAPI+Bootstrap)》2-1Python基础_第1页
《Python Web 开发从入门到实践(FastAPI+Bootstrap)》2-1Python基础_第2页
《Python Web 开发从入门到实践(FastAPI+Bootstrap)》2-1Python基础_第3页
《Python Web 开发从入门到实践(FastAPI+Bootstrap)》2-1Python基础_第4页
《Python Web 开发从入门到实践(FastAPI+Bootstrap)》2-1Python基础_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Python基础教材第2章(2.1—2.8)范围与目标承接第1章的环境搭建,本章将聚焦于构建Web应用所需的底层语法逻辑。🎯学习目标掌握2.1—2.8节的核心语法与工程规范,为后续FastAPI项目构建完整实用的知识图谱。🚧内容边界严格依据教材第2章的事实与代码进行讲解,不做过度臆测或发散,确保知识的准确性。📝输出要求代码示例与命令将逐字遵循教材,保持语言严谨,扫清后续实战中的技术障碍。2.1数值运算与优先级Python提供了直观的数学运算语法,掌握基础运算符与优先级是编程的第一步。基础运算符+-*/:加减乘除//:整除(向下取整)%:取余(求模):幂运算(例如3**4)优先级规则先幂运算,后乘除,最后加减使用()改变运算顺序#基础运算result_divide=9/2#4.5result_floor=9//2#4result_modulo=9%2#1result_power=3**4#81#优先级p1=5+2*3#11p2=(5+2)*3#212.1代码规范:注释与缩进规范的代码不仅是可运行的,更是可读的。Python通过强制缩进来保证代码结构。1.注释(Comments)单行注释:使用#多行注释:使用'''或"""#这是单行注释name="派森科技"#行末注释"""多行注释:解释复杂逻辑"""2.缩进(Indentation)强制要求:使用缩进划分代码块,无{}标准:4个空格错误会导致IndentationErrorifis_vip:#缩进4空格,属于if内部print("尊贵的VIP用户")#无缩进,不属于ifprint("结算完成")2.1代码规范:断行当单行代码过长时,合理的断行能显著提升代码的可读性。✅隐式断行(推荐)在()[]{}内部自动识别换行。容错率高,方便注释。total=(500000+300000+#注释20000)⚠️显式断行(不推荐)使用反斜杠\。后面严禁跟空格,容易引发SyntaxError。url="https://api..."+\"v1/products"2.2数据类型总览程序处理的对象是数据。Python将数据归纳为不同的“类型”,其中序列类型具有通用的访问特性。核心数据类型数值:int,float布尔:bool(True/False)文本:str(序列)集合:list,tuple,dict空值:None序列(Sequence)共性适用于str,list,tuple有序:内容按顺序排列索引:通过index访问元素切片:获取子序列长度:使用len()获取元素个数print(type(100))#<class'int'>2.2数值与常量整数、浮点数与内置常量构成了程序数据的基石。数值(Numeric)int(整数)count=100float(浮点数)price=88.88rate=.88#省略0布尔(Boolean)逻辑判断的基础True(真)False(假)is_vip=True空值(None)表示“无”或“未定义”它是一个独立的数据类型email=None#<class'NoneType'>2.2字符串与格式化字符串是文本数据的载体。推荐使用f-string进行高效、直观的格式化。字符串创建name='派森科技'#单引号url="https://..."#双引号intro="""跨越多行的字符串"""#三引号(多行)格式化(f-string推荐)在字符串前加f,直接嵌入变量。比+号拼接更清晰高效。port=8000info=f"服务器运行在:{port}"#输出:服务器运行在:80002.2字符串索引与切片字符串是有序序列,可以通过索引访问单个字符,或通过切片获取子串。索引(Indexing)s="FastAPI"s[0]#'F'(首字符)s[-1]#'I'(末字符)切片(Slicing)s[0:4]#'Fast'(不含end)s[:4]#'Fast'(省略start)s[4:]#'API'(省略end)2.2列表(List)列表是有序且可变的集合,是Python中最常用的数据结构之一。#1.创建products=["网站开发","数据分析"]#2.访问与修改print(products[0])#"网站开发"products[1]="可视化"#3.追加products.append("办公自动化")#4.长度count=len(products)#3核心特性有序:保持插入顺序可变:内容可以修改动态:长度随意伸缩混合:可存不同类型数据2.2元组(Tuple)元组是不可变的序列,一旦创建就不能修改。这种稳定性使其适合存储配置数据。#1.创建(使用圆括号)colors=(255,0,0)#2.访问(同列表)r_val=colors[0]#255#3.尝试修改(报错)#colors[0]=128#TypeError:tupledoesnotsupportitemassignment适用场景固定配置参数地理坐标(x,y)RGB颜色值函数返回多个值2.2字典(Dictionary)字典是键值对(Key-Value)的集合,通过键来快速查找值,如同查阅字典。#1.创建(使用花括号)employee={"name":"张三","position":"工程师"}#2.访问(使用键)name=employee["name"]#"张三"#3.修改与添加employee["position"]="高级工程师"employee["dept"]="研发部"序列vs字典序列(List,Tuple,Str)有序通过整数索引访问(0,1...)字典(Dict)Python3.7+保持插入顺序通过键(Key)访问键必须唯一且不可变2.2比较运算符比较运算符用于判断两个值之间的关系,结果永远是布尔值(True或False)。运算符列表==:等于(注意是两个等号)!=:不等于>:大于<:小于>=:大于等于<=:小于等于stock_price=120.5target_price=100print(stock_price>target_price)#Output:Trueinput_pwd="123"real_pwd="abc"print(input_pwd==real_pwd)#Output:False2.2逻辑运算符逻辑运算符用于组合多个条件,构建更复杂的判断逻辑。and(与)全真才为真age>18andis_vip两者必须同时满足or(或)一真即为真age>60oris_vip满足其中一个即可not(非)取反notis_online真变假,假变真2.3控制语句总览控制语句赋予了程序逻辑判断与重复执行的能力,是代码的“指挥官”。🔀条件判断决定是否执行ifelifelse🔁循环执行重复执行任务for(遍历)while(条件)🛑流程干预微调循环逻辑breakcontinuepass2.3条件控制(if)根据条件真假,执行不同代码分支。单分支(if)temp=35iftemp>30:print("炎热")条件成立才执行双分支(if-else)ifscore>=60:print("通过")else:print("补考")二选一必执行多分支ifs>=90:...elifs>=80:...else:...从上到下匹配2.3循环:for与rangefor循环主要用于遍历序列,配合range()函数可实现固定次数循环。遍历序列(List)逐个取出元素进行操作products=["Web","AI"]forpinproducts:print(f"服务:{p}")#Output:#服务:Web#服务:AI计数循环(range)生成0到n-1的整数序列foriinrange(3):print(f"第{i+1}次")#Output:#第1次#第2次#第3次2.3循环:whilewhile循环适用于“当满足条件时持续执行”的场景,必须注意条件的更新。#初始化count=1#条件判断whilecount<=5:print(f"循环次数:{count}")#⚠️必须更新条件,否则死循环count+=1print("结束")执行机制检查条件是否为True执行代码块更新状态重复步骤1警告:遗漏更新会导致程序卡死(无限循环)2.3循环控制语句break,continue,pass提供了对循环流程的精细化控制。break(终止)彻底跳出循环forfinfruits:iff=="橘子":breakprint(f)找到即停止continue(跳过)跳过本次,进下一次foriinrange(5):ifi%2==0:continueprint(i)只打印奇数pass(占位)什么也不做ifis_admin:#TODOpass保持语法完整2.4函数(Function)函数是组织代码、实现复用的基础单元。defcalc_area(width,height):"""计算矩形面积"""area=width*heightreturnareadef:定义关键字|参数:输入数据|文档字符串:功能说明|return:返回结果(默认None)2.4参数进阶Python提供了灵活的参数机制,能够处理不确定数量的输入。args(可变位置)接收多余位置参数打包成元组(Tuple)defsum(*nums):#numsistuplepasssum(1,2,3)默认参数提供默认值简化调用defuser(role="Guest"):passuser()#role="Guest"user("Admin")kwargs(关键字)接收多余关键字参数打包成字典(Dict)defbuild(**info):#infoisdictpassbuild(k="v",a=1)2.5面向对象(OOP)将数据(属性)与操作(方法)封装为对象,通过类(Class)构建蓝图。类与对象classStudent:#初始化方法(构造函数)def__init__(self,name):=name#属性s1=Student("小明")#实例化print()继承(Inheritance)代码复用与扩展classPerson:deftalk(self):...#继承自PersonclassAthletes(Person):defswim(self):...p=Athletes()p.talk()#复用父类方法2.6模块与包随着项目规模扩大,通过模块(Module)和包(Package)组织代码至关重要。项目结构project/utils.py

(模块)services/

(包)__init__.py

(标识)user.pyapp.py

(入口)导入方式#1.导入整个模块importutilsutils.func()#2.导入特定成员fromservicesimportuser#3.使用别名importutilsasu2.7装饰器(Decorator)装饰器允许在不修改原函数代码的前提下,动态增强其功能(如日志、计时)。核心概念闭包(Clo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论