Python安装(新手详细版)

前言 

 第一次接触Python,可能是爬虫或者是信息AI开发的小朋友,都说Python 语言简单,那么多学一些总是有好处的,下面从一个完全不懂的Python 的小白来安装Python 等一系列工作的记录,并且遇到的问题也会写出,让完全不懂的小白也可上手安装,并且完成第一个Hello world代码。
 

Python 安装


  目前,Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的。由于3.x版越来越普及,我们的教程将以最新的Python 3.11版本为基础。

进入Python的官方下载页面
http://www.python.org/download/

出现很多版本的,我们选择最新的版本3.9.0
在这里插入图片描述
下载完成后点击运行,会出现安装界面,记得勾上
在这里插入图片描述
 

出现这个就安装成功了

1.2 方便快捷式下载(推荐)

如果出现下载太慢的情况,建议进去这个网站 ,方便且快速

CNPM Python-免费镜像icon-default.png?t=O83Ahttps://registry.npmmirror.com/binary.html?path=python/

不想下载pycharm,这里也有python自带的编辑器 IDLE


运行Python
安装成功后,打开命令提示符窗口(win+R,在输入cmd回车),敲入python后,会出现两种情况:

情况一:

出现这个表示python安装成功。你看到提示符 >>> 就表示我们已经在Python交互式环境中了,可以输入任何Python代码,回车后会立刻得到执行结果。现在,输入exit()并回车,就可以退出Python交互式环境(或直接关掉命令行窗口也可以)。

情况二: 得到一个错误:

我这里就不演示了,因为我是安装成功的,我还是演示一下,用错误的pythonn来代替python来用,这样才会提示出错误信息。


配置环境变量
     这是因为Windows会根据一个Path的环境变量设定的路径去查找python.exe,如果没找到,就会报错。如果在安装时漏掉了勾选Add Python 3.9 to PATH,那就要手动把python.exe所在的路径添加到Path中。
     如果发现忘记勾选或者是不会设置PATH路径那么,你重新安装一遍记得勾选上Add Python 3.9 to PATH就ok了。(第2步:出现错误的信息一般都是没有配置环境变量导致的)

步骤:右键我的电脑–>选择属性–>选择高级系统设置–>选择右下角的环境变量

    1. 步骤:右键我的电脑–>选择属性–>选择高级系统设置–>选择右下角的环境变量
      在这里插入图片描述

环境变量主要有用户变量和系统变量,需要设置的环境变量就在这两个变量中
用户变量是将自己的下载的程序可以在cmd命令中使用,把程序的绝对路径写到用户变量中即可使用

[ 安装开发工具 ]

安装PyCharm工具,网上可以下载,很多资源,也有免安装的版本,解压就可以用,我现在演示的是需要进行安装的Pycharm开发工具。
在这里插入图片描述
.
在这里插入图片描述
.在这里插入图片描述
.
在这里插入图片描述
.
在这里插入图片描述

第一次打开pycharm会显示这个
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这样选着会有一个venv文件夹,新建项目时默认是新建一个虚拟环境
 

点击下一步完成空项目的创建
在这里插入图片描述
创建一个文件夹用于分类管理
在这里插入图片描述
创建一个python文件里面可以写python语句
在这里插入图片描述
在这里插入图片描述
来运行一下python代码,打印第一句python代码,Hello World 哈哈哈!!!
在这里插入图片描述
 
 
 

pyCharm的插件
 

汉化插件的下载

因为PyCharm进去是英文状态,所以下载这个汉化插件之后,重新启动就会显示为中文状态
.
打开File->Settings… 会跳出窗口

     在选择“marketplace”接着在输入框中输入“Chinese”后即可找到汉化插件,点击“install”进行下载

点击重启

 或者在安装时可以不选择专业版,选择编程版。

pip的使用

下载完成后,解压并且复制到python环境的根目录 文件夹下

并且通过cmd命令行运行chromedriver,不报错则成功

pip版本的更新

python -m pip install --upgrade pip
 
注意:不需要在python环境的命令行,而是使用cmd命令行进行的更新

 

新手知识大全 

安装(清华源)

pip install 安装名称 -i https://pypi.tuna.tsinghua.edu.cn/simple

py文件转exe

Pyinstaller -F 文件名.py
    pyinstaller -F -w -i xxx.ico xxx.py


base加密:
 

import base64
 
def base64_encode(text):
    encoded_text = base64.b64encode(text.encode('utf-8')).decode('utf-8')
    return encoded_text
 
def base64_decode(encoded_text):
    decoded_text = base64.b64decode(encoded_text).decode('utf-8')
    return decoded_text
 
# 示例用法
text = "Hello, World!"
encoded_text = base64_encode(text)
decoded_text = base64_decode(encoded_text)
print("原始文本:", text)
print("编码后的文本:", encoded_text)
print("解码后的文本:", decoded_text)


购物程序代码(实例)

# 菜单一
# 1.登录
def login(username, passwd):
    if username in user and user[username]['passwd'] == passwd:
        return True

# 2.注册
def register(username, passwd, money):
    if username in user:
        print("用户名已存在,请重新输入!")
    else:
        user[username] = {'passwd':passwd, 'money':money}
        print(f"{username}注册成功")
        print("用户信息已更新".center(26,"-"))
        print(f"{'用户名':<8}{'密码':<10}{'金额':<7}")
        for i in user:      #逐个打印用户名、密码、金额
            print(f"{i:<10}{user[i]['passwd']:<12}{user[i]['money']:<10}")

# 菜单二
# 1.查看商品信息
def message():
    print("商品信息".center(40,"-"))
    print(f"{'商品编号':<7}{'商品名称':<8}{'单价':<7}")
    for i in goodsmess:     #逐个打印商品编号、名称、单价
        print(f"{i:<10}{goodsmess[i]['name']:<10}{goodsmess[i]['price']:<10}")
    print("-"*44)

# 2.购买商品,将商品加入购物车
def add_goods(goodsid, goodsnum):
    # cart初始化为空字典{} --> {goodsid:goodsnum}
    # 若购物车里已经有该商品,该商品数量在原基础上增加即可
    cart[goodsid] = cart.get(goodsid, 0) + goodsnum
    print("加购成功...")
    print(f"{'商品编号':<8}{'数量':<7}")
    print(f"{goodsid:<12}{goodsnum:<10}")    #打印此次加购的商品信息:商品编号、数量

# 3.查看、结算购物车
# 3.1查看所有加购成功的商品
def check_cart():
    print("查看购物车".center(38,"-"))
    print(f"{'商品编号':<8}{'商品名称':<8}{'单价':<7}{'数量':<7}")
    for i in cart:             #逐个打印商品编号、名称、单价、数量
        print(f"{i:<11}{goodsmess[i]['name']:<10}{goodsmess[i]['price']:<8}{cart[i]:<10}")
    print("-"*41)

# 3.2结算购物车
def pay_cart(pay):
    global cartmoney, cartmoney2
    for i in cart:
        cartmoney += cart[i] * goodsmess[i]['price']
    if cartmoney <= user[username]['money'] :
        user[username]['money'] -= cartmoney
        print(f"结算成功,本次消费:{cartmoney},余额:{user[username]['money']}")
        cart2.update(cart.copy())    #清空cart之前先保存,退出时,输出所有已购商品 --》购物车1+购物车2+...
        cart.clear()            #结算成功,清空购物车
        cartmoney2 += cartmoney     #将每次的消费金额相加,退出时输出
        cartmoney = 0        #购物车清空之后,将消费金额置0,可继续加购,结算购物车
    else:
        print(f"余额不足!")

# 4.退出
# 退出并打印购物单和余额
def exit():
    global cartmoney2
    print("谢谢惠顾!欢迎下次光临!".center(30))
    print("-"*38)
    print(f"{'商品编号':<8}{'商品名称':<8}{'单价':<8}{'数量':<8}")
    for i in cart2:
        print(f"{i:<11}{goodsmess[i]['name']:<10}{goodsmess[i]['price']:<8}{cart2[i]:<10}")
    print("-" * 38)
    print(f"总共消费:{cartmoney2},余额为:{user[username]['money']}")
    cart2.clear()   #退出之后清空购物单
    cartmoney2 = 0     #将总消费金额置0

# 主程序
user = {'root':{'passwd':'123456', 'money':100}}
print("欢迎进入里零狐购物系统".center(50,"-"))
goodsmess = {'F01':{'name':'苹果','price':2},
             'F02':{'name':'香蕉','price':2},
             'F03':{'name':'梨子','price':1},
             'F04':{'name':'芒果','price':2},
             'F05':{'name':'柚子','price':8},
             'F06':{'name':'西瓜','price':10},
             'F07':{'name':'新华词典','price':15}}
 
# cart = {goodsid:goodsnum} -->  {'编号':'数量'}
cart = {}      #购物车,初始化为空
cart2 = {}     #存放所有已购商品 --> 类似于购物车1+购物车2+...
cartmoney = 0     #购物车消费金额  初始化为0
cartmoney2 = 0    #所有的购物车消费金额
while 1:
    print("1、登录".center(50))
    print("2、注册".center(50))
    print("3、退出".center(50))
    option = input("请输入你的选择:")
    if option == '1':
        username = input("请输入用户名:")
        passwd = input("请输入密码:")
        if login(username,passwd):
            print("登录成功")
            print(f"欢迎光临!你的余额为:{user[username]['money']}")
            while 2:
                print("1、查看商品信息".center(50))
                print("2、购买商品,将商品加入购物车".center(58))
                print("3、查看和结算购物车".center(52))
                print("4、退出".center(46))
                option2 = input("请输入你的选择:")
                if option2 == '1':
                    message()
                elif option2 == '2':
                    goodsid = input("请输入你想加购的商品编号(F01~F06):")
                    if goodsid in goodsmess:     #输入的编号存在
                        goodsnum = input("请输入你想加购的商品数量:")
                        if goodsnum.isdigit():
                            goodsnum = int(goodsnum)
                            add_goods(goodsid, goodsnum)
                        else:
                            print("输入的不是整数")
                    else:
                        print("商品不存在!")
                elif option2 == '3':
                    check_cart()
                    pay = input("结算购物车请按1(按其他键返回菜单):")
                    if pay == '1':
                        pay_cart(pay)
                elif option2 == '4':
                    print("退出")
                    exit()
                    break
                else:
                    print("输入错误!")
        else:
            print("登录失败")
    elif option == '2':
        username = input("请输入用户名:")
        passwd = input("请输入密码:")
        money = int(input("请输入金额:"))
        register(username,passwd,money)
    elif option == '3':
        print("退出")
        break
    else:
        print("输入错误!")

效果实例

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/948838.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JMeter + Grafana +InfluxDB性能监控 (二)

您可以通过JMeter、Grafana 和 InfluxDB来搭建一个炫酷的基于JMeter测试数据的性能测试监控平台。 下面&#xff0c;笔者详细介绍具体的搭建过程。 安装并配置InfluxDB 您可以从清华大学开源软件镜像站等获得InfluxDB的RPM包&#xff0c;这里笔者下载的是influxdb-1.8.0.x86_…

STL常用容器总结

1.Vector容器特性 vector 容器是一个长度动态改变的动态数组&#xff0c;既然也是数组&#xff0c;那么其内存是一段连续的内存&#xff0c;具有数组的随机存取的优点。 / 1.1.vector特性总结: 1.vector 是动态数组&#xff0c;连续内存空间&#xff0c;具有随机存取效率高的…

BBP飞控板中的坐标系变换

一般飞控板中至少存在以下坐标系&#xff1a; 陀螺Gyro坐标系加速度计Acc坐标系磁强计Mag坐标系飞控板坐标系 在BBP飞控板采用的IMU为同时包含了陀螺&#xff08;Gyro&#xff09;及加速度计&#xff08;Acc&#xff09;的6轴传感器&#xff0c;故Gyro及Acc为同一坐标系。同时…

【OAuth2系列】如何使用OAuth 2.0实现安全授权?详解四种授权方式

作者&#xff1a;后端小肥肠 &#x1f347; 我写过的文章中的相关代码放到了gitee&#xff0c;地址&#xff1a;xfc-fdw-cloud: 公共解决方案 &#x1f34a; 有疑问可私信或评论区联系我。 &#x1f951; 创作不易未经允许严禁转载。 姊妹篇&#xff1a; 【OAuth2系列】集成微…

鸿蒙MPChart图表自定义(六)在图表中绘制游标

在鸿蒙开发中&#xff0c;MPChart 是一个非常强大的图表库&#xff0c;它可以帮助我们创建各种精美的图表。今天&#xff0c;我们将继续探索鸿蒙MPChart的自定义功能&#xff0c;重点介绍如何在图表中绘制游标。 OpenHarmony三方库中心仓 一、效果演示 以下是效果演示图&…

《新概念模拟电路》-电流源电路

电流源电路 本系列文章主要学习《新概念模拟电路》中的知识点。在工作过程中&#xff0c;碰到一些问题&#xff0c;于是又翻阅了模电这本书。我翻阅的是ADI出版的&#xff0c;西安交通大学电工中心杨建国老师编写的模电书。 本文主要是基于前文《新概念模拟电路》-三极管的基础…

Java实现下载excel模板,并实现自定义下拉框

GetMapping("excel/download")ApiOperation(value "模板下载")public void getUserRecordTemplate(HttpServletResponse response, HttpServletRequest request) throws IOException {OutputStream outputStream response.getOutputStream();InputStream…

C 实现植物大战僵尸(四)

C 实现植物大战僵尸&#xff08;四&#xff09; 音频稍卡顿问题&#xff0c;用了 SFML 三方库已优化解决 安装 SFML 资源下载 https://www.sfml-dev.org/download/sfml/2.6.2/ C 实现植物大战僵尸&#xff0c;完结撒花&#xff08;还有个音频稍卡顿的性能问题&#xff0c;待…

回归预测 | MATLAB实现CNN-BiLSTM-Attention多输入单输出回归预测

回归预测 | MATLAB实现CNN-BiLSTM-Attention多输入单输出回归预测 目录 回归预测 | MATLAB实现CNN-BiLSTM-Attention多输入单输出回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 一、方法概述 CNN-BiLSTM-Attention多输入单输出回归预测方法旨在通过融合CNN的局…

Ansible之批量管理服务器

文章目录 背景第一步、安装第二步、配置免密登录2.1 生成密钥2.2 分发公钥2.3 测试无密连接 背景 Ansible是Python强大的服务器批量管理 第一步、安装 首先要拉取epel数据源&#xff0c;执行以下命令 yum -y install epel-release安装完毕如下所示。 使用 yum 命令安装 an…

让css设置的更具有合理性

目录 一、合理性设置宽高 二、避免重叠情况&#xff0c;不要只设置最大宽 三、优先使用弹性布局特性 四、单词、数字换行处理 五、其他编码建议 平常写css时&#xff0c;除了遵循一些 顺序、简化、命名上的规范&#xff0c;让css具有合理性也是重要的一环。 最近的需求场…

【微服务】1、引入;注册中心;OpenFeign

微服务技术学习引入 - 微服务自2016年起搜索指数持续增长&#xff0c;已成为企业开发大型项目的必备技术&#xff0c;中高级java工程师招聘多要求熟悉微服务相关技术。微服务架构介绍 概念&#xff1a;微服务是一种软件架构风格&#xff0c;以专注于单一职责的多个响应项目为基…

设计模式 结构型 组合模式(Composite Pattern)与 常见技术框架应用 解析

组合模式&#xff08;Composite Pattern&#xff09;是一种结构型设计模式&#xff0c;它允许你将对象组合成树形结构来表示“部分-整体”的层次结构。通过这种模式&#xff0c;客户端可以一致地处理单个对象和对象组合。 在软件开发中&#xff0c;我们经常会遇到处理对象的层…

抢先体验:人大金仓数据库管理系统KingbaseES V9 最新版本 CentOS 7.9 部署体验

一、简介 KingbaseES 是中国人大金仓信息技术股份有限公司自主研发的一款通用关系型数据库管理系统&#xff08;RDBMS&#xff09;。 作为国产数据库的杰出代表&#xff0c;它专为中国市场设计&#xff0c;广泛应用于政府、金融、能源、电信等关键行业&#xff0c;以高安全性…

Linux驱动开发(17):输入子系统–电阻触摸驱动实验

有关电阻触摸的基础知识内容可以参考野火STM32相关教程&#xff0c;这里只介绍电阻触摸驱动的相关内容。与一般的微处理器 不同&#xff0c;本节使用的imx6ull内自带触摸屏控制器&#xff0c;只需要把电阻触摸屏的信号线接到对应的IO即可&#xff0c;通过配置imx6ull 触摸屏控制…

8、RAG论文笔记(Retrieval-Augmented Generation检索增强生成)

RAG论文笔记 1、 **研究背景与动机**2、方法概述3、RAG 模型架构3.1总体架构3.2 Generator&#xff08;生成器&#xff09;3.3 检索器&#xff08;Retriever&#xff09;3.4训练&#xff08;Training&#xff09;3.5**解码方法**&#xff08;求近似 &#xff09;3.6微调的参数 …

简易CPU设计入门:通用寄存器的读写

项目代码下载 请大家首先准备好本项目所用的源代码。如果已经下载了&#xff0c;那就不用重复下载了。如果还没有下载&#xff0c;那么&#xff0c;请大家点击下方链接&#xff0c;来了解下载本项目的CPU源代码的方法。 下载本项目代码 准备好了项目源代码以后&#xff0c;我…

【动手学电机驱动】STM32-MBD(3)Simulink 状态机模型的部署

STM32-MBD&#xff08;1&#xff09;安装 Simulink STM32 硬件支持包 STM32-MBD&#xff08;2&#xff09;Simulink 模型部署入门 STM32-MBD&#xff08;3&#xff09;Simulink 状态机模型的部署 【动手学电机驱动】STM32-MBD&#xff08;3&#xff09;Simulink 状态机模型部署…

Linux运维相关基础知识(二)

系列文章目录 Linux常用命令 linux 账号管理与权限设定 Linux运维相关基础知识 文章目录 系列文章目录前言1. 自动任务执行at 与 atdcrontab 与 crond 2. SELinuxtty多任务管理与进程管理相关的命令/proc/* 文件的意义SELinux 3. 守护进程早期SystemV的init管理行为中daemon…

K8s集群平滑升级(Smooth Upgrade of K8S Cluster)

简介&#xff1a; Kubernetes ‌ &#xff08;简称K8s&#xff09;是一个开源的容器编排和管理平台&#xff0c;由Google开发并维护。它最初是为了解决谷歌内部大规模容器管理的问题而设计的&#xff0c;后来在2014年开源&#xff0c;成为云原生技术的核心组成部分。‌‌1 K8…