python基础学习进度
笔记:
常用占位符3个:
字符串:%s 整数:%d 浮点数:%f
字符串格式化——数字精确度控制
m.n m控制数字宽度,n控制小数点
布尔类型(bool)
True真 False假
end=' '不换行 \t 多行字符串进行对齐 \n换行
continue 中断本次循环,进入下一次循环
list列表,支持嵌套
列表.index(元素)查找元素所在下标
列表.insert(下标,元素),插入指定元素
列表.append(元素),将元素追加到尾部,一个元素,extend是多个元素
del_list[下标]删除元素 list.pop[下标]删除元素 list.clear清空内容 list.count(元素)计数
元组 不可修改元素
变量名=(1,“元素”,True) or 变量名=tuple( )
如果单个元素,后面加一个逗号
字符串str 正向从0计数,逆向从-1计数 不可以修改
str.replace(字符串1,字符串2),=new_str 新字符串
字符串split,将字符串进行切分
字符串.strip去除前后空格及换行
切片:[开始:结束:步长]
集合set {} 不重复,无序,不支持下标索引,可修改
set.difference 取差集 set.difference_update消除差集
只可用for循环
字典dict 键值对key,value可以是任意类型,key不可以重复,不可以下标索引
新增元素:字典[key]=value 字典.pop(key),获得指定key的value,同时字典被修改,指定key的数据被删除 字典.clear清空字典 字典.keys获取全部的key 只能用for循环 用len()统计字典内元素数量
数据容器
len()统计元素个数 max()元素 最大 min()元素最小
list()给指定容器转换为列表 str()给指定容器转换为字符串
tuple()给指定容器转换为元组 set()给指定容器转换为集合
容器通用排序功能 sorted(容器,[reverse=True])
将容器进行排序从小到大,(reverse=True)反向排序降序
函数的多种传参方式
函数参数种类:
位置参数,关键字参数,缺省参数,不定长参数
位置参数:调用函数时根据函数定义的参数位置来传递参数
关键字参数:函数调用时通过“键=值”形式传递
缺省参数:默认参数
不定长参数:可变参数 位置传递*args 关键字传递**kwargs
函数本身是可以作为参数,传入另一个函数中进行使用的,其作用在于:传入计算逻辑,而非传入数据
lambda匿名函数:
lambda关键字可以定义匿名的函数(无名称),只可临时使用一次
文件:
open()打开函数:
open(name:文件名称,mode:打开方式,r:只读;w:写入;a:追加,encoding:编码格式)
读操作相关方法:
文件对象.read (num) num表示读取字节数 文件.readlines全部读取并封装到列表中
readline():一次只读取一行 for循环读取文件行
close()关闭文件对象 with open()as if通过with open语法打开文件,可以自动关闭
写操作方法:
write写入到内存中 flush刷新 将内存中积攒的内容写入到硬盘中
close方法带有flush功能
w模式:文件不存在时会创建文件,存在时会清空文件内容
文件的追加:
追加写入方法与w模式一致
注意:a模式,文件不存在会创建文件
a模式,文件存在,会在原有内容后继续写入
异常
异常的捕获:
try:可能发生错误的代码
except:如果出现异常执行的代码
捕获指定或多个异常:
try:print(name)except( NameError ,name)as e:
捕获所有异常:except Exception as e:
异常else:表示如果没有异常要执行的代码
异常的finally:表示无论是否异常都要执行的代码,如关闭文件
异常具有传递性
Python模块(Module)
模块的导入:[from 模块名] import[zx模块|类|变量|函数|*] [as别名]
_all_:如果一个模块文件中有'_all_'变量,当使用'from xxx import *'导入时,只能导入这个列表的元素
json数据格式
json是一种轻量级的数据交换格式,采用字符串存储和表示数据
data=json.dumps(data) 将python数据转化为json数据,如果有中文带上ensure_ascii=False,保证中文正常输出
data=json.loads(data) 将json数据转化为python列表或字典
pyecharts
全局配置可以用set_glob al_opts方法进行配置
#升职加薪问题
info_dict = {
"王力宏":{
"部门":"科技部",
"工资":"3000",
"级别":1
},
"周杰伦":{
"部门":"市场部",
"工资":"5000",
"级别":2
},
"林俊杰":{
"部门":"市场部",
"工资":"7000",
"级别":3
},
"张学友":{
"部门":"科技部",
"工资":"4000",
"级别":1
},
"刘德华":{
"部门":"市场部",
"工资":"6000",
"级别":2
},
}
print(f"原字典为:{info_dict}")
for name in info_dict:
if info_dict[name]["级别"] == 1:
employee_info_dict = info_dict[name]
employee_info_dict["级别"] = 2
employee_info_dict["工资"] = int(employee_info_dict["工资"]) * 1.1
info_dict[name] = employee_info_dict
print(f"修改后的字典为:{info_dict}")
练习:
银行取款练习题:
money=5000000
name=None
name=input("请输入姓名:")
def query(show_header): #定义一个函数,用于查询余额
if show_header: #如果show_header为True,则打印表头
print("————————查询余额————————")
print(f"{name}你好,你的余额是{money}元")
def saving(num): #定义一个函数,用于存款
print("————————存款————————")
global money
money+=num
print(f"{name}你好,你的存款是{num}元,存款成功")
query(False)
def get_money(num): #定义一个函数,用于取款
print("————————取款————————")
global money
money-=num
print(f"{name}你好,你的取款是{num}元,取款成功")
query(False)
def main(): #定义一个函数,用于主菜单
print("————————主菜单————————")
print(f"{name}你好,欢迎来到ATM系统,请选择操作:")
print("查询余额\t【输入1】")
print("存款\t\t【输入2】")
print("取款\t\t【输入3】")
print("退出\t\t【输入4】")
return input("请输入你的选择:")
while True: #循环,直到用户输入4为止
keyboard_input=main()
if keyboard_input=="1": #如果用户输入1,则调用query函数
query(True)
continue
elif keyboard_input=="2": #如果用户输入2,则调用saving函数
saving(int(input("请输入存款金额:")))
continue
elif keyboard_input=="3": #如果用户输入3,则调用get_money函数
get_money(int(input("请输入取款金额:")))
continue
else: #如果用户输入4,则退出循环
print("退出成功")
break
函数传参
'''def test_func(compute):
result = compute(1, 2)
print(f"compute参数的类型是:{type(compute)}")
print(f"计算结果是:{result}")
def compute(a, b):
return a + b
test_func(compute)'''
def test_func(compute):
result = compute(1, 2)
print(f"计算结果是:{result}")
test_func(lambda x, y: x + y)
单词计数练习
f=open("D:/word.txt","r",encoding="UTF-8") #打开文件
#content=f.read()
#content.count("itheima")
#print(f"itheima出现的次数为:{content.count('itheima')}") #输出出现的次数
count=0
for line in f:
line=line.strip()
words=line.split(" ")
for word in words:
if word=="itheima":
count+=1
print(f"itheima出现的次数为:{count}")
f.close()
文件备份
fr=open("D/bill.txt","r",encoding="UTF-8") #打开文件,读文件
fw=open("D/bill.txt.bak","w",encoding="UTF-8") #打开文件,写文件
for line in fr:
line=line.strip() #去掉字符串前后的空格
if len(line.split(","))<5:
continue
if line.split(",")[4]=="测试": #将字符串以逗号为分隔符,分成列表,索引为4的元素为“测试”
continue
fw.write(line)
fw.write("\n")
fr.close()
fw.close()
def str_reverse(s):
"""
反转字符串
:param s: 字符串
:return: 反转后的字符串
:param s:
:return:
"""
return s[::-1]
def substr(s,x,y):
return s[x:y]
if __name__ == '__main__':
print(str_reverse('hello'))
print(substr('hello',1,3))
def print_file_info(file_name):
"""
打印文件内容
:param file_name: 文件名称
:return:
"""
f=None
try:
f=open(file_name,'r',encoding='utf-8')
content=f.read()
print("文件内容为:",content)
except Exception as e:
print("文件打开失败",e)
finally:
if f:
f.close()
if __name__ == '__main__':
print_file_info("D:/bill.txt")
折线图:
#导包
from pyecharts.charts import Line
from pyecharts.options import TitleOpts,LegendOpts,ToolboxOpts,VisualMapOpts
#创建一个折线图对象
line = Line()
#添加x轴数据
line.add_xaxis(["中国","美国","英国"])
#添加y轴数据
line.add_yaxis("GDP",[30,20,10])
#调用render方法,生成文图像
#设置全局配置项
line.set_global_opts(
title_opts=TitleOpts(title="GDP展示",pos_left="center",pos_bottom="1%"),
legend_opts=LegendOpts(is_show=True),
toolbox_opts=ToolboxOpts(is_show=True),
visualmap_opts=VisualMapOpts(is_show=True),
)
line.render()
论文了解的知识:
MRI (Magnetic resonance image)
磁共振成像(MRI)是一种医学影像技术,利用磁共振现象和计算机技术,生成人体内部组织的高分辨率影像。通过在人体中产生强大的磁场和无害的无线电波,MRI可以显示出人体内部的器官、血管、神经和其他组织的结构,从而帮助医生诊断疾病、评估损伤、制定治疗方案。
MRI具有较高的分辨率和对软组织的优秀成像效果,可以显示出大脑、脊柱、关节、内脏器官等结构的细节,而且不需要使用任何放射线。因此,MRI被广泛用于临床诊断和研究领域,是一种非侵入性、无痛苦、安全可靠的影像检查手段。
(百度百科)
SWI
Susceptibility weighted imaging磁敏感加权成像(SWI)以T2*加权梯度回波序列作为序列基础,根据不同组织间的磁敏感性差异提供图像对比增强,可同时获得磁距图像(magnitudeimage)和相位图像(phase image)。 SWI在显示脑内小静脉及出血方面敏感性优于常规梯度回波序列,具有较高的临床应用价值。 (百度百科)
新生儿颅内出血(Neonatal intracranial hemorrhage,NICH )是新生儿时期严重脑损伤的类型之一,尤其于早产儿中多见,临床预后较差,重症者死亡率高,幸存者亦常遗留智力发育障碍、脑性瘫痪等神经系统后遗症 [1-3] 。成人颅内出血多见于血管畸形、外伤,而新生儿颅内出血则与胎龄、宫内窘迫、出生窒息、母体因素等相关 [4-6] 。新生儿颅内出血依据部位的不同可分为多种类型,包括早产儿颅内出血中最常见的脑室周围 - 脑室内出血 (periventricular-intraventricular hemorrage,PVH-IVH) ,又称为生发基质 - 脑室内出血 (germinal matrixhemorrhage-intraventricular hemorrhage,GM-IVH) 、产伤性颅内出血中最常见的硬膜下出血( subdural hemorrhage,SDH ) [7] 、多见于足月儿因小静脉栓塞后静脉性梗死导致的脑实质出血 (intraparenchymal haemorrhage,IPH) [8] 、小脑出血( cerebellar hemorrhage,CH )以及新生儿中十分常见的原发性蛛网膜下腔出血( subarachnoid hemorrhage,SAH ) [9] 。脑室周围 - 脑室内出血、脑实质出血、蛛网膜下腔出血等多与颅内脑组织缺氧有关,蛛网膜下腔出血多是由于脑组织缺氧引起的蛛网膜下腔毛细血管渗血,故对新生儿缺血缺氧性脑损伤中脑静脉改变的相关研究日益增多,有助于了解新生儿缺血缺氧性脑损伤的病理生理机制,以期可以指导临床治疗并为推测预后提供科学依据。[1] 张伟,吴婉芳,王秀芳 . 新生儿颅内出血及缺氧缺血性脑病临床表现与预后关系的探讨[J]. 新生儿科杂志 ,1993(06):254-256.
MinIPMinimum intensity projection最小强度投影 最小强度投影(MinIP) 是一种医学影像后处理技术,主要用于从三维数据(如CT或MRI)中提取并突出显示 低信号(低密度/低强度)结构。其原理是沿着某一投影方向(如轴位、冠状位或矢状位)选择每个像素点路径上的 最小值,生成二维图像。(deepseek)
髓静脉( medullary veins )包括深髓静脉及浅髓静脉,主要位于大脑半球和小脑半球白质内,沟通着颅内深静脉系统及浅静脉系统。深髓静脉引流深部白质静脉血,经室管膜下静脉引流入大脑内静脉。在出现累及深部脑白质的病变时,常出现相应髓静脉的改变,表现为血管数量增多、宽度增大 [19-21] 。[19] Benninger K L, Maitre N L, Ruess L, et al. MR Imaging Scoring System for White MatterInjury after Deep Medullary Vein Thrombosis and Infarction in Neonates[J]. AJNR Am JNeuroradiol,2019,40(2):347-352.
髓静脉( medullary veins )包括深髓静脉及浅髓静脉,主要位于大脑半球和小脑半球白质内,沟通着颅内深静脉系统及浅静脉系统。深髓静脉引流深部白质静脉血,经室管膜下静脉引流入大脑内静脉。在出现累及深部脑白质的病变时,常出现相应髓静脉的改变,表现为血管数量增多、宽度增大 [19-21] 。