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

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 终端窗口中运行&#xff1a; mkvirtualenv django_env # 拓展&#xff1a; mkvirtualenv django_env 是一个命令&#xff0c;用于创建一个名为 "django_env" 的虚拟环境。虚拟环境是一种用于隔离不同Python项目所需依赖的工具。通过创建虚拟环境&#x…...

C++产生未定义的行为的原因分析

前言 最近一直在做QT开发&#xff0c;编程环境是VS2017和QT5.11.2 经常遇到的问题就是&#xff0c;在VS中调试程序&#xff0c;前面都是正常运行的&#xff0c;但是当关闭窗口&#xff0c;退出程序的时候&#xff0c;VS会抛出一个异常 “未加载ntdll.pdb&#xff0c;触发了一…...

C++ Qt QString类用法介绍

QString 是 Qt 框架中的一个重要类&#xff0c;用于处理 Unicode 字符串。它提供了大量的功能&#xff0c;方便开发者处理、查询和操作字符串。以下是 QString 的一些常用功能和示例&#xff1a; 构造和初始化 QString s1; // 默认构造函数&#xff0c;创建一个空字符串 QStr…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/

使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题&#xff1a;docker pull 失败 网络不同&#xff0c;需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败&#xff0c;具体原因是客户端发送了密码认证请求&#xff0c;但Redis服务器未设置密码 1.为Redis设置密码&#xff08;匹配客户端配置&#xff09; 步骤&#xff1a; 1&#xff09;.修…...

C#中的CLR属性、依赖属性与附加属性

CLR属性的主要特征 封装性&#xff1a; 隐藏字段的实现细节 提供对字段的受控访问 访问控制&#xff1a; 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性&#xff1a; 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑&#xff1a; 可以…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化

缓存架构 代码结构 代码详情 功能点&#xff1a; 多级缓存&#xff0c;先查本地缓存&#xff0c;再查Redis&#xff0c;最后才查数据库热点数据重建逻辑使用分布式锁&#xff0c;二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...

【JavaSE】多线程基础学习笔记

多线程基础 -线程相关概念 程序&#xff08;Program&#xff09; 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序&#xff0c;比如我们使用QQ&#xff0c;就启动了一个进程&#xff0c;操作系统就会为该进程分配内存…...

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分&#xff1a; 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...

Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成

一个面向 Java 开发者的 Sring-Ai 示例工程项目&#xff0c;该项目是一个 Spring AI 快速入门的样例工程项目&#xff0c;旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计&#xff0c;每个模块都专注于特定的功能领域&#xff0c;便于学习和…...

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准

城市路内停车管理常因行道树遮挡、高位设备盲区等问题&#xff0c;导致车牌识别率低、逃费率高&#xff0c;传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法&#xff0c;正成为破局关键。该设备安装于车位侧方0.5-0.7米高度&#xff0c;直接规避树枝遮…...