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

news2024/11/29 5:42:57

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)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

红队专题-开源资产扫描系统-ARL资产灯塔系统

ARL资产灯塔系统 安装说明问题 &#xff1a; 安装说明 源码地址 https://github.com/TophantTechnology/ARL https://github.com/TophantTechnology/ARL/wiki/Docker-%E7%8E%AF%E5%A2%83%E5%AE%89%E8%A3%85-ARL 安装环境 uname -a Linux VM-24-12-centos 3.10.0-1160.49.1.e…

02Docker容器卷

Docker容器卷 1.数据卷是什么 简而言之: 就是Docker用来存储数据的,在镜像被删除的时候,卷中数据不会被删除,就是相当于一个数据库备份数据,相当于Windows中的目录或文件 2.目的 解决数据持久化 独立容器的生存周期,帮助容器间继承和共享数据 3.数据卷的使用 1.直接添加 doc…

sed 流式编辑器

使用方式&#xff1a; 1&#xff0c;前置指令 | sed 选项 定址符指令 2&#xff0c;sed 选项 定址符指令 被处理文档 选项&#xff1a; -n 屏蔽默认输出 -i写入文件 -r支持扩展正则 指令&#xff1a; p输出 d删除 s替换 sed -n 1p user //输出第1行 sed -n…

从Excel中找sheet

pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 …

ambari 开启hdfs回收站机制

hdfs回收站类似于我们常用的windows中的回收站&#xff0c;被删除的文件会被暂时存储于此&#xff0c;和回收站相关的参数有两个&#xff1a; fs.trash.interval&#xff1a;默认值为0 代表禁用回收站&#xff0c;其他值为回收站保存文件时间&#xff0c;单位为分钟 fs.trash…

如何评估数据资产的价值?哪种方法更容易实现?

今年可以称之为数据年&#xff0c;从去年年底党中央发布《数据20条》&#xff0c;对数据领域的一系列的制度建设做了提纲起领的作用。在财经领域今年的下半年&#xff0c;密集出台一系列跟数据资产相关的政策&#xff0c;包括8月21日发布的《企业数据资源会计处理的暂行规定》以…

Element-ui框架完成vue2项目的vuex的增删改查

看效果图是否是你需要的 这是原来没有Element-ui框架的 首先&#xff0c;你要在你的项目里安装Element-ui yarn命令 yarn add element-uinpm命令 npm install element-ui --save好了现在可以粘贴代码 //main.js import Vue from vue import Vuex from vuex import VueRouter …

如何使用 Zotero 导出所选条目的 PDF 文件

如何使用 Zotero 导出所选条目的 PDF 文件 Zotero 是一款强大的参考文献管理工具&#xff0c;但它并不直接提供将整个文件夹导出为 PDF 的选项。不过&#xff0c;您可以使用以下步骤来导出您所选的 Zotero 条目中的 PDF 文件&#xff0c;无需额外的插件。 选择所需的 Zotero 条…

Linux(centos)学习笔记(初学)

[rootlocalhost~]#:[用户名主机名 当前所在目录]#超级管理员标识 $普通用户的标识 Ctrlshift放大终端字体 Ctrl缩小终端字体 Tab可以补全命令 Ctrlshiftc/V复制粘贴 / &#xff1a;根目录&#xff0c;Linux系统起点 ls&#xff1a; #list列出目录的内容&#xff0c;通常用户查看…

【网络奇缘】- 计算机网络|深入学习物理层|网络安全

​ &#x1f308;个人主页: Aileen_0v0&#x1f525;系列专栏: 一见倾心,再见倾城 --- 计算机网络~&#x1f4ab;个人格言:"没有罗马,那就自己创造罗马~" 回顾链接&#xff1a;http://t.csdnimg.cn/ZvPOS 这篇文章是关于深入学习原理参考模型-物理层的相关知识点&…

2023年山东省职业院校技能大赛信息安全管理与评估二三阶段样题

2023年山东省职业院校技能大赛信息安全管理与评估二三阶段 样题 第二阶段 模块二 网络安全事件响应、数字取证调查、应用程序安全 一、竞赛内容 Geek极安云科专注技能竞赛技术提升&#xff0c;基于各大赛项提供全面的系统性培训&#xff0c;拥有完整的培训体系。团队拥有曾…

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

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

【CentOS8】使用 Tomcat 部署 Java Web 项目(使用 sdkman)

文章目录 配置 Tomcat将 Tomcat 启动命令设置为 Linux 自定义服务给 Tomcat 设置管理员账号密码IDEA 打包 Java web 项目 我是使用 sdkman 下载的 jdk 和 tomcat&#xff0c;所以接下来的部署配置都是在 sdkman 构建的环境的。想要知道如何下载 sdkman 可以看看这篇文章 —…

Qt创建和使用动态库链接

首先建立库文件 顺序确认完成后&#xff0c;构建完成 注意&#xff1a;上图中mydll_global.h中的内容可以复制到mydll.h中去&#xff0c;在以后调用时只调用mydll.h即可&#xff0c;否则调用时需要两个头文件同事使用。 在mydll.h和mydll.cpp中可以正常编写代码&#xff…

硬件工程师-实践次数决定创造力

硬件工程师 理论基础决定理解力 实践次数决定创造力 文章目录 硬件工程师前言一、硬件工程师必备技能二、硬件工程师的开发项目有哪些1. 单片机和嵌入式系统设计2. FPGA&#xff08;现场可编程门阵列&#xff09;设计3. PCB&#xff08;印刷电路板&#xff09;设计与布局4. 电路…

linux逻辑卷LVM

6.2.6 逻辑卷LVM LVM是Logical Volume Manager 的简称&#xff0c;译为逻辑卷管理&#xff0c;它是Linux下对硬盘分区的一种管理机制。LVM适合于管理大存储设备&#xff0c;并允许用户动态调整文件系统的大小。此外&#xff0c;LVM的快照功能可以帮助我们快速备份数据。LVM为我…

云服务器与nas实现在冷热资源访问,nginx代理

在实际项目中&#xff0c;我们的文件存储是一个必不可少的环节&#xff0c;本博主了解到现在的存储方案有 购买纯系统的云服务器&#xff0c;自己安装个mino,再使用nginx代理给web使用购买OSS服务&#xff0c;现在有云厂商都有提供&#xff0c;储存价格也挺便宜的&#xff0c;…

如何在没有焊锡膏,只有助焊剂的情况下焊接芯片

焊接bq76930 1、刷一层焊锡&#xff0c;可以先横着扫&#xff0c;然后再按着引脚向外的方面刷一遍 2、在引脚上面涂上助焊剂 3、把芯片放到助焊剂上面进行固定&#xff0c;注意对其引脚 4、对齐后找东西把芯片压住&#xff0c;先进行一个引脚的固定 5、把芯片反过来焊接对脚…

面试操作系统八股文五问五答第一期

面试操作系统八股文五问五答第一期 作者&#xff1a;程序员小白条&#xff0c;个人博客 相信看了本文后&#xff0c;对你的面试是有一定帮助的&#xff01; ⭐点赞⭐收藏⭐不迷路&#xff01;⭐ 1.死锁产生的条件 1.互斥条件&#xff0c;即当资源被一个线程使用&#xff08;…

深入理解HashMap:Java中的键值对存储利器

HashMap是Java中常用的数据结构之一&#xff0c;它提供了一种键值对的存储机制&#xff0c;适用于快速查找和检索。本文将深入探讨HashMap的概念、内部结构、工作原理以及在多线程环境下的一些问题。 1. HashMap的概念 HashMap是Java中的一种数据结构&#xff0c;用于存储键值…