在开发领域,计算机资源可以分为两部分:软件资源 + 硬件资源
软件资源:看得见,摸不着
硬件资源:看得见,摸得着
硬件资源(CPU、内存、硬盘、风扇、电源、键盘、鼠标…)
软件资源(Office办公软件、网易云音乐、各种各样的计算机游戏)
思考:我们发现,软硬件之间其实是可以交互的,这是什么原理呢?
答:使用操作系统,操作系统是计算机软硬件之间的桥梁
在日常的应用中,操作系统大概可以分为三大类:
① Windows操作系统
② MacOS操作系统
③ Linux操作系统(服务器端使用量最大的操作系统)
① 技术趋势
Python自带明星属性,热度稳居编程语言界前三
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-31tSXYx7-1631440376394)(media/image-20210306090039676.png)]
② 简单易学
开发代码少,精确表达需求逻辑;33个关键字,7种基本数据类型;语法规则简单,接近自然语。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HtSCvR44-1631440376410)(media/image-20210306090337310.png)]
③ 应用广泛
Python语言涉及IT行业70%以上的技术领域
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ko6f6VoQ-1631440376412)(media/image-20210306090727147.png)]
① Python其运行速度相对于C/C++/Java要略慢一些
② Python由于语言的特性,无法对代码进行加密
③ Python的版本之间,兼容性不太理想(Python2和Python3)
Python是一种跨平台的计算机程序设计语⾔。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语⾔。最初被设计用于编写自动化脚本Shell(适用于Linux操作系统),随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。
其实目前很多知名的机器学习、⼈⼯智能以及深度学习框架也都是基于Python语⾔进⾏开发的:
Google开源机器学习框架:TensorFlow
开源社区主推学习框架:Scikit-learn
百度开源深度学习框架:Paddle
在目前的Python领域,其主要应用版本有两个:Python2和Python3
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H0nj9f0s-1631440376413)(media/image-20210306091509401.png)]
主要区别可以理解为:输入、输出以及编码格式的不同
Python2.x
Python3.x
Python3.6、Python3.7、Python3.8、Python3.9…
在生产环境中,我们⼀般不会选择最新版本的Python,因为可能会存在未知Bug,所以⼀般强烈建议大家在选择软件版本时,向前推1 ~ 2个版本。所以咱们课程主要讲解Python3.7版本。
demo.py
print('Hello World')
由于Python属于高级语言,其并不能直接在计算机中运行,因为缺少Python语言的运行环境:Python解析器
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XheyEUa4-1631440376414)(media/image-20210306092814499.png)]
Python解析器的作用:就是把Python代码转换为计算机底层可以识别的机器语言,如0101…
① CPython,C语言开发的解释器[官方],应⽤广泛的解释器。
② IPython,基于CPython的一种交互式解释器。
③ 其他解释器
PyPy,基于Python语言开发的解释器。
JPython,运⾏在Java平台的解释器,直接把Python代码编译成Java字节码执⾏。
IronPython,运⾏在微软.Net平台上的Python解释器,可直接把Python代码编译成.Net的字节码。
下载地址:https://www.python.org/downloads/release/python-379/
[单击上述链接] – 查找目标文件:Windows x86-64 executable installer – 单
击即可下载。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Cb0eA9xy-1631440376415)(media/image-20210306093337458.png)]
第一步:双击运行Python的解析器,选择自定义安装以及添加Python到环境变量
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oWsjo5ii-1631440376415)(media/image-20210306095227329.png)]
第二步:选择所有要安装的功能菜单,默认全部勾选
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gg95wopo-1631440376416)(media/image-20210306095439595.png)]
pip:Python的包管理工具,可以用来安装未来我们项目中需要使用的各种模块
第三步:设置Python解析器的安装路径,强烈建议安装在除C盘以外的盘符
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-coDfJHvO-1631440376416)(media/image-20210306095909408.png)]
第四步:测试Python解析器是否可以使用
按Windows + R,输入cmd字符,打开Windows的DOS窗口,输入python(全部小写),如下图所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gfRrxKHN-1631440376417)(media/image-20210306100236471.png)]
出现了以上界面,就代表Python3.7的解析器已经安装成功了。如何从这个窗口中退出到DOS模式呢?
答:使用exit()方法
>>> exit() 回车
工欲善其事必先利其器
在Python的开发领域,其开发工具非常非常多,EditPlus、Notepad++、Sublime Text3、Visual Studio Code、PyCharm(目前功能最强大的IDE)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YYkaTdYV-1631440376418)(media/image-20210306102520443.png)]
PyCharm是⼀种Python IDE (集成开发环境),带有一整套可以帮助用户在使用Python语言开发时提高其效率的⼯具,内部集成的功能如下:
Project管理
智能提示
语法高亮
代码跳转
调试代码
解释代码(解释器)
框架和库
…
PyCharm一共有两个版本:专业版(收费) 与 社区版(免费、开源)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GgjVYudE-1631440376418)(media/image-20210306102803654.png)]
在基础班,PyCharm社区版足够我们使用,绰绰有余。
下载地址:https://www.jetbrains.com/pycharm/download/#section=windows
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aI97Y1sx-1631440376419)(media/image-20210306103210207.png)]
第一步:双击PyCharm软件安装包,进行软件安装
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SukrjYSC-1631440376419)(media/image-20210306104505660.png)]
第二步:设置软件的安装路径,理论上没有任何要求,但是建议放在除C盘以外的盘符
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-37vWkJsr-1631440376420)(media/image-20210306105046370.png)]
第三步:PyCharm基本设置,创建桌面图标与.py文件关联
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PPatlM4l-1631440376420)(media/image-20210306105223088.png)]
什么是项目?其实我们在实际开发中,每次参与一个工作的开发都是一个项目的开发过程。所以使用PyCharm的第一件事就是学习Python项目的创建过程。
第一步:创建项目
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mUQoc4mA-1631440376421)(media/image-20210306110324245.png)]
第二步:设置项目路径,必须放在C盘以外的盘符(非常重要!!!)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NInYPX2V-1631440376421)(media/image-20210306110916916.png)]
配置完成后,单机Create创建Python项目。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LkMKcupZ-1631440376422)(media/image-20210306111656942.png)]
如果将来要上传到服务器的文件,那么文件名切记不能使用中文。
编写Hello World
print('Hello World')
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7etEdZSJ-1631440376422)(media/image-20210306112159796.png)]
运行结果:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uBbCiQUO-1631440376423)(media/image-20210306112245497.png)]
打开File文件,找到Settings设置,如下图所示:更换Python解析器
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r3UFAbmJ-1631440376423)(media/image-20210306113159846.png)]
① 软件主题(软件未来的样式)
② 编码字体的设置
③ 代码字号的设置(文字大小)
打开File文件 => Settings设置,找到界面设置:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yzPLhRkA-1631440376423)(media/image-20210306115108007.png)]
主题设置:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r7JtPB9U-1631440376424)(media/image-20210306115322452.png)]
字体与字号设置:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yAZ9Divo-1631440376424)(media/image-20210306115516870.png)]
字体设置:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hJ0mOPTU-1631440376425)(media/image-20210306115611339.png)]
字号设置:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TKCjYQBR-1631440376425)(media/image-20210306115735435.png)]
打开项目:本身项目已经存在了,我们直接打开。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OvZfJHk7-1631440376426)(media/image-20210306120615122.png)]
选择项目目录(文件夹)即可,如下图所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XlRjy053-1631440376426)(media/image-20210306120712306.png)]
① This Window => 覆盖当前项⽬,从⽽打开目标项目
② New Window => 在新窗⼝打开,则打开两次PyCharm,每个PyCharm负责一个项⽬
③ Attach => 把两个项目合并在一起,放在同一个窗口中
关闭项目:对已经运行项目进行关闭操作。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3hcxWIHO-1631440376427)(media/image-20210306120425927.png)]
首先强调一件事:Python代码 => Python解析器 => 机器语言,但是注释经过了Python的解释器并不会解析与执行。因为其主要就是进行代码的注释。
注释作用:提高代码的阅读性
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W26qOPOy-1631440376427)(media/image-20210306143714495.png)]
在我们编写Python程序时,为了了提高程序的可读性,强烈建议大家为核心代码添加注释信息。
单行注释,以"#"(Shift + 3)号开头,只能注释一行内容
# 注释内容
示例代码:
第一种:代码行的上面
# 输出Hello World字符串
print('Hello World')
第二种:放在代码的后面(代码后面保留2个空格)
print('Hello World') # 输出Hello World字符串
多行注释:可以同时注释多行代码或程序,常用于代码块的注释
基本语法:
"""
注释内容
第一行
第二行
第三行
"""
或
'''
注释内容
第一行
第二行
第三行
'''
示例代码:
"""
Hi, 大家好
我是黑马程序员的小伙伴
从今天开始,我们将一起学习Python这门语言
"""
'''
Hi, 大家好
我是黑马程序员的小伙伴
从今天开始,我们将一起学习Python这门语言
'''
print('Hi, 大家好')
print('我是黑马程序员的小伙伴')
print('从今天开始,我们将一起学习Python这门语言')
在PyCharm中,我们可以使用Ctrl + /斜杠
来对代码或程序进行快速注释。
在PyCharm中,当我们输入Python关键字中的前2~3个字符,其会自动进行代码提示。这个时候,我们只需要按回车即可以快速的输入某个内容。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-48MGD72P-1631440376428)(media/image-20210306150352389.png)]
编写代码时,一定要养成一个好的习惯,使用Ctrl + S
快速对代码进行保存操作。
个人建议,当写完一行代码时,就按一次。
如果不小心删除了某行代码,这个时候我们可以快速按Ctrl + Z
就可以快速进行恢复。每按一次就撤销一次,如果撤销多了,怎么办?
答:还可以通过Ctrl + Y
进行恢复操作
案例:实现两个变量的交换
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-diJU68Xu-1631440376429)(media/image-20210306152222362.png)]
1号杯:可乐
2号杯:牛奶
经过一系列Python操作以后
1号杯:牛奶
2号杯:可乐
什么是量:量是程序中的最小单元。
那什么是变量呢?
① 变量是存储数据的容器
② 变量在程序运行过程中是可以发生改变的量
③ 变量存储的数据是临时的
淘宝注册案例:
① 写入用户名、密码
② Python程序要接收用户名和密码(临时存储)
③ 把刚才接收的用户名和密码永久的存储起来(数据库)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x7zVCyEL-1631440376429)(media/image-20210306153106909.png)]
为了解决以上问题,Python开发了变量这样一个概念,可以把用户输入的一些信息,临时的保存起来,保存的这个容器就是Python变量。
基本语法:
变量名称 = 变量的值
注:等号的两边都要保留一个空格,其实Python中建议符号的两边尽量都要保留一个空格
说明:在Python程序中,这个等号和日常生活中的等号不太一样,其有一个专业名词:赋值运算符,其读法:要从右向左读,把变量的值通过 = 赋值给左边的变量。
标识符命名规则是Python中定义变量名称时一种命名规范,具体如下:
① 由数字、字母、下划线(_)组成
② 不能数字开头
③ 严格区分⼤小写
④ 不能使⽤内置关键字作为变量名称
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bvHgvKJh-1631440376430)(media/image-20210306155908564.png)]
下划线 => Shift + -减号
举个栗子:
① abc、abc123、_abc、hello(合理)
② 123abc、@abc、abc-123(不合理)
③ _(下划线) => 请问这可以是一个变量名称么?答:可以
for _ in range(10):
...
④ 变量abc和变量ABC是同一个变量么?答:不一样,这是两个完全不同的变量
⑤ 记不住33个关键字怎么办?答:借助于help()方法
>>> help('keywords')
① 变量命名一定要做到见名知义。
② 大驼峰:即每个单词首字母都大写,例如: MyName 。
③ 小驼峰:第二个(含)以后的单词首字母大写,例例如: myName 。
④ 下划线:例如: my_name 。
在Python中,记住:变量一定要先定义,后使用,否则会报错。
定义:
name = 'itheima'
address = '北京市顺义区京顺路99号'
调用:
print(name)
print(address)
或
print(name, address)
① 变量与字符串如何区别:
在Python中,如果要赋值的内容添加了单引号或者双引号,其就是Python中的一种数据类型:叫做字符串(日常生活中的文本信息)
② print打印变量时,喜欢为其添加引号
print(name) # 输出变量name对应的值
与
print('name') # 输出'name'这个字符串
变量的定义非常的简单,但是很多小伙伴可能会想:变量除了存储这种字符类型的数据以外,还能存储其他类型的数据么?其实,在 Python中,我们为了应对不同的业务需求,也会把数据分为不同的类型,如下图所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TaitEyWX-1631440376430)(media/image-20210306162601034.png)]
面试题:请手写出Python中的7种数据类型?
答:数值类型、布尔类型、字符串类型、列表类型、元组类型、集合类型、字典类型
今天我们只需要了解前3种即可。
问题:如何判断一个变量到底是什么类型?
答:① 使用type(变量名称)方法,返回变量的数据类型 ② isinstance(变量名称,数据类型),只能返回True或False(真的还是假的)
数值类型就是我们日常生活中的数字,数字又分为两种形式:整数 与 小数(带小数点)
整数类型:int类型
小数类型:float类型
案例1:定义一个人的信息,姓名:Tom、年龄18岁
name = 'Tom'
age = 18
print(type(age))
案例2:定义一个超市收银系统,写入一个名称:大白菜,价格:3.5
name = '大白菜'
price = 3.5
print(type(price))
布尔类型是与逻辑相关一种数据类型,只有两个值:True(真)与False(假)
案例1:手工定义一个flag变量,其值为True
flag = True
print(flag)
print(type(flag))
其实在Python中,很多程序的返回结果也可以是True或False,比如isinstance()
num = 10
print(isinstance(num, int)) # True
print(isinstance(num, bool)) # False
在Python变量定义中,如果其赋值的内容是通过单引号或双引号引起来的内容就是字符串str类型。
msg = '这家伙很懒,什么都没有留下...'
print(type(msg))
# 1、list列表类型
list1 = [10, 20, 30, 40]
print(type(list1))
# 2、tuple元组类型
tuple1 = (10, 20, 30, 40)
print(type(tuple1))
# 3、set集合类型:去重
set1 = {10, 20, 30}
print(type(set1))
# 4、dict字典类型:查询、搜索
dict1 = {'name':'itheima', 'age':18}
print(type(dict1))
所谓bug,就是程序中的错误。如果程序有错误,就需要咱们程序员来进行问题排查,及时纠正错误。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kFcZnRrP-1631440376431)(media/image-20210306171244287.png)]
第一步:查看错误页面
第二步:看错误的行号
第三步:根据具体的错误,具体分析
Debug工具是PyCharm IDE中集成的专门用来调试程序的工具,在这里程序员可以查看程序的执行细节和流程,以方便我们快速找出程序的Bug!
Debug工具使⽤二步走:① 打断点 ② Debug调试
断点应该放在哪个位置:答:代码可能出错的代码段的第一行
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rWh7wIK5-1631440376431)(media/image-20210306171719774.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-beeseK9T-1631440376432)(media/image-20210306171833494.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-24rGT9eD-1631440376432)(media/image-20210306172007078.png)]
遇到小闪电图标就代表这一行,可能出错了。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ekJqpXbo-1631440376433)(media/image-20210306172338345.png)]
目前为止,我们所有的输出都是直接通过print(变量名称)形式直接打印的。但是实际工作中,我们可能需要对变量的输出进行格式化操作(按照一定格式进行输出)。
基本语法:
...
print(变量名称)
print('字符串%格式' % (变量名称))
print('字符串%格式 %格式 %格式' % (变量名称1, 变量名称2, 变量名称3))
%格式常见形式如下:
格式符号 | 转换 |
---|---|
%s | 字符串 |
%d | 有符号的十进制整数 |
%f | 浮点数 |
%c | 字符 |
%u | 无符号十进制整数 |
%o | 八进制整数 |
%x | 十六进制整数(小写ox) |
%X | 十六进制整数(大写OX) |
%e | 科学计数法(小写’e’) |
%E | 科学计数法(大写’E’) |
%g | %f和%e的简写 |
%G | %f和%E的简写 |
案例:定义两个变量name=‘itheima’, age=18,按照如下格式进行输出:我的名字是itheima,今年18岁了。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qfroY6eF-1631440376433)(media/image-20210306175326815.png)]
案例:定义两个变量title=‘大白菜’,price=3.5,按照如下格式进行输出:今天蔬菜特价了,大白菜只要3.5元/斤。
title = '大白菜'
price = 3.5
# 格式化输出“今天蔬菜特价了,大白菜只要3.5元/斤。"
print("今天蔬菜特价了,%s只要%.2f元/斤。" % (title, price))
其实除了%f可以设置小数点位数以外,%d也可以填充序号。
案例:定义两个变量id=1,name=‘itheima’,按照如下格式进行输出:姓名itheima,学号000001
id = 1
name = 'itheima'
print("姓名%s,学号%06d" % (name, id))
基本语法:
...
print('字符串{}'.format(变量名称1))
print('{}字符串{}'.format(变量名称1, 变量名称2))
案例:定义两个变量,name=‘孙悟空’,mobile=‘18878569090’,按照以下格式进行输出"姓名:孙悟空,联系方式:18878569090"
name = '孙悟空'
mobile = '18878569090'
print("姓名:{},联系方式:{}".format(name, mobile))
在Python3.6以后版本,为了简化format输出操作,引入了一个简写形式:
name = '孙悟空'
mobile = '18878569090'
print(f'姓名:{name},联系方式:{mobile}')
在字符串中,如果出现了\t和\n,其代表的含义就是两个转义字符
\t :制表符,一个tab键(4个空格)的距离
\n :换行符
案例:
print('*\t*\t*')
print('hello\nworld')
特别说明:默认情况下,每个print()方法执行完毕后,都会输出一个\n换行符。如果不想让print()方法换行,可以添加一个end参数
print('*', end='')
到目前为止,我们所有的程序都只能把数据输出给用户。但是实际工作中,我们经常输入获取用户的输入信息,如银行系统中的密码输入、淘宝中的用户登录验证。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NILFoiSg-1631440376434)(media/image-20210306182224429.png)]
在Python中,如果想让Python程序接受用户的输入信息,可以使用input()方法
基本语法:
input()
但是往往只有input()方法,其意义不大,我们还应该使用一个变量来临时接受用户的输入,已方便后期的操作。
变量名称 = input('提示信息:')
案例:银行系统中的,输入密码的过程
password = input('请输入您的银行卡密码:')
print(f'您输入的银行卡密码为:{password}')
记住:所有由input()方法获取的数据都是==“字符串”==类型
name = input('请输入您的姓名:')
age = input('请输入您的年龄:')
print(type(name)) #
print(type(age)) #
2021黑马Python6.5【资料齐全】