当前位置: 首页 > news >正文

实验1 Python语言基础一

目录

  • 实验1 Python语言基础一
    • 1、下载安装Python,贴出验证安装成功截图
    • 2、建立test.py文件,运行后贴出截图,思考if __name==”__main__”的意思和作用
    • 3、分别运行下面两种代码,分析运行结果产生的原因。记牢python中重要语法“tab”的作用。
    • 6、编写.py文件,练习元组数据结构的创建和使用。思考当创建元组时单个元素的元组没有加上逗号会发生什么
    • 7、编写.py文件,练习列表数据结构的创建和使用
    • 8、编写.py文件,练习字典数据结构的创建和使用
    • 9、编写.py文件,练习集合数据结构的创建和使用,思考集合与列表和字典的异同

实验1 Python语言基础一

【实验目的】掌握Python及其集成开发环境的下载安装及其简单应用

【实验内容】下载安装Python,实验python基本语法

【实验要求】写明实验步骤,必要时补充截图

1、下载安装Python,贴出验证安装成功截图

在这里插入图片描述

2、建立test.py文件,运行后贴出截图,思考if __name==”main”的意思和作用

意思和作用:
__name__ 是Python中一个内置的特殊变量,当Python文件被直接运行时,__name__ 的值被设置为 “__main__”,但如果该文件是被其他文件通过 import 语句导入的,__name__
的值则会被设置为该模块的名字(即文件名,不包括 .py 后缀)。 因此,if __name__ == “__main__”:
这行代码的作用是:如果这个Python文件被直接运行,那么紧随其后的缩进代码块将被执行;如果这个文件是被导入到其他文件中作为模块使用的,那么这些代码块将不会被执行。

test文件和import_test文件:
在这里插入图片描述
在这里插入图片描述

分别执行test文件和import_test文件的结果:
在这里插入图片描述
在这里插入图片描述

3、分别运行下面两种代码,分析运行结果产生的原因。记牢python中重要语法“tab”的作用。

在这里插入图片描述

6、编写.py文件,练习元组数据结构的创建和使用。思考当创建元组时单个元素的元组没有加上逗号会发生什么

#例7-1:创建元组
item=('cat',-6,(1,2))
print(item)#('cat', -6, (1, 2))
print(type(item))#<class 'tuple'>
print(item[0],item[1],item[2])#cat -6 (1, 2)item=('cat')
print(item)#cat
print(type(item))#<class 'str'>
print(item[0])#citem=('cat',)
print(item)#('cat',)
print(type(item))#<class 'tuple'>
print(item[0])#catitem=()
print(item)#()
print(type(item))#<class 'tuple'>

创建元组时单个元素的元组没有加上逗号:
①item=(‘cat’,-6,(1,2)):这是一个标准的元组定义,包含三个元素:一个字符串’cat’,一个整数-6,以及另一个元组(1,2)。
②item=(‘cat’):这里你似乎想创建一个只包含一个元素的元组,但由于没有逗号,,Python将其视为一个字符串’cat’,而不是一个元组。
③item=(‘cat’,):这里通过在’cat’后面加上逗号,,明确地告诉Python这是一个元组,即使它只包含一个元素。
④item=():这是一个空元组的定义,它不包含任何元素。

#例7-2:访问元组的元素
fruit=('apple',"banana","grape",'orange')
print(fruit[-1])#orange
print(fruit[-2])#grapefruit1=fruit[1:3]#切片,从第2个到第3个元素,不包括第4个
fruit2=fruit[0:-2]#切片,从第1个到倒数第2个元素,不包括倒数第2个
fruit3=fruit[2:-2]#切片,从第3个到倒数第2个元素,不包括倒数第2个
print(fruit1)#('banana', 'grape')
print(fruit2)#('apple', 'banana')
print(fruit3)#()fruit1=("apple","banana")
fruit2=("grape","orange")
fruit=(fruit1,fruit2)
print(fruit)#(('apple', 'banana'), ('grape', 'orange'))
print("fruit[0][1]=",fruit[0][1])#fruit[0][1]= banana#访问第一个元组中的第2个元素
print("fruit[1][1]=",fruit[1][1])#fruit[1][1]= orange#访第二个元组中的第2个元素
print("fruit[1][2]=",fruit[1][2])#访问第二个元组中的第3个元素索引越界,报错
#例7-3:操作元组
t1 =(1,'two',3)
t2 =(t1,'four')
#连接
print(t1+t2)#(1, 'two', 3, (1, 'two', 3), 'four')
#索引
print((t1+t2)[3])#(1, 'two', 3)
#分片
print((t1+t2)[2:5])#(3, (1, 'two', 3), 'four')#单元素元组
t3=("five",)
print(t1+t2+t3)#(1, 'two', 3, (1, 'two', 3), 'four', 'five')

7、编写.py文件,练习列表数据结构的创建和使用

#例7-5:创建列表
numbers1=[7,-7,2,3,2]
print(numbers1)#[7, -7, 2, 3, 2]
print(type(numbers1))#<class 'list'>numbers2=[7]
print(numbers2)#[7]
print(type(numbers2))#<class 'list'>numbers3=[]
print(numbers3)#[]
print(type(numbers3))#<class 'list'>

展示了如何创建不同类型的列表,包括一个包含多个元素的列表、一个只包含一个元素的列表,以及一个空列表。

#例7-6:使用列表
numbers=[7,-7,2,3,2]
print(numbers)#[7, -7, 2, 3, 2]
print(numbers+numbers)#[7, -7, 2, 3, 2, 7, -7, 2, 3, 2]
print(numbers*2)#[7, -7, 2, 3, 2, 7, -7, 2, 3, 2]
# 这里使用了列表的乘法操作,将numbers列表重复两次,结果同样是一个新的列表,lst=[3,(1,),'dog','cat']
print(lst[0])#3
print(lst[1])#(1,)
print(lst[2])#dog
print(lst[1:3])#[(1,), 'dog']
print(lst[2:])#['dog', 'cat'] # 通过切片访问列表从第三个元素开始到列表末尾的所有元素。
print(lst[-3:])#[(1,), 'dog', 'cat']# 通过负索引和切片访问列表从倒数第三个元素开始到列表末尾的所有元素。
print(lst[:-3])#[3]# 通过切片访问列表从开始到倒数第三个元素之前的所有元素(不包括倒数第三个元素)。for i in range(len(lst)):#遍历列表lstprint(lst[i],end=' ')
#3 (1,) dog cat
#注意:元组(1,)在输出时会被加上括号,以区分它和整数1。

8、编写.py文件,练习字典数据结构的创建和使用

#例7-19:字典的创建、添加、删除和修改orange'}
dict={'a':"apple",'b': 'banana','g':'grape','o':'orange'} # 创建字典
print(dict)#{'a': 'apple', 'b': 'banana', 'g': 'grape', 'o': 'orange'}dict['w']='watermelon'#添加字典元素
print(dict)#{'a': 'apple', 'b': 'banana', 'g': 'grape', 'o': 'orange', 'w': 'watermelon'}del dict['a'] #删除字典中键为'a'的元素
print(dict)#{'b': 'banana', 'g': 'grape', 'o': 'orange', 'w': 'watermelon'}dict['g']='grapefruit'#修改字典中键为"g’的值
print(dict)#{'b': 'banana', 'g': 'grapefruit', 'o': 'orange', 'w': 'watermelon'}
#例7-20:字典函数的应用
#创建字典
dict={'a':'apple','b':'banana','c':'grape','d':'orange'}#输出 keys的列表
print(dict.keys())#dict_keys(['a', 'b', 'c', 'd'])#输出value的列表
print(dict.values())#dict_values(['apple', 'banana', 'grape', 'orange'])#获取字典中的元素
print(dict.get('c'))#grape
print(dict.get('e'))#None#字典的更新
dict1={'a':'apple','b':'banana'}
print(dict1)#{'a': 'apple', 'b': 'banana'}
dict2={'c':'grape','d':'orange'}
print(dict2)#{'c': 'grape', 'd': 'orange'}
dict1.update(dict2)
print(dict1)#{'a': 'apple', 'b': 'banana', 'c': 'grape', 'd': 'orange'}
# 将dict2中的键值对更新到dict1中。
# 如果dict2中的键在dict1中已经存在,则对应的值会被dict2中的值覆盖;
# 如果键在dict1中不存在,则这个键值对会被添加到dict1中

9、编写.py文件,练习集合数据结构的创建和使用,思考集合与列表和字典的异同

#例7-24:创建集合
basket =['apple','orange', 'apple', 'pear', 'orange', 'banana']
print(basket)# ['apple', 'orange', 'apple', 'pear', 'orange', 'banana']
print(type(basket))# <class 'list'># create a set without duplicates
fruit = set(basket)
print(fruit)# {'orange', 'banana', 'apple', 'pear'}
print(type(fruit))# <class 'set'># fast membership testing
print('orange'in fruit ) # True
print('crabgrass'in fruit)# False
#例7-25:集合运算
a= set('abracadabra')
b= set('alacazam')# unique letters in a
print(a) #{'r', 'c', 'd', 'a', 'b'}
# unique letters in b
print(b) #{'c', 'z', 'm', 'l', 'a'}#差运算# letters in a but not in b
print(a - b)#{'b', 'r', 'd'}
#或运算# letters in either a or b
print(a | b)#{'r', 'c', 'z', 'm', 'd', 'l', 'a', 'b'}
#并运算# letters in both a and b
print(a & b)#{'a', 'c'}
#异或运算# letters in a or b but not both
print(a ^ b)#{'z', 'm', 'r', 'l', 'd', 'b'}

集合与列表和字典的异同:
列表(List) 有序:列表中的元素是有序的,即元素的插入顺序会被保留。 可重复:列表中的元素可以重复。
可变:列表是可变的,可以添加、删除或修改元素。 用途:通常用于需要保持元素顺序的场景,如记录一系列的操作步骤或数据项。
字典(Dictionary) 无序: 字典是无序的,其中的元素没有固定的顺序。 键值对:字典由键值对组成,每个键都是唯一的,但值可以重复。
可变:字典是可变的,可以添加、删除或修改键值对。 用途:通常用于存储具有唯一标识符(键)的数据项,以便快速检索。 集合(Set)
无序:集合中的元素是无序的,即元素的插入顺序不会被保留。 唯一性:集合中的元素必须是唯一的,不能重复。
可变:集合是可变的,可以添加或删除元素,但不能直接修改元素(因为元素是唯一的,修改通常意味着删除旧元素并添加新元素)。
用途:通常用于需要快速检查元素是否存在、去除重复元素或进行数学集合操作的场景(如并集、交集、差集等)。

相关文章:

实验1 Python语言基础一

目录 实验1 Python语言基础一1、下载安装Python&#xff0c;贴出验证安装成功截图2、建立test.py文件,运行后贴出截图&#xff0c;思考if __name”__main__”的意思和作用3、分别运行下面两种代码&#xff0c;分析运行结果产生的原因。记牢python中重要语法“tab”的作用。6、编…...

多线程相关内容

一、进程与线程 (一)进程的概述 进程是程序的一次执行过程&#xff0c;是系统进行资源分配和调度的一个独立单位。每个进程都有自己独立的内存空间&#xff0c;包括代码、数据和运行时的环境。进程的执行需要系统为其分配各种资源&#xff0c;如 CPU 时间、内存空间、文件描述符…...

mybatis-puls快速入门

1.概述 在真实项目开发中我们的服务模块&#xff0c;一般都要进行数据库操作&#xff0c;并且每个domain都有crud&#xff0c;需多次写重复代码。我们使用MybatisPlus&#xff0c;就不用写重复代码&#xff0c;并且还有模板的功能&#xff0c;可以一键生成daomin,query,mapper…...

Pool 和 PG 架构(二)

Ceph 的存储架构设计旨在提供高可用性和可扩展性。其中&#xff0c;Pool&#xff08;存储池&#xff09;和 PG&#xff08;放置组&#xff09;是两个核心概念。下面详细介绍 Ceph 的 Pool 和 PG 架构以及它们之间的关系。 1. Pool池 概念&#xff1a; Pool&#xff08;存储池…...

客户服务升级指南:如何以细节赢得客户忠诚

在当今这个竞争激烈的市场环境中&#xff0c;客户忠诚度已成为企业生存与发展的关键所在。而要想赢得并维持客户的忠诚&#xff0c;仅凭优质的产品或服务已远远不够&#xff0c;更需要企业在客户服务上下足功夫&#xff0c;从每一个细节入手&#xff0c;打造超越客户期待的服务…...

闲盒支持的组网方式和注意事项

1. 直连光猫拨号​ 通过光猫拨号&#xff0c;设备直连光猫的设备&#xff0c;需要对光猫开启UPNP并关闭DMZ 如果只接一个盒子&#xff0c;建议直接针对盒子IP开dmz。 2. 直连路由器​ 通过路由器拨号&#xff0c;设备直连路由器的设备&#xff0c;需要对路由器开启UPNP并关闭…...

828华为云征文|华为云Flexus云服务器X实例之openEuler系统下搭建MaxKB开源知识库问答系统

828华为云征文&#xff5c;华为云Flexus云服务器X实例之openEuler系统下搭建MaxKB开源知识库问答系统 前言一、Flexus云服务器X实例介绍1.1 Flexus云服务器X实例简介1.2 Flexus云服务器X实例特点1.3 Flexus云服务器X实例使用场景 二、MaxKB 介绍2.1 MaxKB简介2.2 MaxKB整体架构…...

[Linux]:信号(上)

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;Linux学习 贝蒂的主页&#xff1a;Betty’s blog 1. 信号的引入 1.1 信号的概念 在Linux系统中&#xff0c;信号&#xff08;…...

浙大数据结构:05-树9 Huffman Codes

这道题难度挺大&#xff0c;写起来较为费劲&#xff0c;这里我依然使用了STL库&#xff0c;使得代码量大幅减少不过百行&#xff0c;便于大家理解。 机翻&#xff1a; 1、条件准备 数组存储字符对应频率&#xff0c;n,student存储输入多少字符&#xff0c;有多少学生测试。 …...

scrapy爬虫基础

一、初识 创建项目&#xff1a; scrapy startproject my_one_project # 创建项目命令 cd my_one_project # 先进去&#xff0c; 后面在里面运行 运行爬虫命令为&#xff1a;scrapy crawl tk spiders下创建test.py 其中name就是scrapy crawl tk &…...

利用H5无插件播放RTSP流的实现方案

文章目录 0. 引言1. 问题分析1.1 RTSP流与浏览器的兼容性1.2 解决思路 2. 方案设计2.1 总体架构2.2 关键组件 3. 实施步骤3.1 环境准备3.2 安装与配置3.2.1 安装FFmpeg3.2.2 安装OpenResty3.2.3 添加nginx-rtmp-module模块3.2.4 配置OpenResty 3.3 推流操作3.4 前端播放3.4.1 引…...

CSS文本格式化

通过 CSS 中的文本属性您可以像操作 Word 文档那样定义网页中文本的字符间距、对齐方式、缩进等等&#xff0c;CSS 中常用的文本属性如下所示&#xff1a; text-align&#xff1a;设置文本的水平对齐方式&#xff1b;text-decoration&#xff1a;设置文本的装饰&#xff1b;te…...

python的 __name__和__doc__属性

__name__属性 __name__属性 用于判断当前模块是不是程序入口&#xff0c;如果当前程序正在使用&#xff0c;__name__的值为__main__。 在编写程序时&#xff0c;通常需要给每个模块添加条件语句&#xff0c;用于单独测试该模块的功能。 每个模块都有一个名称&#xff0c;当一…...

Go语言中的Mutex实现探讨

解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 在并发编程中,互斥锁(Mutex)是一个重要的工具,它帮助我们控制多个协程对共享资源的访问,从而防止数据竞争和不一致性。本文将深入探讨Go语言中Mutex的实现历程和使用方式,同时分享在处理并发问题时的思路与…...

第五届计算机科学与管理科技国际学术会议(ICCSMT 2024)

梁哲&#xff0c;同济大学长聘特聘教授&#xff0c;国家杰青、首届国家杰青延续项目获得者、上海市曙光学者、上海市优秀学术带头人。本科毕业于新加坡国立大计算机工程系、硕士毕业于新加坡国立大学工业与系统工程系、博士毕业于美国新泽西州立大学工业工程系。理论研究主要集…...

【machine learning-13-线性回归的向量化】

向量化 向量化简洁并行计算 向量化 线性回归的向量化表示如下&#xff0c;其中w 和 x 都分别加了箭头表示这是个向量&#xff0c;后续不加也可以表示为向量&#xff0c;w和x点乘加上b&#xff0c;就构成了多元线性回归的表达方式&#xff0c;如下&#xff1a; 那么究竟为什么…...

【CSS|第2期】探索HTML与CSS中的文档流:从自然流到高级布局技巧

日期&#xff1a;2024年9月9日 作者&#xff1a;Commas 签名&#xff1a;(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释&#xff1a;如果您觉在这里插入代码片得有所帮助&#xff0c;帮忙点个赞&#xff0c;也可以关注我&#xff0c;我们一起成长&#xff1b;如果有不对…...

MATLAB绘图基础9:多变量图形绘制

参考书&#xff1a;《 M A T L A B {\rm MATLAB} MATLAB与学术图表绘制》(关东升)。 9.多变量图形绘制 9.1 气泡图 气泡图用于展示三个或更多变量变量之间的关系&#xff0c;气泡图的组成要素&#xff1a; 横轴( X {\rm X} X轴)&#xff1a;表示数据集中的一个变量&#xff0c…...

JBOSS中间件漏洞复现

CVE-2015-7501 1.开启环境 cd vulhub/jboss/JMXInvokerServlet-deserialization docker-compose up -d docker ps 2.访问靶场 3.访问/invoker/JMXInvokerServlet目录 4.将反弹shell进⾏base64编码 bash -i >& /dev/tcp/47.121.191.208/6666 0>&1 YmFzaCAt…...

每日论文6—16ISCAS一种新型低电流失配和变化电流转向电荷泵

《A Novel Current Steering Charge Pump with Low Current Mismatch and Variation》16ISCAS 本文首先介绍了传统的current steering charge pump&#xff0c;如下图&#xff1a; 比起最简单的电荷泵&#xff0c;主要好处是UP和DN开关离输出节点较远&#xff0c;因此一定程度…...

2026年03月CCF-GESP编程能力等级认证Scratch图形化编程二级真题解析

本文收录于《Scratch等级认证CCF-GESP图形化真题解析》专栏,专栏总目录:点这里,订阅后可阅读专栏内所有文章。 一、单选题(每题 3 分,共 30 分) 第 1 题 在 2026 年春晚的《武 BOT》节目中,一群机器人表演空翻:它们落地后晃一下又能站稳,还会移动保持队形整齐。如果…...

售前客户需求深度挖掘:从表面诉求到核心痛点的五步法

# 003、客户需求深度挖掘&#xff1a;从表面诉求到核心痛点的五步法---上周调一个嵌入式项目&#xff0c;客户说“设备偶尔会死机&#xff0c;重启就好”。我们查了三天的日志&#xff0c;发现是内存泄漏。但真正的问题是什么&#xff1f;是代码质量&#xff1f;不完全是。最后…...

IDEA 2023.3 配置 JavaWeb 项目完整流程:从新建到打包 War 的保姆级避坑指南

IDEA 2023.3 配置 JavaWeb 项目完整流程&#xff1a;从新建到打包 War 的保姆级避坑指南 作为一名长期使用 IntelliJ IDEA 进行 JavaWeb 开发的工程师&#xff0c;我深知在配置项目时可能遇到的各种"坑"。特别是对于刚接触 IDEA 的新手来说&#xff0c;从项目创建到最…...

AI 模型推理框架性能分析与对比

AI模型推理框架性能分析与对比 随着人工智能技术的快速发展&#xff0c;AI模型推理框架成为支撑各类应用落地的核心工具。无论是计算机视觉、自然语言处理还是推荐系统&#xff0c;高效的推理框架直接影响模型的响应速度、资源占用和部署成本。本文将从多个维度对比主流AI推理…...

会用AI的人,早已拉开职场差距!全岗位工作范式重构进行时

AI深度融入职场&#xff0c;正在改写工作的底层逻辑&#xff0c;会用AI的从业者&#xff0c;已在工作效率与职业发展上形成明显优势。从开发人员的研发流程&#xff0c;到方案人员的工作模式&#xff0c;再到各行各业的基础岗位&#xff0c;AI不再只是简单的效率工具&#xff0…...

Mojo+Python混合部署案例深度拆解(从Jupyter到生产环境的无缝迁移全路径)

第一章&#xff1a;MojoPython混合部署案例深度拆解&#xff08;从Jupyter到生产环境的无缝迁移全路径&#xff09;Mojo 作为新兴的系统级编程语言&#xff0c;与 Python 生态天然兼容&#xff0c;为机器学习模型从探索性开发&#xff08;Jupyter Notebook&#xff09;迈向高吞…...

Claude浏览器扩展漏洞允许通过任意网站实现零点击XSS提示注入

网络安全研究人员披露了Anthropic公司Claude谷歌浏览器扩展中存在的一个漏洞&#xff0c;攻击者只需诱使用户访问特定网页即可触发恶意提示注入。漏洞原理分析Koi Security研究员Oren Yomtov在提供给The Hacker News的报告中指出&#xff1a;"该漏洞允许任何网站静默地向该…...

Win11Debloat:终极Windows系统清理工具,一键提升电脑性能的完整指南

Win11Debloat&#xff1a;终极Windows系统清理工具&#xff0c;一键提升电脑性能的完整指南 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本&#xff0c;用于从Windows中移除预装的无用软件&#xff0c;禁用遥测&#xff0c;从Windows搜索中移除Bing&#xff0c;以及执…...

Multisim电路设计避坑指南:红绿灯项目里那些容易忽略的时序与驱动问题

Multisim电路设计避坑指南&#xff1a;红绿灯项目里那些容易忽略的时序与驱动问题 当你第一次在Multisim中完成红绿灯控制电路的设计时&#xff0c;那种成就感确实令人兴奋。但很快&#xff0c;你可能就会遇到一些令人头疼的问题&#xff1a;黄灯闪烁频率不稳定、倒计时显示乱跳…...

抖音音频提取工具 v1.0 - 快速提取抖音视频音频

抖音音频提取工具 v1.0 是可快速提取抖音短视频音频并保存本地的实用工具&#xff0c;依托 WebView2 与 FFmpeg 技术实现&#xff0c;操作简单易上手&#xff0c;能满足车机播放等个人娱乐音频使用需求&#xff0c;工具仅支持个人娱乐使用。抖音音频提取工具 v1.0 抖音短视频音…...