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)

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

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

相关文章

windows建立软链 报 无法将“mklink”项识别为 cmdlet、函数、脚本文件或可运行程序的名称

当我执行网上提供的mklink 的时候&#xff0c;出现 mklink : 无法将“mklink”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。怎么回事&#xff0c;原来&#xff0c;要在执行的签名加 cmd /c 当我执行建立软链接时&#xff0c;提示 没有足够的权限&#xff0c;要用管理…

SE考研真题总结(一)

本帖开始分享考研真题中设计【软件工程】的部分&#xff0c;预计会出5期左右&#xff0c;敬请期待~ 一.单选题 1.程序编写不是软件质量保障过程~ 静态代码扫描是今年来多数被人提及的软件应用安全解决方案之一&#xff0c;指程序员在编写好代码后无需进行编译&#xff0c;直接…

【数据结构】—红黑树(C++实现)

&#x1f3ac;慕斯主页&#xff1a;修仙—别有洞天 &#x1f49c;本文前置知识&#xff1a; AVL树 ♈️今日夜电波&#xff1a;Letter Song—ヲタみん 1:36━━━━━━️&#x1f49f;──────── 5:35 …

基于SpringBoot的大学活动平台

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 随着互联网技术的不断…

天池SQL训练营(二)-SQL基础查询与排序

-天池龙珠计划SQL训练营 Task02&#xff1a;SQL基础查询与排序 SQL训练营页面地址&#xff1a;https://tianchi.aliyun.com/specials/promotion/aicampsql 一、SELECT语句基础 1.1 从表中选取数据 SELECT语句 从表中选取数据时需要使用SELECT语句&#xff0c;也就是只从表…

扩散模型diffusion model用于图像恢复任务详细原理 (去雨,去雾等皆可),附实现代码

文章目录 1. 去噪扩散概率模型2. 前向扩散3. 反向采样3. 图像条件扩散模型4. 可以考虑改进的点5. 实现代码 话不多说&#xff0c;先上代码&#xff1a; 扩散模型diffusion model用于图像恢复完整可运行代码&#xff0c;附详细实验操作流程 令外一篇简化超分扩散模型SR3来实现图…

红队系列-内网横向

内网横向 渗透测试-内网横向MS-17010利用方法总结原理介绍漏洞利用MSFLadon 渗透测试-从公有云到内网漫游RCE-反序列化-frp0x01 前言0x02 前期打点0x03 想办法打内网0x04对上面的IP进行渗透0x05 愉快的内网漫游 windows凭据窃取MimikatzProcdumpGet-PassHashes.ps1 Windows远程…

08-中介者模式-C语言实现

中介者模式&#xff1a; Define an object that encapsulates how a set of objects interact.Mediator promotes loose coupling by keeping objects from referring to each other explicitly,and it lets you vary their interaction independently.&#xff08;用一个中介对…

04 ECharts基础入门

文章目录 一、ECharts介绍1. 简介2. 相关网站3. HTML引入方式4. 基本概念 二、常见图表1. 柱状图2. 折线图3. 饼图4. 雷达图5. 地图 三、应用1. 动画2. 交互 一、ECharts介绍 1. 简介 ECharts是一个使用JavaScript实现的开源可视化库&#xff0c;用于生成各种图表和图形。 EC…

数据清洗、特征工程和数据可视化、数据挖掘与建模的主要内容

1.4 数据清洗、特征工程和数据可视化、数据挖掘与建模的内容 视频为《Python数据科学应用从入门到精通》张甜 杨维忠 清华大学出版社一书的随书赠送视频讲解1.4节内容。本书已正式出版上市&#xff0c;当当、京东、淘宝等平台热销中&#xff0c;搜索书名即可。内容涵盖数据科学…

vue3.2版本setup语法糖

setup语法糖&#xff1a; 一、Vue3.0 <script>里定义的变量、属性和方法必须 return 出来&#xff0c;<template>中才能使用&#xff1b;这样会导致在页面上变量会出现很多次。vue3.2只需在script标签中添加setup&#xff0c;就可以帮助我们解决这个问题,无需再写…

JVM 对象内存布局篇

对象的实例化 创建对象有哪些方式&#xff1f; 1、new对象 最常见的方式 变形1:X的静态方法 变形2:XxxBuilder/XxxFactory的静态方法 2、Class的newlnstance0:反射的方式&#xff0c;只能调用空参的构造器&#xff0c;权限必须是public 3、Constructor的newinstance(X):反射的…

可视化监管云平台EasyCVR宠物粮食食品厂智能视频监控方案

由于我国养宠物群体的不断膨胀&#xff0c;宠物市场也占据了经济的很大一部分&#xff0c;宠物做为人类的好朋友&#xff0c;可以给人们带来极高的精神抚慰&#xff0c;作为“毛孩子”家长&#xff0c;爱宠人士自然不会亏待自家宠物&#xff0c;都会选择最好的口粮以供宠物食用…

【开源】基于Vue+SpringBoot的教学过程管理系统

项目编号&#xff1a; S 054 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S054&#xff0c;文末获取源码。} 项目编号&#xff1a;S054&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 教师端2.2 学生端2.3 微信小程序端2…

CompletableFuture:Java中的异步编程利器

前言&#xff1a; 在秋招的面试中&#xff0c;面试官问了很多关于异步编程相关的知识点&#xff0c;朋友最近也和我聊到了这个话题&#xff0c;因此今天咱们来讨论讨论这个知识点&#xff01; 随着现代软件系统的日益复杂&#xff0c;对于非阻塞性和响应性的需求也在不断增加…

3 文本分类入门finetune:bert-base-chinese

项目实战&#xff1a; 数据准备工作 bert-base-chinese 是一种预训练的语言模型&#xff0c;基于 BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;架构&#xff0c;专门用于中文自然语言处理任务。BERT 是由 Google 在 2018 年提出的一…

gpt1与bert区别

区别1&#xff1a;网络结构&#xff08;主要是Masked Multi-Head-Attention和Multi-Head-Attention&#xff09; gpt1使用transformer的decoder&#xff0c;单向编码&#xff0c;是一种基于语言模型的生成式模型&#xff0c;更适合生成下一个单词或句子 bert使用transformer的…

Domino多Web站点托管

大家好&#xff0c;才是真的好。 看到一篇文档&#xff0c;大概讲述的是他在家里架了一台Domino服务器&#xff0c;上面跑了好几个Internet的Web网站&#xff08;使用Internet站点&#xff09;。再租了一台云服务器&#xff0c;上面安装Nginx做了反向代理&#xff0c;代理访问…

轨迹分析:Palantir评估细胞分化潜能 类似于monocle2

轨迹分析是单细胞测序分析中重要的组成部分&#xff0c;它基于细胞谱系之间“具有中间态细胞”的理论基础&#xff0c;通过结合先验知识&#xff08;细胞注释、markers&#xff09;、细胞基因表达改变等&#xff0c;为在单细胞测序数据赋予了“假时间”&#xff08;pseudotime&…

图的深度优先搜索(数据结构实训)

题目&#xff1a; 图的深度优先搜索 描述&#xff1a; 图的深度优先搜索类似于树的先根遍历&#xff0c;是树的先根遍历的推广。即从某个结点开始&#xff0c;先访问该结点&#xff0c;然后深度访问该结点的第一棵子树&#xff0c;依次为第二顶子树。如此进行下去&#xff0c;直…