导图社区 项目三,Python语法进阶
这是一个关于项目三,Python语法进阶的思维导图,帮助初学者系统地掌握Python中的控制结构、循环语句、函数和模块等相关知识。
编辑于2024-10-07 12:01:44项目三,Python语法进阶
任务一 流程控制—条件分支
单分支结构一if
用缩进来控制程序的层次结构,所有代码块缩进的字符数必须相同。使用Tab键可对缩进内容进行统一。
双分支结构—if else
if条件: 代码块a else: 代码块b
If语句和else语句后都需要输入英文格式的冒号,否则会报错
多分支结构—if elif else
if 条件一: 代码块a elif 条件二: 代码块b elif 条件三: 代码块c else: 代码块d
执行时是从上往下判断的,如果满足某个条件,把该条件对应的语句执行后就不会再执行剩下的elif/else
if嵌套语句
if嵌套语句就是将if、 if else、 if elif else语句相互嵌套
if 条件1: if 条件2: 代码块A #即满足条件1时要执行的代码 elif/else: 代码块B #即满足条件1但不满足条件2时要执行的代码 elif或else: 代码块C #即不满足条件1时要执行的代码
elif else必须与if同时使用
任务二 流程控制—循环语句
While循环
Ctrl+C中断循环
while 条件: 代码块 #即满足条件时要执行的代码
初始化变量,条件判断,条件满足时执行的代码块,更新变量
四步循环法
for in循环
for变量in列表:#in表示从列表中依次取值,又称为遍历 代码块 #即满足条件时要执行的代码
计算1到10自然数的和 sum=0 for I in range (11): sum+=i print ("1~10自然数的和为",sum) 输出为 1~10自然数的和为55
嵌套循环
while 条件1: #外层循环 …… for 变量 in 序列: #内层循环 代码块a ……
break continue语句
break
break语句可以在执行循环的过程中直接退出循环
for变量in序列: if 条件: break #当满足条件时跳出循环
while 条件1: 代码块 if 条件2: break #当满足条件二时跳出循环
continue
可以在循环运行过程中跳过当前循环,直接开始下一次循环
for 变量 in 序列 if条件: continue #当满足条件时跳过本次循环,直接开始下次循环
while条件1: 代码块 if条件2 : continue #当满足条件2时跳过本次循环继续下次循环
任务三 函数
内置函数
内置函数列表
常用函数举例
max()函数,返回给定参数的最大值 min()函数,返回给定参数的最小值
print (max (12,13)) 输出为 13
round()函数
round(x,n)函数可以返回浮点数X四舍五入后的值,n代表该浮点数保留几位小数
小贴士
当参数n不存在时,round()函数输出整数
当参数n存在时,即使为0, round函数也会输出一个浮点数
Print round( 520.1314,0) 输出为 520.0
当参数n是负数时,表示整数位四舍五入,输出的仍是浮点数
Print round( 520.1314,-2) 输出为 500.0
pow()函数
pow( x,n)函数可以返回x的n次方的值
print (round( pow (1.1,5),4)) 输出为 1.6105
sum函数
sun(iterable[,start])函数可以对序列进行求和计算。iterable,为可迭代对象可以是列表、元组、集合;Start指定与序列相加的参数,如果没有参数默认为0。
format函数
format函数使用"{}"和":"来实现字符串的格式化操作
list函数
list函数是对象迭代器,用于将元组()、集合{}、字符串等对象转换为列表,返回结果为用方括号[]标识的列表
print (list ({10,20,30})) #将集合{}转换为列表[ ] 输出为 [10,20,30]
range函数
使用range()函数可以生成整数列表,range(start,stop,step)返回的列表有三个参数决定,start表示列表的开始值,默认值为0,stop表示列表结束的值,该参数不可缺少。step表示步长,即每次递增或递减的值。默认值为1。
int函数
int(x,base)函数用于将一个字符串或数字转换为整数,参数x可以是数字,也可以是字符串,参数base表示x的进制,默认为十进制
参数x为字符串时,base可传可不传;若是其它进制转为十进制数,需要传入base 参数x为数字时,不传入base
float函数
将整数和字符串转化为浮点数
map函数
map(function,iterable)函数可以对序列每个元素进行指定操作,并将所有结果集合成一个新的序列输出。参数function代表某个功能函数,iterable代表一个或多个序列
sorted函数
可对所有迭代的对象进行排序操作(默认升序)
自定义函数
格式
def 函数名(参数列表): 函数体 [return 返回列表]
小贴士
括号里的参数可为空
函数体相对关键字必须保持一定的缩进
函数是否有返回值,需根据函数实现的功能而定,有返回值就要编写return语句,没有返回值则不用
参数传递
程序运行过程中,实际参数将参数值传递给相应的形式参数,然后在函数中实现数据处理和返回的过程。形式参数是指定义函数时使用的参数。实际参数是指调用函数时使用的参数。
#定义函数 def fun(a,b): #a和b为形式参数 c=a+b return c #调用函数 func(10,20) #10和20为实际参数
位置参数
def func(a,b,c): print(a+b+c) func(1,2,3) 输出为 6
自定义函数的传参数量,须与指定的形式参数数量一致。多传或少传,都会报错
默认参数值
有默认值的参数,一定要放在没有默认值参数的后面,否则程序会报错
定义参数时,可以为参数设置默认值。如果在传参的时候,参数的值没有传入,则会用默认值代替;如果已传入参数,则该默认值不起作用
关键字参数值
参数名不全,传参报错
关键字参数通过"参数名=值"的形式传参,无需按照参数的指定顺序,这样可以让函数变得更加清晰易用
可变位置参数
在定义函数时,有时候并不知道调用时会传入多少个参数,这时候就可以用到可变位置参数,使用可变位置参数时,参数前面应添加星号
def func(*account): for account in accounts: print(account) func("银行存款-工行","银行存款-建行","银行存款-农行") 银行存款—工行 银行存款—建行 银行存款—农行
可变关键字参数
如果需要提供任意数量的键值对类型参数,可以在形式参数名前面加两个星号
def func(**account): for key,value in accounts.items(): print(key+":"+value) func(账户1="银行存款-工行",账户2="银行存款-建行",账户3="银行存款-农行") 账户1:银行存款—工行 账户2:银行存款—建行 账户3:银行存款—农行
函数返回值
函数返回值是指通过return语句传递给调用者的值
变量的作用域
全局变量
在函数外部赋值的变量是全局变量,它可以为程序中的所有语句调用
def date (a,b): d=(a+b)**n print(d) date(2,3) n=2 e=10*n print(e) 25 20
局部变量
局部变量只能内部调用
def date (a,b): n=2 d=(a+b)**n print(d) date(2,3) 25
如果局部变量要作用于全局,可以在函数体内使用gloabal进行修改
任务四 模块
导入模块
使用import导入
import 模块名
import random #导入random模块
import 模块名 as 别名
import random as rd #导入random模块并指定别名rd
使用from…import…导入
from 模块名 import 方法
from 模块名 import 方法 as 别名
内置模块
random模块
datetme模块
使用now获取当前的日期和时间 import datetime as dt print(dt.datetime.now())
使用strptime函数将字符串格式化为指定时间格式的数据 import datetime as dt print (dt. datetime. strptime("2021/10/01","%Y/%m/%d")) 2021-10-01 00:00:00
第三方模块
numpy模块
模块导入
import numpy as np
数组
创建数组可以使用array函数
数组的属性
pandas模块
matplotlib模块
pyecharts模块
自定义模块
用户自己编写的模块