课前须知

  • 课前:
    • 同学们尽量早些进入直播间, 一般早15分钟左右.(收心)
    • 看直播时,不要使用移动设备进行观看.(因为在看直播时,需要进行练习),尽量使用电脑看直播
    • 尽量观看直播,因为录播的效果不好(没互动,没气氛,没压力)
  • 课中:
    • 积极互动
    • 随堂练习要及时做,如果老师一旦开始讲课,就赶紧停课,放弃做题
    • 理解大于记忆,有不不理解的地方,及时提问,有记不住的地方,可以课下记忆
    • 开始讲课后,不要在评论区聊天或说与学习无关的事情
  • 软件的安装:
    • python解释器:用来执行我们书写的代码的
    • pycharm:用来写代码
    • typora:用来记笔记的
    • xmind:用来做思维导图的
  • 软件安装的注意事项:
    • 安装在固定目录下,所有软件统一管理,一旦安装后,不要修改文件名称
      • 例如:D:/SoftWare
    • 不要安装在系统盘上
    • 卸载软件时,不要直接删除快捷方式,或删除其文件夹,要使用控制面板,或软件管理工具删除
    • 如果删除后,依然存在该软件的目录,可以手动删除
  • 课后:
    • 积极提交作业
    • 要有自己的笔记
    • 每天要制作当天学习内容的思维导图xmind

Python基础阶段课程内容

  1. 计算机的组成原理(认识计算机)
  2. Python的基础语法(变量,输入,输出)
  3. 循环和判断(if 和 for)
  4. 容器类型(一个变量中储存多个数据的方式)
  5. 函数(将功能打包为一个整体)
  6. 文件系统(文件的读写操作)
  7. 异常(出现bug后我们怎么处理)
  8. 模块(将我们写好的代码进行导入,可以重复使用)
  9. 综合案例(学生管理系统)
  10. 语法规范(怎样写代码,显得你更专业)

学完基础班的内容,我们已经对编程语言有了最基本的认知,和最简单的学习方法,可以使用后续的高强度学习.

你付出的每一分努力,都会写在你日后的工资单上!!!!!

1.今日课程内容

  1. 计算机的组成
  2. 编程语言的介绍
  3. 注释
  4. 变量
  5. 输入
  6. 输出

2.计算机的组成[了解]

  • 计算机: 计算机就是存储和计算数据的电子设备.
  • 计算机的组成
    • 硬件系统:
      • 运算器
      • 控制器
      • 存储器
      • 输入设备
      • 输出设备

image.png

  • 软件系统
    • 系统软件: macOS, windows, ios, 安卓
    • 应用软件: QQ, 微信, pycharm,python解释器
    • 绝大多数程序员开发的都是应用软件.

image.png

3.程序执行的流程[了解]

  1. 打开文件或应用,产生执行任务的指令
  2. 将指令存放在内存当中
  3. cpu获取指令,通过对指令的解析,分配任务,从硬盘中,获取数据
  4. 让执行和数据参与程序运行,
  5. cpu通过计算分析,决定下一条指令的执行逻辑,并预备执行
  6. 345反复,直到指令执行完成
  7. 指令执行完,通过操作系统,控制硬件完成相关操作

4.编程语言介绍[了解]

编程语言为什么不用汉语或者二进制语言呢?
互相听不懂
编程语言的目的,就是让人和计算机之间可以进行简介交互.

  • 编程语言的发展阶段
    • 低级语言(底层语言): 机器语言, 汇编语言
      • 特点:极其繁琐,可读性极差,但是计算机可以直接阅读,效率极高
    • 高级语言: C
      • 特点: 要经过解释,或者编译,计算机才能读懂,但是可读性高,简单易学
    • 面向对象阶段:c++ java python Go
      • 特点:也需要经过解释或者编译,计算机才能读懂,但是便于管理和维护,适合大型项目开发,开发效率极高

没有更强的语言,只有更强的开发者,在不同场景下,不同的编程语言适用的范围不同.

5.python语言的介绍[熟悉]

  • 创始人: 吉多·范·罗苏姆 爱称他为龟叔
  • python语言与1991年发布
  • 优点: 简单易学,开源免费,丰富的库(有很多前人写好的功能供我们使用)
  • 缺点: 执行效率慢, 中文文献少
  • 应用场景: 70%以上的软件开发岗位,Python都可以完成.Python在数据计算和处理领域,有着天然的优势,其他语言暂时,略差.
  • 人生苦短,我用python,python是一门养发护发的好语言.
  • 现今,谷歌,facebook,百度,阿里等大厂都在大规模使用python,所以今后的5年,必将是python蓬勃发展的5年.

6.编译型语言和解释型语言的执行流程[熟悉]

  • 编译型语言: 需要先将文件编译成指定类型的文件,再执行
    • 在编译过程中,消耗的时间比较长,但是运行时,速度比较快
  • 解释型语言: 可以直接使用解释器一句一句执行代码,不需要编译
    • 忽略了编译过程,但是解释时,一句一句执行,效率比较低
  • python的执行效率比java慢多少呢??? 2-5倍 在一般的开发中体会不到这种差距.

Day01 Python初识 基础语法 - 图3

7.Python解释器[了解]

  • 解释器介绍:
    • 主要负责解析python代码,并交给计算机去增值性的工具
  • 解释器分类:
    • CPython解释器: 官方解释器,使用C语言实现的
      • 我们使用的就是CPython解释器,目前我们使用的是3.8版本
        • 建议使用版本: 3.6 3.7 3.8 3.9
        • 市场上用的最多的是3.7和3.8版本
    • JPython解释器: 使用java语言实现的python解释器,效率低于CPython,但是多任务性能有明显的提升
    • icornPython:Cpython解释器的升级版,可以提供部分交互效果
    • PyPy:Python书写的解释器
    • 下载地址:https://www.python.org/
  • 安装:
    • 1.双击安装包,一定 要勾选add python 3.8 to python
    • 我们可以添加到默认目录下,但是需要记住路径,如果记不住,建议选择自定义安装

image.png

  • 2.输入安装路径

image.png

  • 3.验证是否安装成功: win+r键 >> 在文本输入框中输入cmd >> 点击回车 >> 在终端输入python >> 看能否看到版本号

image.png

image.png
image.png

8.Pycharm的介绍[了解]

  • Pycharm是一个Python开发的工具,一个集成化开发环境(IDE工具)
  • IDE:将代码的编写,编译,运行,调试等工作集中在一个软件中来管理.
  • 下载地址:https://www.jetbrains.com/pycharm/

image.png

  • 版本:
    • 专业版: 需要收费的,但是我们可以免费试用30天.
    • 社区版:(教育版)不需要收费,可以免费试用,功能上有一些欠缺
    • 注意:大数据开发试用社区版足以
  • 安装:
    • 一直下一步即可
    • 注意要放到统一目录下管理软件,不要安装成散装的
  • 启动:
    • 第一次启动,全部使用默认配置即可,所有的配置,在软件打开后都可以修改
    • 进入界面后界面效果如下:

image.png

9.第一个python程序[熟悉]

终端模式:

  • 1.在文本文件中编辑python代码
  • 2.将文本文件重命名,修改为python的源文件 .py
  • 3.win + r 输入cmd 回车 打开终端
  • 在终端中输入: python python文件路径 执行代码
  • 修改后重复上述操作

分析: 终端模式,需要打开多个文件,分头编写并在终端执行,效率低,容易出现错误

IDE模式:

    1. 创建新项目

image.png

    1. 指定工程位置,及选择解释器

image.png

  • 3.如果没有默认的解释器,就手动添加解释器

image.png

  • 4.全部选择完成后,点击create创建

image.png

  • 5.右键,新建一个python源文件

image.png

  • 6.编写代码并执行

image.png
pycharm界面介绍
image.png

  • 菜单栏:里是所有的功能存放的位置,我们可以选择下拉菜单,控制或配置pycharm
  • 工程目录: 管理工程中的文件
  • 代码编写区: 书写并调试代码位置
  • 控制台: 展示结果或使用终端等

思考:此时我们的python程序,从编写到运行是否在一个软件中完成??? 是的
并且pycharm还给我们提供的语法检测,代码高亮,工程管理,结果输出等功能.
环境变量配置

    1. 右键此电脑,点击属性
    1. 选择高级系统设置 >>> 选择环境变量 >>> 在系统变量中找到Path

image.png

    1. 双击path打开编辑界面
      • 如果有环境变量,但是地址不对则直接修改
      • 如果没有环境变量,则新建
      • 只需要将python解释器所在位置的目录添加到环境变量中即可

image.png

  • 4.添加完成后,点击确定完成任务
  • 环境变量,就是为了让终端执行代码时可以找到被执行文件

    10.Pycharm的基础配置[了解]

  • 在pycharm中可以点击菜单栏中的File下拉菜单,找到settings点击即可唤出设置菜单

    • 注意: 如果是macos系统,则点击preference唤出菜单
  • 基本配置如下:
    • 修改主题颜色: 在搜索栏搜索theme找到下图窗口进行修改

image.png

  • 修改字体,字号,行间距,在搜索栏搜索font

image.png

  • 修改编码集,将编码集都改成utf8

image.png

  • 代码提示功能忽略大小写,搜索match,找到如下窗口,将match case 取消勾线即可

image.png

11.注释[掌握]

  • 注释就是起到解释说明作用的文字,在开发中,我们一定要善于乐于书写注释
  • 在开发中你将最讨厌两种人:1.让你写注释的人, 2.不写注释的人
  • 代码不写注释,1个月后你自己都不认识
  • 在python语言中,所有的符号都必须使用英文标点 ```python

    注释的作用就是起到解释说明的作用,不参与程序的运行

单行注释

只对一行注释内容生效,如果换行,注释效果消失

格式: #+空格+注释内容

可以用在句尾

快捷键:ctrl + /

print(‘hello world!!!’)

print(‘hello python!!!’)

print(‘hello python!!!’)

print(‘hello python!!!’)

print(‘hello python!!!’)

“””多行注释””” ‘’’ 多行注释的注释内容 可以分多行展示, 换行后 注释效果依然存在 格式: 三对引号(单引号双引号均可) 不可以用在句尾 快捷键:没有快捷键 ‘’’

print(‘hello bigdata!!!’)”””这个多行注释,不能写在代码之后”””

  1. 小技巧: 我们开发中其实并不需要使用中文标点,所以我们可以让输入法在中文下使用英文标点<br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/1280980/1656487075575-095006e5-a149-43c8-8ce0-aedc3071ccbf.png#clientId=ue331a226-225c-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=580&id=u66ebd792&margin=%5Bobject%20Object%5D&name=image.png&originHeight=870&originWidth=1350&originalType=binary&ratio=1&rotation=0&showTitle=false&size=188428&status=done&style=none&taskId=ud5423476-5d26-4dd8-a392-00745a08f5e&title=&width=900)
  2. <a name="OvPkZ"></a>
  3. # 12.变量[掌握]
  4. 变量具有三个特性:
  5. - 容器: 用来存储数据的容器
  6. - 临时: 变量存储在内存中,程序结束或计算机重启等情况,都会使变量销毁
  7. - 可变: 在运行过程中可以改变其值
  8. ```python
  9. """
  10. 牛奶和可乐交换位置的案例
  11. 需求: 有两个杯子,一杯是可乐,一杯是牛奶,我们需要将可乐和牛奶交换
  12. 提供一个空杯子
  13. 1.将牛奶导入空杯子中
  14. 2.将可乐导入原来是牛奶,现在是空杯子的杯子内
  15. 3.将牛奶导入原来是可乐现在是空杯子的杯子内
  16. # 如果我想让10种饮料互换呢? 极其繁琐
  17. 我们发现上边这种表述形式极其混乱
  18. # 我们可以使用开发中的思想去完成上述操作
  19. A = 可乐 B = 牛奶 C = 空
  20. 1. A 倒入 C
  21. 2. B 倒入 A
  22. 3. C 倒入 B
  23. 完成交换
  24. 所以在开发红我们喜欢使用变量来完成数据的保存和掉用
  25. 说明: 编程中提到的数据到底是什么?
  26. 数据就是我们再内存中开辟的一小块空间保存的数值,如果我们想要使用这些数据,就要找到这些数据的内存地址
  27. 类似于 0x0000025060842160 好记忆么???
  28. 二进制地址数据不便于记忆,所以我们使用变量名称来表示数据,方便调用
  29. """
  30. # 变量的定义格式: 变量名称 = 变量值
  31. name = '小明'
  32. age = 18
  33. gender = '男'
  34. # 变量的调用格式: 直接使用变量名调用即可
  35. print(name)
  36. print(age)
  37. print(gender)
  38. # 在程序运行过程中,可以修改变量的值
  39. age = 19
  40. print(age)

13.变量的数据类型[掌握]

python中的变量类型较少容易理解,便于学习
python中的变量类型可以在程序运行过程中进行修改
python中的数据类型没有数据长度限制
python中的数据类型也存在精度损失问题

"""
为什么变量要有不同的数据类型???
1.不同的数据类型,存储在不同的存储区域
2.不同的数据类型使用的数据结构不一样
3.不同的数据类型专员公空间大小不一样
4.不同的数据类型,具备的功能不同

python中有哪些数据类型呢??
    整型: 保存的是整数, int
    浮点型: 保存的是小数, float
    布尔型: 表示是或者否, bool
    字符串类型: 表示多个字符的组合, str

    列表: list
    元组: tuple
    集合: set
    字典: dict

    复数型: 表示的数据范围更大,可以解决经度损失问题,但是极少使用.

使用type函数,可以查询数据的数据类型
"""

# 整型: 保存的是整数, int
int1 = 10
print(int1)  # 10
print(type(int1))  # <class 'int'>

# 浮点型: 保存的是小数, float
float1 = 11.2
print(float1)  # 11.2
print(type(float1))  # <class 'float'>

# 布尔型: 表示是或者否, bool
# 布尔型数据只有2种值: True(真) False(假)  一般是用于判断的
bool1 = False
print(bool1)  # False
print(type(bool1))  # <class 'bool'>

# 字符串类型: 表示多个字符的组合, str
str1 = '传智'
print(str1)  # 传智
print(type(str1))  # <class 'str'>

# 下方的容器类型我们后续会进行学习,今天只需要掌握前四种即可
# 列表: list
list1 = [1, 2, 3, 4]
# 元组: tuple
tuple1 = (1, 2, 3, 4)
# 集合: set
set1 = {1, 2, 3, 4}
# 字典: dict
dict1 = {'a': 1, 'b': 2}

# 思考题: 输出以下数据的数据类型
# 1.'123' 只要用引号包裹起来的数据,都是字符串类型的数据
print('123')  # 123
print(type('123'))  # <class 'str'>

# 2.float1 = 10  所有的数据类型都是由数据决定的,和 变量名称无关
float1 = 10
print(float1)  # 10
print(type(float1))  # <class 'int'>

# 3.name
# NameError: name 'name' is not defined  name这个变量没有被定义
# name 此时name是一个变量名称,并不是数据
name = '小明'
print(name)  # 小明
print('name')  # name

print(type(name))

# 注意: 自己定义的字符组合,如果想要作为数据出现,必须用引号包裹起来,否则就是变量名称,必须赋值后或者说定义后才能使用.

# 变量在程序运行过程中可以修改数据类型(python中可以但是其他编程语言中大概率不可以)
gender = '男'
print(type(gender))  # <class 'str'>

gender = 1
print(type(gender))  # <class 'int'>

小技巧: 格式化代码的快捷键: ctrl + alt + L

14.标识符和关键字[熟悉]

  • 标识符和关键字的规则规范不需要背诵,理解即可 ```python

    标识符: 程序员自己定义的,具有特殊功能或含义的字符组合都是标识符:

    举例: 变量名, 函数名, 类名, 文件名等等

    “”” 标识符的命名规则: 1.只能由数字,字母,下划线组成 2.严格区分大小写 3.不能使用关键字 4.首字母不能是数字

提示: 不要背,因为如果不遵循标识符的命名规则,就会报错,报错了我们会修改即可 “””

1.只能由数字,字母,下划线组成

a123 = ‘123’ a_123 = ‘123’

a*123 = ‘123’ # 报错

SyntaxError: invalid syntax 语法错误

a$123 = ‘123’ # 报错

2.严格区分大小写

a = 10 A = 12 print(a) print(A)

3.不能使用关键字

SyntaxError: cannot assign to False

不能给关键字赋值

False = 12

print(False)

4.首字母不能是数字

SyntaxError: invalid syntax 语法错误

123a = ‘123’

关键字: 计算机或者Python解释器定义的具有特殊功能或含义的字符组合

关键字不用背 , 因为在pycharm中关键字会变色,几乎所有的关键字我们再后续学习中会一个一个的讲解,所以不需要背诵只需要理解

False

print()

标识符的命名规范

“”” 大驼峰命名法: 每个单词首字母大写 python中的类名使用大驼峰命名法 例: StudentNum

小驼峰命名法: 首字母小写,其余单词首字母大写,Python中未应用小驼峰命名法 例: studentNum

下划线分隔法: 将每一个单词用下划线分隔开,Python中除了类名均用下划线分隔法命名 例: student_num “””

标识符的定义还要注意以下几个问题:

1.见名知意

2.不要使用单字母变量

3.尽量不使用单词缩写

4.在开发中尽量不要使用编号标识不同的变量 例如 view1, view2…

标识符的命名规范不遵守也可以执行代码,只不过看上去不专业

思考: 如果现在到了工作岗位上,公司要求你所有的变量名全部使用大驼峰命名法,你该怎么做???  谁给你钱就听谁的.
<a name="oSvQh"></a>
# 15.普通输出[掌握]
print函数时将数据的值输出到控制台的函数,没有格式化功能,格式化是字符串的特性
```python
# 输出: 就是计算机向用户展示数据内容的过程(无论是声音,图像还是文字)
# 使用的函数:print

# 普通输出
# print()函数中,可以输出各种数据类型,以及表达式
print('黑马程序员')
print(123)
print(False)
print(1+2)
print(type('123'))
# print最终会将数据的内容以字符的形式输出到控制台上,供程序员阅读

16.格式化输出[熟练使用]

# 格式化输出

# 单一占位符情况
# 格式化:给字符串数据固定格式,再特定的位置动态更换变量值
# 格式: '要输出的内容 占位符' % 数据或变量
age = 20

# 需求: 让输出内容根据age变量的变化不断发生变化
# print('小明18岁了')
# 使用%d可以进行占位,运行时,将age 的值添加到站位符的位置
print('小明%d岁了' % age)

name = '宝强'

# TypeError: %d format: a number is required, not str
# %d只能接收整型数据, 不能接收str类型数据
# print('我的名字叫%d' % name)
print('我的名字叫%s' % name)

# 常用占位符
# %d 接收整型数据
# %f 接收浮点型数据
# %s 接收字符串数据

# 多个占位符情况
# 格式: '要输出的内容 占位符1, 占位符2, ....' % (数据1, 数据2,.....)
name = '小明'
age = 18
height = 185.6

# TypeError: not enough arguments for format string
# 在使用多个占位符时,系统只会获取一个数据,我们想将多个变量传递进去,就需要用括号将其包裹起来
# print('我的名字叫%s, 我的年龄是%d岁, 我的身高是%fcm' % name, age, height)
print('我的名字叫%s, 我的年龄是%d岁, 我的身高是%fcm' % (name, age, height))  # 我的名字叫小明, 我的年龄是18岁, 我的身高是185.600000cm

# 注意: 格式化拼接时,%前边的占位符数量,和%后边的变量的数量要保持一致,否则报错
# TypeError: not enough arguments for format string
# print('我的名字叫%s, 我的年龄是%d岁, 我的身高是%fcm' % (name, age,))
# TypeError: not all arguments converted during string formatting
# print('我的名字叫%s, 我的年龄是%d岁, 我的身高是%fcm' % (name, age, height, height))

# 注意: 格式化拼接字符串时字符串的功能, 与print无关,print只是输出

练习: 定义三个变量,自己的姓名,年龄,身高,通过格式化字符串的形式进行输出操作

17.格式化输出字符串—数据格式处理[熟练使用]

# 处理数据格式: 保留两位小数
name = '小明'
age = 18
height = 185.69

# 我的名字叫小明, 我的年龄是18岁, 我的身高是185.690000cm  由于计算精度的问题,我们的小数位数会出现问题,所以我们需要保留指定位数的小数
print('我的名字叫%s, 我的年龄是%d岁, 我的身高是%fcm' % (name, age, height))
# 我的名字叫小明, 我的年龄是18岁, 我的身高是185.69cm
print('我的名字叫%s, 我的年龄是%d岁, 我的身高是%.2fcm' % (name, age, height))
# 我的名字叫小明, 我的年龄是18岁, 我的身高是185.7cm, 保留指定位数的小数时会进行四舍五入
print('我的名字叫%s, 我的年龄是%d岁, 我的身高是%.1fcm' % (name, age, height))

# 处理数据格式: 指定数据所占的位数
stu_num = 1
# 需求: 学号是一个六位数字,不足六位的在前边补0
# 我的名字叫小明, 我的年龄是18岁, 我的身高是185.7cm,我的学号是000001
print('我的名字叫%s, 我的年龄是%d岁, 我的身高是%.1fcm,我的学号是%06d' % (name, age, height, stu_num))
# 需求: 学号是一个六位数字,不足六位的在前边补空格
# 我的名字叫小明, 我的年龄是18岁, 我的身高是185.7cm,我的学号是     1
print('我的名字叫%s, 我的年龄是%d岁, 我的身高是%.1fcm,我的学号是%6d' % (name, age, height, stu_num))

# 总结:
# 保留n位小数: 占位符书写为 %.nf
# 数据占用n位, 不足位用空格补齐 %nd
# 数据占用n位, 不足位用0补齐 %0nd

18.格式化拼接时的数据类型转换[掌握]

# 在python中数据类型的转换非常简单,就是给数据穿一层其他类型的衣服即可

# 为什么要进行数据类型转换???
# 不同的数据拥有不同的功能,比如字符串可以格式化拼接, 数值型数据可以用于进行加减乘除运算
# 不同数据类型间没有办法进行数据运算

# 数据类型转换的方法:
# 将数据转换为int类型: int(值或者变量)
# 将数据转换为float类型: float(值或变量)
# 将数据转换为str类型: str(值或变量)


# 需求: 有三个变量 price weight money
# 现在需要去买菜,price是商品单价, weight 是商品重量, money是商品的总价
# price = 12
# weight = 3.4
# money = price * weight
#
# print('土豆%d元/斤, 一共买了%f斤, 总共%f元' % (price, weight, money))


price = '12'
weight = '3.4'
money = int(price) * float(weight)


# TypeError: can't multiply sequence by non-int of type 'str'
# 如果想让数值间进行乘法运算需要先将其转换为数值型数据
print('土豆%s元/斤, 一共买了%s斤, 总共%f元' % (price, weight, money))

19.输入[熟练使用]

注意:
1.input会阻塞函数的运行,直到程序员输入完命令.
2.input接收到的数据都会以字符串形式存储

# 输入就是程序员向计算机中输入数据的过程
# 输入函数:input
# 格式: 变量 = input('提示信息')
# 注意:提示信息是输出到控制台当中的, 而变量中保存的才是我们输入的数据

# 执行完input函数后,会将提示信息输出到控制台当中,并阻塞程序运行,等待程序员输入后继续执行
stu_num = input('请输入您的学号:')

# 程序员输入的内容将会被stu_num所接受,并使用print进行打印
print(stu_num)
# input接受的所有数据会以str进行储存
print(type(stu_num))  # <class 'str'>

# TypeError: %d format: a number is required, not str
# print('我的学号是%d' % stu_num)
# 如果我们想要使用%d接收input接收到的数据,必须将其转换为int类型
print('我的学号是%d' % int(stu_num))

文件共享

下载共享文件安装包并进行安装
安装后点击加号
image.png
密钥:
https://link.resilio.com/#f=Python%2B%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%9F%BA%E7%A1%80%E7%8F%AD&sz=16E8&t=1&s=6FFVDICOQAK2SK6DSFKUAXI2EPPD66BE&i=CEKQ2F76OQDYYU6YRNFCLMIHETWBHA7ZN&e=1659089789&v=2.7&a=2
输入密钥后选择要保存的位置,并点击链接
image.png
注意:一定要新建一个空文件夹保存数据,否则后果很严重,可能将你原有的数据全部删除

作业

01-Python入门作业.md
01-Python入门答案.md

作业提交

点击查看【jinshuju】

文件链接

百度云盘:链接:https://pan.baidu.com/s/13TqhouBQ8h1lP2VFtQHgMw 提取码:lh3d
阿里云盘:「python+大数据79期基础」等文件 https://www.aliyundrive.com/s/G6iPqGFQgfJ