Python 从入门到精通 学习笔记 Day01

Python 从入门到精通 第一天

在这里插入图片描述

今日目标

计算机组成原理、编程语言、Python环境安装
第一个Python程序、PyCharm的安装与使用
Python的基础语法、Python的基本数据类型

一、计算机组成原理

计算机的组成

计算机硬件通常由以下几个部分组成:
1.中央处理器(CPU):负责执行计算机指令,完成各种计算和逻辑操作。
2.存储器(Memory):用于存储计算机执行程序所需的数据和指令,
包括主存(Random Access Memory,RAM)和辅助存储器(如硬盘、光盘等)。
3.输入设备:用于向计算机输入数据和指令,如键盘、鼠标、扫描仪等。
4.输出设备:用于将计算机处理结果显示或打印出来,如显示器、打印机等。
5.总线(Bus):用于连接计算机各个部分,包括数据总线、地址总线和控制总线等。

存储器对比

磁盘(Disk)
磁盘是计算机中最慢的存储器之一,读取速度比内存慢很多。
由于磁盘通常用于永久存储数据,每秒钟可以完成的读取操作数量通常在几百到几千之间。
内存(Memory)
内存的读取速度比寄存器慢,但是比磁盘快很多。
由于内存的容量较大,每秒钟可以完成的读取操作数量通常在数百万到数千万之间。
寄存器(Register)
寄存器是CPU内部最快的存储器,读取速度非常快,通常是其他存储器读取速度的几百倍。
由于寄存器的大小有限,只能存储极少量的数据,因此每秒钟可以完成的读取操作数量非常多,
可能在数十亿次到数百亿次之间。

二、编程语言

编程语言发展史

①机器语言 1930-1960
机器语言阶段:计算机发明期,程序员需要使用二进制码来编写程序,这些二进制码被称为机器语言。
机器语言非常难以记忆和理解,难以维护和调试,因此随着计算机技术的发展,人们开始探索更高级的编程语言。
②汇编语言 第一个汇编语言 1947 伦敦大学
汇编语言阶段:为了简化机器语言的编写,人们发明了汇编语言,它使用符号代替了二进制码。
汇编语言虽然比机器语言更易于理解和编写,但仍然需要程序员对计算机硬件有深入的了解,难以编写大型程序。
③现代高级语言
1972 - C语言
1980 - C++
1991 - Python/VB
1994 - Java
1995 - PHP/JavaScript

高级语言阶段:高级语言提供了更加抽象和易于理解的语法,使得编写程序变得更加简单和高效。
随着计算机硬件的发展,高级语言的应用越来越广泛,例如C、C++、Java、Python、JavaScript等。

编译型语言与解释性语言

按编译类型分类:
编译型:C、C++、Go …
解释型: Python \ PHP \ Ruby \ JavaScript …
混合型:Java

编译型语言优缺点:
1.一次性的编译成平台相关的机器语言文件,运行时脱离开发环境,运行效率高;
2.与特定平台相关,一般无法移植到其他平台;

解释型语言优缺点:
1.解释型语言每次运行都需要将源代码解释称机器码并执行,执行效率低;
2.只要平台提供相应的解释器,就可以运行源代码,所以可以方便源程序移植;

三、Python环境安装

进入Python官网:https://www.python.org/
进入后,点击Download for Windows Python 3.12.0
自定义安装,添加PATH
配置环境变量 - 此电脑 - 右击 - 属性 - 高级系统设置 - 环境变量 - Path
Win+R 输入cmd - python 测试环境安装

四、第一个Python程序

①安装好Python,并配置环境变量
②在D:\code\新建文本文件firstPython.txt
③在firstPython中输入
print(“Hello Python”)
print(3)
保存
④Win+R - cmd - 输入
d:
cd d:\code
python firstPython.txt
⑤得到输出
Hello Python
3
⑥更改firstPython.txt为firstPython.py
⑦输入python firstPython.py得到输出
Hello Python
3

五、PyCharm的安装与使用

集成开发环境 (IDE)

Pycharm下载地址:
https://www.jetbrains.com.cn/pycharm/download/?section=windows
在这里插入图片描述
在Pycharm中实现第一个Python程序开发,功能如下
终端打印helloworld
终端打印当前时间
终端打印1-100的随机数

print("helloworld")
import datetime #显示当前时间
print(datetime.datetime.now().strftime("%Y/%m/%d  %X"))
import random# 随机数
print(random.random()*100)

六、Python的基础语法

语句分隔符

在Python中,通常使用换行符作为语句分隔符,每个语句应该单独占一行。例如:

print( "Hello,world!")
print("This is a Python program.")

另外,在某些情况下,我们可能需要在同一行打印多个字符串。这时,可以使用分号(;)作为语句分隔符。
例如:

print("Hello,world! "); print("This is a Python program. ")

需要注意的是,虽然分号可以用作语句分隔符,但在Python中并不常用。
通常,我们还是建议每个语句独占一行,这样可以提高代码的可读性和可维护性。

注释

Python中的注释是用来解释代码,提高代码可读性的一种方式。
Python中的注释使用#符号,以#号后面的内容为注释,注释内容会被Python解释器忽略。
Python支持单行注释和多行注释两种形式。
单行注释使用#符号,多行注释使用三个单引号(“”)或三个双引号(“”")。
以下是Python中注释的一些示例:

#这是一个单行注释
'''
这是一个多行注释
'''
"""
这也是一个多行注释
"""
x = 5 #这是一个赋值语句,后面跟了一个单行注释

需要注意的是,注释是编写高质量Python代码的重要组成部分。
良好的注释可以提高代码的可读性和可维护性,使代码更易于理解。
因此,在编写Python代码时,应该适当地添加注释。

Pep8规范

PEP 8是Python的官方代码风格指南,旨在提供一致、易于阅读和易于维护的Python代码。
PEP 8规范包括以下方面:
1.缩进:使用四个空格表示缩进。
2.行长:每行代码不应超过79个字符。
3.命名规范:变量名应以小写字母开头,使用下划线分隔多个单词;类名应以大写字母开头,使用驼峰命名法。
4.空格:在运算符两侧、逗号后以及冒号后应添加空格。
5.注释:注释应该清晰、简洁,使用英文书写。注释应该说明代码的作用,而不是如何实现。
6.函数和类:函数和类之间应该用两个空行分隔。
7.导入:每个导入应该单独成行,避免使用通配符导入。
8.括号:在函数调用和定义中,括号内部应该没有空格。
除此之外,PEP 8还涵盖了代码布局、字符串引号、空行、文件编码等方面的规范。
遵守PEP 8规范可以增加代码的可读性和可维护性,这对于团队开发、代码重构和代码维护都非常有帮助。建议Python开发者遵守这些规则,以便与其他Python开发者协作,并使代码更易于理解和维护。

变量

在Python中,变量是一个标识符,用于引用存储在计算机内存中的数据。
每个变量都有一个名称和一个关联的值,可以将值存储在变量中并在程序中多次使用。
以下是有关Python变量的一些基本概念:
1.变量名
变量名是用于标识变量的字符串,变量名由字母、数字和下划线组成,必须以字母或下划线开头,不能以数字开头。
例如:

my_variable = 10
name = "Alice"
my_list = [123]

2.变量赋值
在Python中,可以使用等号(=)将一个值赋给一个变量。
例如:

x = 10
name = "Alice"

在变量赋值时,Python会自动为变量选择适当的数据类型。

变量多次使用

x = 10
y = 20
#加法
print("x + y = ",x+y)
#减法
print("x - y = ",x-y)
#乘法
print("x * y = ",x*y)
#除法
print("x / y = ",x/y)

上述代码中,我们直接在print()函数中使用基本算术运算符来计算x和y的加、减、乘、除结果,并将结果输出到控制台。

变量值修改

#存储游戏玩家基本信息的变量
player_name = "John"
player_level = 10
player_experience = 2000
#输出玩家基本信息
print("玩家姓名: ",player_name)
print("玩家等级: ",player_level)
print("玩家经验值: ",player_experience)

变量命名规范
Python的变量命名规范通常遵循以下规则;
1.变量名只能包含字母、数字和下划线(_),不能以数字开头。
2.变量名不能使用保留字(例如if、else、while等等)。
3.变量名应该具有描述性,以便代码的可读性更高,例如在代码中使用的名称应该清晰、简洁、有意义,避免使用缩写或单个字符。
4.变量名应该遵循一定的命名约定,例如使用小写字母、下划线分隔单词的方式,例如my_variable_name。

七、Python的基本数据类型

整型和浮点型

整形

在Python中,整型(integer)是一种基本数据类型,用于表示整数。
整型变量可以通过赋值语句进行声明和初始化,例如:

x = 10
y = -5

在上面的代码中,变量x和y分别被赋值为10和-5,它们都是整型变量。
整型变量可以进行基本的算术运算,包括加、减、乘、除等,例如:

a = 10
b = 3
c = a + b
d = a - b
e = a * b
f = a / b

在上面的代码中,变量a和b分别被赋值为10和3,它们都是整型变量。
变量c、d、e、f分别被赋值为a + b、a - b、a *b、a / b的结果,它们也都是整型变量。

除了基本的算术运算之外,整型变量还可以使用比较运算符进行比较运算,
包括大于(>)、小于(<)、等于(==)、不等于(=)、大于等于(>=)和小于等于(<=),例如:

x = 5
y = 7
print("x > y: ",x >y)#输出:x >y: False
print("x <y: ",x <y)#输出:x <y: True
print("x =y:",x == y)#输出:X- y: False
print("x != y: ",x !=y)#输出:x !=y: True
print("x >= y: ",x >=y)#输出:× >= y: False
print("x <-y:",x <=y)#输出:x<= y: True

在上面的代码中,我们使用比较运算符对整型变量x和y进行了比较,并输出了比较结果。
需要注意的是,在Python 3中,整型变量可以表示任意大小的整数(在内存允许的情况下),因此不需要担心整型溢出的问题。
如果需要表示大整数,可以使用Python中的高精度计算库,例如decimal、fractions等。
总之,整型是Python中常用的数据类型之一,用于表示整数。
在实际应用中,我们可以通过对整型变量进行算术运算、比较运算等来实现相应的功能。

浮点型

在Python中,浮点型( float)是一种基本数据类型,用于表示浮点数。
浮点数是带有小数点的数字,例刻3.14、2.5等。
与整型不同,浮点型变量可以表示小数。
和整型─样可以进行算术运算和比较运算。

浮点型变量可以通过赋值语句进行声明和初始化,例如:

x = 3.14
y = -2.5

在上面的代码中,变量x和y分别被赋值为3.14和-2.5,它们都是浮点型变量。

布尔类型

布尔类型是一种基本数据类型,用于表示真和假两种状态。
在Python中,True和False是两个布尔型值,分别表示真和假。

bool函数

可以使用bool函数将一个值转换为布尔类型的值。
当将一个非空的值作为bool函数的参数时,函数返回True;
当将一个空的值(如0、空字符串、空列表、空字典等)作为参数时,函数返回False。
例如:

a = bool(1)#True
b = bool(0)#False
c = bool("Hello World")#True
d = bool("")# False
e = bool([1,2,3])#True
f = bool([])# False
print(a,b,c,d,e,f)

在Python中,除0、空字符串、空列表、空字典等空值被转换为False外,其他所有值都被转换为True。

字符串类型

字符串是一种在计算机程序中常用的数据类型,用于表示文本数据。
字符串可以看作是由一系列字符组成的序列,每个字符可以是字母、数字、符号或其他字符。
在计算机程序中,字符串通常使用一对单引号(‘’)或双引号(“”)括起来,例如:“hello world"或’Python is fun!‘。一些编程语言还支持使用三重引号(’''或”“”)来表示多行字符串。

s = "我爱Python"
print(s)

这个例子中,我们使用了字符串类型,并将其赋值给一个变量,然后使用print函数输出该变量的值。
在字符串中可以使用中文字符,Python默认使用UTF-8编码,可以支持多种语言的字符。

#显示游戏操作提示
game_prompt = """请按游戏提示进行操作:
1.攻击
2.防御
3.使用道具
4.逃跑
"""
print(game_prompt)

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

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

相关文章

HarmonyOS4.0从零开始的开发教程03初识ArkTS开发语言(中)

HarmonyOS&#xff08;二&#xff09;初识ArkTS开发语言&#xff08;中&#xff09;之TypeScript入门 浅析ArkTS的起源和演进 1 引言 Mozilla创造了JS&#xff0c;Microsoft创建了TS&#xff0c;Huawei进一步推出了ArkTS。 从最初的基础的逻辑交互能力&#xff0c;到具备类…

Docker-多容器应用

一、概述 到目前为止&#xff0c;你一直在使用单个容器应用。但是&#xff0c;现在您将 MySQL 添加到 应用程序堆栈。经常会出现以下问题 - “MySQL将在哪里运行&#xff1f;将其安装在同一个 容器还是单独运行&#xff1f;一般来说&#xff0c;每个容器都应该做一件事&#x…

题目分析,高度理解一维二维数组的申请和[]是什么运算符

第0题: 动态申请二维数组并输出非负数和 和负数出现次数 思路:输入数组大小,然后申请内存并不对其初始化,提高速度,传入数据到申请的数组中,判断如果数组中有元素小于0对其进行计数,否则加上非0数最后输出答案,释放内存 第一题: 解答: 运行结果: 思路分析: 创建长度为20的…

聚观早报 |东方甄选将上架文旅产品;IBM首台模块化量子计算机

【聚观365】12月6日消息 东方甄选将上架文旅产品 IBM首台模块化量子计算机 新思科技携手三星上新兴领域 英伟达与软银推动人工智能研发 苹果对Vision Pro供应商做出调整 东方甄选将上架文旅产品 东方甄选宣布12月10日将在东方甄选APP上线文旅产品&#xff0c;受这一消息影…

【算法】算法题-20231207

这里写目录标题 一、共同路径二、数字列表排序三、给定两个整数 n 和 k&#xff0c;返回 1 … n 中所有可能的 k 个数的组合。 一、共同路径 给你一个完整文件名组成的列表&#xff0c;请编写一个函数&#xff0c;返回他们的共同目录路径。 # nums[/hogwarts/assets/style.cs…

1-Tornado的介绍

1 tornado的介绍 **Tornado**是一个用Python编写的可扩展的、无阻塞的**Web应用程序框架**和**Web服务器**。 它是由FriendFeed开发使用的&#xff1b;该公司于2009年被Facebook收购&#xff0c;而Tornado很快就开源了龙卷风以其高性能着称。它的设计允许处理大量并发连接&…

4.Java程序设计-基于springboot得在线考试系统

编程技术交流、源码分享、模板分享、网课分享 企鹅&#x1f427;裙&#xff1a;772162324 摘要&#xff1a; 本文设计并实现了一款基于Spring Boot框架的在线考试系统小程序。随着远程学习和在线教育的普及&#xff0c;对于灵活、便捷的在线考试系统的需求逐渐增加。该小程序…

零基础小白怎么准备蓝桥杯-蓝桥杯竞赛经验分享

零基础小白怎么准备蓝桥杯-蓝桥杯竞赛经验分享 前言竞赛简介竞赛目的如何备战1.基础学习2.实战训练&#xff08;非常重要&#xff09; 资料分享 前言 博主在蓝桥杯中获得过十四届Java B 组的省一国二&#xff0c;本文为大家介绍一下蓝桥杯并分享一下自己的参赛经验。 竞赛简介…

流量异常-挂马造成百度收录异常关键词之解决方案(虚拟主机)

一.异常现象&#xff1a;流量突然暴涨&#xff0c;达到平时流量几倍乃至几十倍&#xff0c;大多数情况下因流量超标网站被停止。 二.排查原因&#xff1a; 1.首先分析web日志&#xff1a;访问量明显的成倍、几十倍的增加&#xff1b;访问页面不同&#xff1b;访问IP分散并不固…

阿里云上传文件出现的问题解决(跨域设置)

跨域设置引起的问题 起因&#xff1a;开通对象存储服务后&#xff0c;上传文件限制在5M 大小&#xff0c;无法上传大文件。 1.查看报错信息 2.分析阿里云服务端响应内容 <?xml version"1.0" encoding"UTF-8"?> <Error><Code>Invali…

27. 深度学习进阶 - 为什么RNN

文章目录 一个柯基的例子为什么RNN or CNN Hi&#xff0c;你好。我是茶桁。 这节课开始&#xff0c;我们将会讲一个比较重要的一种神经网络&#xff0c;它对应了咱们整个生活中很多类型的一种问题结构&#xff0c;它就是咱们的RNN网络。 咱们首先回忆一下&#xff0c;上节课咱…

zookeeper集群介绍

一个leader&#xff0c;多个follower&#xff0c;组成的集群 集群中只要有半数以上得节点存活&#xff0c;zookeeper集群就能正常服务 顺序一致性&#xff1a; 来自同一个client的更新请求按其发送顺序依次执行 原子性&#xff1a; 更新操作要么成功要么失败&#xff0c; 没有…

zookeeper1==zookeeper源码阅读,源码启动ZK集群

下载源码 Tags apache/zookeeper GitHub https://codeload.github.com/apache/zookeeper/zip/refs/tags/release-3.9.1 JDK8 MAVEN3.8.6 mvn -DskipTeststrue package 配置ZK1 zkServer.cmd中指出了启动类是 QuorumPeerMain QuorumPeer翻译成集群成员比较合理&#xf…

一文读懂MySQL基础知识文集

&#x1f3c6;作者简介&#xff0c;普修罗双战士&#xff0c;一直追求不断学习和成长&#xff0c;在技术的道路上持续探索和实践。 &#x1f3c6;多年互联网行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &#x1f389;欢迎 &#x1f44d;点赞✍评论…

实战演练 | 在 Navicat 中格式化日期和时间

Navicat 支持团队收到来自用户常问的一个问题是&#xff0c;如何将网格和表单视图中的日期和时间进行格式化。其实这个很简单。今天&#xff0c;我们将介绍在 Navicat Premium 中进行全局修改日期和时间格式的步骤。 如果你想边学边用&#xff0c;欢迎点击 这里 下载免费全功能…

cookie 与 session

参考&#xff1a;Cookie和Session详解 1、cookie 1.1、从视图函数设置cookie login_action视图函数中&#xff0c;添加浏览器cookie&#xff1b;event_manage视图中&#xff0c;从浏览器获取cookie。如下&#xff1a; # jk_app/views.py 文件 from django.shortcuts import r…

Zabbix自定义飞书webhook告警媒介1

说明&#xff1a;此配置仅适用于7版本及以上&#xff0c;低版本可能有问题 JavaScript 内容如下&#xff1a; try {var sourceData JSON.parse(value),req new HttpRequest(),response;if (sourceData.HTTPProxy) {req.setProxy(sourceData.HTTPProxy);}req.addHeader(Conte…

20 执行时长

题目描述 为了充分发挥GPU算力9&#xff0c;需要尽可能多的将任务交给GPU执行&#xff0c;现在有一个任务数组&#xff0c;数组元素表示在这1秒内新增的任务个数且每秒都有新增任务。 假设GPU最多一次执行n个任务&#xff0c;一次执行耗时1秒&#xff0c;在保证GPU不空闲情况下…

同旺科技 USB TO RS-485 定制款适配器--- 拆解(一)

内附链接 1、USB TO RS-485 定制款适配器 ● 支持USB 2.0/3.0接口&#xff0c;并兼容USB 1.1接口&#xff1b; ● 支持USB总线供电&#xff1b; ● 支持Windows系统驱动&#xff0c;包含WIN10 / WIN11系统32 / 64位&#xff1b; ● 支持Windows RT、Linux、Mac OS X、Windo…