Python快速入门教程
文章目录:
一:软件环境安装
1.软件环境
2.运行第一个程序
二:语法基础
1.注释
2.变量
3.数学运算
4.数据类型
5.数据输入input
6.逻辑运算
7.程序控制结构
7.1 if选择
7.1.1 条件语句if else
7.1.2 嵌套语句
7.1.3 多条件判断if elif else
7.2 for循环
7.3 while循环
8.列表(数组)
9.字典
10.格式化字符串format
11.函数
12.引入模块
三:语法进阶
1.OOP面向对象
1.1 创建类
1.2 继承类
2.文件
2.1 读文件r
2.2 写文件w
3.异常
3.1 常见错误
3.2 异常处理
4.测试库unittest
参考:3小时快速入门Python
一:软件环境安装
1.软件环境
第一步:环境Downloads_Windows installer (64-bit)(安装好后命令行输入Python查看是否安装成功)
第二步:软件PyCharm
第三步:长久使用、汉化(插件里面安装Chinese然后重启软件就是)
python解释器:把代码转换成字节码后再执行代码编辑器:pycharm
2.运行第一个程序
创建工程a 位置:选择自己需要保存工程的位置b 基础解析器:选择上面环境安装的解释器c 取消勾选“创建Main.py”目录结构venv:这个项目独立的python虚拟环境,不同的项目考研用不同的解释器版本和第三方库写代码选择最上面的文件夹——>右键——>新建——>python文件——>取名.py——>回车取消将文件添加到git举例print("hello world!")print('hello world!')print('hello world!'+"欢迎来到python"+'的编程世界')print("你在\"干\'什么")print ("\n")print ("123\n456")print("""离离原上草,一岁一枯荣野火烧不尽,春风吹又生""")print('''鹅鹅鹅,曲项向天歌白毛浮绿水,红掌拨清波''')print(100)
二:语法基础
1.注释
第一种:#快捷键:ctrl+/ 第二种:“”“这里面的内容是会被注释的”“”
2.变量
# 变量取名:文字、数字、下划线 a="吃饭了" print("刘鑫磊"+a) print("周星驰"+a) print("刘德华"+a)
3.数学运算
import math #math.函数名(...) print(math.sin(1))#一元二次方程:ax^2+bx+c=0 -x^2-2x+3=0 # -b±√(b^2-4ac) #x= ˉˉˉˉˉˉˉˉˉˉˉˉ # 2a a=-1 b=-2 c=3 print((-b+math.sqrt(b*b-4*a*c))/(2*a)) print((-b-math.sqrt(b*b-4*a*c))/(2*a))
4.数据类型
字符串:str "hello" 'world' 整数:int 100 浮点数:float 1.0 2.01 布尔类型:bool True False 空值类型:NoneType None返回数据类型:type(表达式) 得到字符串的长度:len("字符串信息")布尔类型(必须大写):True False 空值类型(必须大写):None
5.数据输入input
a=input("请输入:") print(a)b=input("请输入一个整数:") print(int(b))c=input("请输入一个浮点数:") print(float(c))d=input("请输入一个字符串:") print(str(d))
6.逻辑运算
and与 or 或 not非优先级:not——>and——>or
7.程序控制结构
7.1 if选择
7.1.1 条件语句if else
if [条件]:[执行语句] else:[执行语句]
7.1.2 嵌套语句
if [条件一]:if[条件二]:[语句A]else:[语句B] else:[语句C]
7.1.3 多条件判断if elif else
if [条件一]:[语句A] elif [条件二]:[语句B] elif [条件三]:[语句C] else:[语句D]
7.2 for循环
num=[100,10,1000,99,66,1,88] for a in num:if a==max(num):print(a)print("它是最大的数")for b in range(1,10,2):print(b)
7.3 while循环
a=input("请请输入你的成绩:") a=int(a) while a > 90:print("优秀")
8.列表(数组)
# 方法:对象.方法名(...) a.append("橘子") # 函数:函数名(对象) len(a)a=["苹果","梨子","香蕉"] b=[100,10,1000,99,66,1,88]a.append("橘子") print(a)a.remove("苹果") print(a)print(a[1])a[2]="芒果" print(a)print(max(b)) print(min(b)) print(sorted(b))
9.字典
#字典contacts 键key:值value a={"1":"刘鑫磊","2":"刘德华","3":"刘亦菲","4":"刘诗诗"}a["5"]="刘能"print("1" in a)del a["2"] print(a)print(len(a))print(a["3"])a.keys() a.values() a.items()# 元组tuple a=("苹果","梨子","香蕉")
10.格式化字符串format
name="刘鑫磊" fromhome="四川" a=""" 大家好,我叫{0} 来自{1}省 """.format(name,fromhome) print(a)shuiguo="西瓜" shucai="土豆" b=f""" 喜欢吃的水果是{shuiguo} 喜欢的蔬菜是{shucai} """ print(b)
11.函数
def sum(a,b):print(a+b)return a+ba=input("请1""输入a:") b=input("请输入b:")sum(a,b)
12.引入模块
Pyhon第三方库
安装库在终端里面输入:pip install 库名引用import statisticsprint(statistics.median([111,125,134,129])) #统计数组元素的中位数print(statistics.mean([111,125,134,129])) #对所有元素求均值from statistics import median,meanprint(median([111,125,134,129])) print(mean([111,125,134,129]))from statistics import*print(median([111,125,134,129])) print(mean([111,125,134,129]))
三:语法进阶
1.OOP面向对象
OOP面向对象封装、继承、多态类是创建对象的模板,对象是类的实例
1.1 创建类
class CuteCat:def __init__(self,cat_name,cat_age,cat_color): #构造属性self.name=cat_nameself.age=cat_ageself.color=cat_colordef speak(self): #构造方法print("喵"*self.age)def think(self,context):print(f"小猫{self.name}在考虑吃{context}")cat1=CuteCat("花花",3,"橘色") #创建对象 cat1.think("吃鱼") print(f"小猫名{cat1.name}的年龄是{cat1.age}它的颜色为{cat1.color}") #获取对象的属性 cat1.speak()
1.2 继承类
class employee: #父类(职工)def __init__(self,name,id):self.name=nameself.id=iddef print_info(self):print(f"员工的名字:{self.name},工号:{self.id}")class fullTimeEmployee(employee): #继承(全职员工)def __init__(self, name, id,monthly_salary):super().__init__(name, id)self.monthly_salary=monthly_salarydef monthly_pay(self):return self.monthly_salaryclass partTimeEmployee(employee): #继承(兼职员工)def __init__(self, name, id,daily_salary,work_days):super().__init__(name,id)self.daily_salary=daily_salaryself.work_days=work_daysdef monthly_pay(self):return self.daily_salary*self.work_days#创建对象 zhangsan=fullTimeEmployee("张三","001",6000) lisi=partTimeEmployee("李四","002",4000,15)#调用输出 zhangsan.print_info() lisi.print_info() print(zhangsan.monthly_pay()) print(lisi.monthly_pay())
2.文件
磁盘目录:cd cd~ cd- cd. cd.. cd/ cd./ cd../.. cd!$ cd /home的区别
a=open("./data.txt","r",encoding="utf-8") #相对路径 r:读(默认)# r+:读写(写入东西是追加的形式) b=open("/usr/demo/data.txt","w") #绝对路径 w:写# a:附加追加内容
2.1 读文件r
print(a.read(10)) #读取多少字节 print(b.readline()) #读取一行的内容 print(b.readlines()) #读取全部文件内容#关闭文件 a.close() #第一种方法 with open("./data.txt") as a: #第二种方法:执行完就会自动关闭print(a.read())
举例
#正常读取逻辑 c=open("./data.txt","r",encoding="utf-8") line=c.readline() #读取第一行 while line !="": #判断当前行是否为空print(line) #不为空则打印当前行line=c.readline() #继续读取下一行 c.close() #关闭文件,释放资源#正常读取逻辑 d=open("./data.txt","r",encoding="utf-8") lines=d.readlines() #把每行内容存储到列表里 for line in lines: #遍历每行内容print(line) #打印当前行 c.close()
2.2 写文件w
#若文件不存在,就会自动创建这个文件;若文件存在会把里面的东西清空覆盖 with open("./data.txt","w",encoding="utf-8") as a:a.write("hello world!\n")
3.异常
3.1 常见错误
IndentationError:缩进错误 ImportError:导入模块错误 ArithmeticError:计算错误 IndexError:索引错误 ZeroDivisionError:分母为零错误 SyntaxError:语法错误 AttributeError:属性错误 ValueError:值错误 KeyError:键错误 ZeroDivisionError:分母为零错误AssertionError:断言错误
3.2 异常处理
try:a=float(input("请输入1——100:"))b=float(input("请输入100——200:"))c=a/b except ValueError:print("你输入的数据不合理,无法转换成数字的字符串") except ZeroDivisionError:print("分母不能为零") except:print("程序发生错位,请检查后重新运行") else: #没有错误时运行print("除法的结果为:"+str(c)) finally: #都会执行的程序print("程序执行结束")
4.测试库unittest
#断言 assert 表达式 #单元测试库 import unittest#测试代码和写的功能分文件写来进行测试 import unittest from filename1 import sumclass TestMyclass(unittest.TestCase):def setUp(self):self.renyi=renyi("hello world") #都会执行的def test_x(self):assert sum(1,2)==3def test_y(self):self.assertEqual(sum(2,8),10) #assert a=b assertNotEqualdef test_z(self):self.assertTrue(a) #assert a is true assertFalsedef test_n(self):self.assertIn(a,b) #assert a in b assertNoIn#终端运行(视图——>工具窗口——>终端):python -m unittest#会返回运行了几个测试、每一个点代表一个测试通过(没有通过有一个点就会变成F)
相关文章:
Python快速入门教程
文章目录: 一:软件环境安装 1.软件环境 2.运行第一个程序 二:语法基础 1.注释 2.变量 3.数学运算 4.数据类型 5.数据输入input 6.逻辑运算 7.程序控制结构 7.1 if选择 7.1.1 条件语句if else 7.1.2 嵌套语句 7.1.3 多条件判断…...
注释的重要性:代码的明晰之道
注释是程序员在编写代码时常常遇到的问题。有人声称不写注释就是在耍流氓,这引发了广泛的讨论。本文将探讨注释的重要性以及它对于代码的可读性和维护性的影响,同时提供一些关于如何写好注释的建议。 在软件开发领域,写代码不仅仅是为了满足功…...

将 vue2+ElementU 项目打包成安卓app
目标:将vue项目打包成安卓app 工具:HbuilderX 1.在HbuilderX中创建一个 5App 项目 创建好的app项目目录 2.将vue项目打包 2.1 在 vue.config.js 中添加公共路径(解决打包后的app图片不显示问题) module.exports defineConfig(…...

sop作业指导书怎么做?sop标准作业指导书用什么软件做?
自标准作业程序sop这个概念引入市场以来,现代生产企业纷纷开始打造自己的标准作业程序sop,然而在这个过程中,因为缺乏经验或者缺少相应的技术人员,导致遇到重重困难,其中最重要的一环sop作业指导书怎么做就难倒了不少企…...

计算机网络 | 应用层
计算机网络 | 应用层 计算机网络 | 应用层应用层概述网络应用模型客户/服务器模型(Client/Server,C/S)P2P模型(Peer-to-Peer) 域名系统(DNS) 参考视频:王道计算机考研 计算机网络 参…...

IP地址定位技术对企业的影响有哪些?
IP地址定位技术是一种用于确定互联网用户地理位置的技术,它将IP地址映射到具体的地理坐标。这项技术对于多个领域具有重要性,具有广泛的影响,包括以下几个方面: 1. 改善广告和市场营销:IP地址定位技术使广告商能够更精…...
【SA8295P 源码分析 (一)】52 - 答疑之 QNX 创建镜像、Android修改CMDLINE
【SA8295P 源码分析】52 - 答疑之 QNX 创建镜像、Android修改CMDLINE 一、QNX 侧创建 img 镜像二、QNX 侧指定只编译某一个版本三、Android定制修改selinux权限,user版本采用enforcing,userdebug版本permissive系列文章汇总见:《【SA8295P 源码分析 (一)】系统部分 文章链接…...

跨境商城源码部署(多商户入驻,一键铺货,快速部署)
现如今,互联网的快速发展为商业带来了前所未有的机遇,跨境电商作为其中的热门领域,吸引了众多企业和创业者的关注。而通过部署跨境商城源码,您将获得多商户入驻、一键铺货等功能,轻松拥有一家生意蓬勃发展的跨境商城。…...
videojs和videojs-markers
文章目录 videojs安装使用videojs常用选项video.js特定选项 videojs-markers安装使用说明方法 videojs video.js是一款基于HTML5的网络视频播放器。它支持HTML5和Flash视频,以及YouTube和Vimeo(通过插件),Video.js 自动检测浏览器…...

铜死亡+多组机器学习+WGCNA+分型
今天给同学们分享一篇铜死亡多组机器学习WGCNA分型的生信文章“Machine learning screening for Parkinsons disease-related cuproptosis-related typing development and validation and exploration of personalized drugs for cuproptosis genes”,这篇文章于20…...

vite 使用本地 ip + localhost 访问服务
vite 使用本地 ip localhost 访问服务 在 vite.config.js 中,如果未配置 server.host,默认服务将以 localhost 进行启动,此时我们可以通过 localhost:port 或 127.0.0.1:port 进行应用访问。 import { resolve } from path function pathRes…...

postman和jmete接口测试的用法与区别
前言 前阶段做了一个小调查,发现软件测试行业做功能测试和接口测试的人相对比较多。在测试工作中,有高手,自然也会有小白,但有一点我们无法否认,就是每一个高手都是从小白开始的,所以今天我们就来谈谈一大…...

Go语言基础之包
包(package) Go语言中支持模块化的开发理念,在Go语言中使用包(package)来支持代码模块化和代码复用。一个包是由一个或多个Go源码文件(.go结尾的文件)组成,是一种高级的代码复用方案…...

Switch模拟器-Ryujinx(龙神模拟器)安装教程
Ryujinx是由gdkchan带领团队运用C#语言创建并发布在GitHub平台的Switch开源模拟器. 系 统 要 求 内存8 GB RAM及以上 显卡支持Vulkan、OpenGL版本4.5及以上 64位系统 Windows 10 RS4(Redstone 4,版本 1803)或更高版本 软 件 教 程 第一…...

从Github中下载部分文件
我们经常回去Github中下载代码,但仓库中存在很多project代码。但我们如果只需要某一个或几个项目的代码,此时应该如何操作呢? 这里介绍两款工具,可以从仓库中下载部分文件的小工具: DownGit 和 GitZip 1. DownGit downGit 国内镜…...
webrtc安全性 加密方式
媒体加密与通信安全 有各种不同的做法会让实时通信软件暴露在安全隐患中。其中需要特别值得注意的是在信息传输的过程中截取未加密的媒体或者数据。这可以发生在浏览器到浏览器之间或者浏览器到服务器之间的通信过程中,第三方可以窃取到所有发送的数据。但是在数据加…...
【2023年11月第四版教材】软考上机考试操作指南(注意事项)
软考上机考试操作指南(注意事项) 1 考试注意事项2 获取<font color=blue>模拟作答系统1.1 方式1:绑定资源下载1.2 方式2:百度网盘下载1.3 方式3:官方下载1.4 说明3 模拟作答系统使用方法3.1 注意事项3.2 解压压缩文件3.3 运行软件3.4 考试科目选择3.5 登录3.6 阅读考…...

在vs code中创建一个名为 “django_env“ 的虚拟环境报错?!以下方法可以解决
# vs code 终端窗口中运行: mkvirtualenv django_env # 拓展: mkvirtualenv django_env 是一个命令,用于创建一个名为 "django_env" 的虚拟环境。虚拟环境是一种用于隔离不同Python项目所需依赖的工具。通过创建虚拟环境&#x…...

C++产生未定义的行为的原因分析
前言 最近一直在做QT开发,编程环境是VS2017和QT5.11.2 经常遇到的问题就是,在VS中调试程序,前面都是正常运行的,但是当关闭窗口,退出程序的时候,VS会抛出一个异常 “未加载ntdll.pdb,触发了一…...
C++ Qt QString类用法介绍
QString 是 Qt 框架中的一个重要类,用于处理 Unicode 字符串。它提供了大量的功能,方便开发者处理、查询和操作字符串。以下是 QString 的一些常用功能和示例: 构造和初始化 QString s1; // 默认构造函数,创建一个空字符串 QStr…...

(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...

现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...

论文阅读:LLM4Drive: A Survey of Large Language Models for Autonomous Driving
地址:LLM4Drive: A Survey of Large Language Models for Autonomous Driving 摘要翻译 自动驾驶技术作为推动交通和城市出行变革的催化剂,正从基于规则的系统向数据驱动策略转变。传统的模块化系统受限于级联模块间的累积误差和缺乏灵活性的预设规则。…...
Leetcode33( 搜索旋转排序数组)
题目表述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...