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…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...
Go语言多线程问题
打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...
三分算法与DeepSeek辅助证明是单峰函数
前置 单峰函数有唯一的最大值,最大值左侧的数值严格单调递增,最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值,最小值左侧的数值严格单调递减,最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...
