基础知识

python

  • 了解Python
  • Python的应用领域
  • Python的版本

Python介绍

Python是时下最流行、最火爆的编程语言之一,具体原因如下:

  1. 简单、易学,适应人群广泛
  1. 免费、开源

  2. 应用领域广泛

备注:以下知名框架均是Python语言开发。

  • Google开源机器学习框架:TensorFlow
  • 开源社区主推学习框架:Scikit-learn
  • 百度开源深度学习框架:Paddle

Python版本

  • Python 2.X
  • Python 3.X

总结

  • Python优点:
    • 开源
    • 适应人群广泛
    • 应用领域广泛

解释器

  • 解释器的作用
  • 下载Python解释器
  • 安装Python解释器

一. 解释器的作用

Python解释器作用:运行文件

  • Python解释器种类
    • CPython,C语言开发的解释器[官方],应用广泛的解释器。
    • IPython,基于CPython的一种交互式解释器。
    • 其他解释器
      • PyPy,基于Python语言开发的解释器。
      • Jython,运行在Java平台的解释器,直接把Python代码编译成Java字节码执行。
      • IronPython,运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。

课程中使用的解释器:CPython

二. 下载Python解释器

三. 安装Python解释器

总结

  • 解释器的作用:运行文件
  • 解释器环境:先下载后安装

PyCharm

目标

  • PyCharm的作用
  • 下载安装PyCharm
  • PyCharm的基本使用
  • PyCharm的基本设置

一. PyCharm的作用

PyCharm是一种Python ==IDE==(集成开发环境),带有一整套可以帮助用户在使用Python语言开发时==提高其效率的工具==,内部集成的功能如下:

  • Project管理
  • 智能提示
  • 语法高亮
  • 代码跳转
  • 调试代码
  • 解释代码(解释器)
  • 框架和库
  • ......

PythonCharm分为专业版(professional)和社区版(community),本视频以社区版为基准进行操作和讲解。

二. 下载和安装

2.1 下载

下载地址:http://www.jetbrains.com/pycharm/download

注意:这里选择Community(社区版)下载,专业版是收费版本,社区版可以满足我们基础编程需求。

2.2 安装

双击安装包 -- [运行] -- [允许你应用更改设备]: [是] -- [Next] -- [选择安装位置] -- [Next] -- [Install] -- [Finish]。

三. PyCharm基本使用

3.1 新建项目

打开PyCharm -- [Create New Project] -- 选择项目根目录和解释器版本 -- [Create],即可完成新建一个项目。

3.2 新建文件并书写代码

项目根目录或根目录内部任意位置 — 右键 -- [New] -- [Python File] -- 输入文件名 -- [OK]

如果是将来要上传到服务器的文件,那么文件名切记不能用中文。

双击打开文件,并书写一个最简单的Python代码:

print("hello world")

3.3 运行文件

文件打开状态 -- 空白位置 — 右键 -- Run -- 即可调出Pycharm的控制台输出程序结果。

四. PyCharm的基本设置

[file] -- [Settings]/[Default Settings]。

4.1 修改主题

[Appearance & Behavior] -- [Appearance]

  • Theme:修改主题
  • Name:修改主题字体
  • Size:修改主题字号

4.2 修改代码文字格式

[Editor] -- [Font]

  • Font:修改字体
  • Size:修改字号
  • Line Spacing:修改行间距

4.3 修改解释器

[Project: 项目名称] -- [Project Interpreter] -- [设置图标] -- [Add] -- 浏览到目标解释器 -- [OK] -- [OK]。

4.4 项目管理

4.4.1 打开项目

[File] -- [Open] -- 浏览选择目标项目根目录 -- [OK] -- 选择打开项目方式。

打开项目的方式共三种,分别如下:

  1. This Window

覆盖当前项目,从而打开目标项目

  1. New Window

在新窗口打开,则打开两次PyCharm,每个PyCharm负责一个项目。

  1. Attach

4.4.2 关闭项目

[File] -- [Close Project]/[Close Projects in current window]

总结

  • PyCharm新建文件

项目管理空白位置 — 右键 -- New -- PythonFile

  • 运行文件

代码内部 — 右键 -- Run

  • 修改代码文字格式

[file] -- [Settings]/[Default Settings] -- [Editor] -- [Font]

注释

  • 注释的作用
  • 注释的分类及语法
  • 注释的特点

一. 注释的作用

  • 通过用自己熟悉的语言,在程序中对某些代码进行标注说明,这就是注释的作用,能够大大增强程序的可读性。

二. 注释的分类及语法

注释分为两类:==单行注释== 和 ==多行注释==。

  • 单行注释

只能注释一行内容,语法如下:

# 注释内容
  • 多行注释

可以注释多行内容,一般用在注释一段代码的情况, 语法如下:

"""
    第一行注释
    第二行注释
    第三行注释
"""

'''
    注释1
    注释2
    注释3
'''

快捷键: ==ctrl + /==

2.1 快速体验

  • 单行注释
# 输出hello world
print('hello world')

print('hello Python')  # 输出(简单的说明可以放到一行代码的后面,一般习惯代码后面添加两个空格再书写注释文字)
  • 多行注释
"""
    下面三行都是输出的作用,输出内容分别是:
    hello Python
    hello itcast
    hello world
"""
print('hello Python')
print('hello itcast')
print('hello world')


'''
    下面三行都是输出的作用,输出内容分别是:
    hello Python
    hello itcast
    hello world
'''
print('hello Python')
print('hello itcast')
print('hello world')

注意:解释器不执行任何的注释内容。

总结

  • 注释的作用

用人类熟悉的语言对代码进行解释说明,方便后期维护。

  • 注释的分类
    • 单行: # 注释内容,快捷键ctrl+/
    • 多行:""" 注释内容 """''' 注释内容 '''
  • 解释器不执行注释内容

变量

  • 变量的作用
  • 定义变量
  • 认识数据类型

一. 变量的作用

举例体验:我们去图书馆读书,怎么样快速找到自己想要的书籍呢?是不是管理员提前将书放到固定位置,并把这个位置进行了编号,我们只需要在图书馆中按照这个编号查找指定的位置就能找到想要的书籍。

这个编号其实就是把书籍存放的书架位置起了一个名字,方便后期查找和使用。

程序中,数据都是临时存储在内存中,为了更快速的查找或使用这个数据,通常我们把这个数据在内存中存储之后定义一个名称,这个名称就是变量。

变量就是一个存储数据的的时候当前数据所在的内存地址的名字而已。

二. 定义变量

变量名 = 值

变量名自定义,要满足==标识符==命名规则。

2.1 标识符

标识符命名规则是Python中定义各种名字的时候的统一规范,具体如下:

  • 由数字、字母、下划线组成
  • 不能数字开头
  • 不能使用内置关键字
  • 严格区分大小写
False     None    True   and      as       assert   break     class  
continue  def     del    elif     else     except   finally   for
from      global  if     import   in       is       lambda    nonlocal
not       or      pass   raise    return   try      while     with  
yield

2.2 命名习惯

  • 见名知义。
  • 大驼峰:即每个单词首字母都大写,例如:MyName
  • 小驼峰:第二个(含)以后的单词首字母大写,例如:myName
  • 下划线:例如:my_name

2.3 使用变量

my_name = 'TOM'
print(my_name)

schoolName = '我是程序员'
print(schoolName)

2.4 认识bug

所谓bug,就是程序中的错误。如果程序有错误,需要程序员排查问题,纠正错误。

三. Debug工具

Debug工具是PyCharm IDE中集成的用来调试程序的工具,在这里程序员可以查看程序的执行细节和流程或者调解bug。

Debug工具使用步骤:

  1. 打断点
  2. Debug调试

3.1 打断点

  • 断点位置

目标要调试的代码块的第一行代码即可,即一个断点即可。

  • 打断点的方法

单击目标代码的行号右侧空白位置。

3.2 Debug调试

打成功断点后,在文件内部任意位置 — 右键 -- Debug'文件名' — 即可调出Debug工具面板 -- 单击Step Over/F8,即可按步执行代码。

3.2.1 Debug输出面板分类

  • Debugger
    • 显示变量和变量的细节
  • Console
    • 输出内容

四. 认识数据类型

在 Python 里为了应对不同的业务需求,也把数据分为不同的类型。

检测数据类型的方法:type()

a = 1
print(type(a))  #  -- 整型

b = 1.1
print(type(b))  #  -- 浮点型

c = True
print(type(c))  #  -- 布尔型

d = '12345'
print(type(d))  #  -- 字符串

e = [10, 20, 30]
print(type(e))  #  -- 列表

f = (10, 20, 30)
print(type(f))  #  -- 元组

h = {10, 20, 30}
print(type(h))  #  -- 集合

g = {'name': 'TOM', 'age': 20}
print(type(g))  #  -- 字典

总结

  • 定义变量的语法
变量名 = 值
  • 标识符
    • 由数字、字母、下划线组成
    • 不能数字开头
    • 不能使用内置关键字
    • 严格区分大小写
  • 数据类型
    • 整型:int
    • 浮点型:float
    • 字符串:str
    • 布尔型:bool
    • 元组:tuple
    • 集合:set
    • 字典:dict

输出

  • 格式化输出
    • 格式化符号
    • f-字符串
  • print的结束符

输出

作用:程序输出内容给用户

print('hello Python')

age = 18
print(age)

# 需求:输出“今年我的年龄是18岁”

一. 格式化输出

所谓的格式化输出即按照一定的格式输出内容。

1.1 格式化符号

格式符号 转换
==%s== 字符串
==%d== 有符号的十进制整数
==%f== 浮点数
%c 字符
%u 无符号十进制整数
%o 八进制整数
%x 十六进制整数(小写ox)
%X 十六进制整数(大写OX)
%e 科学计数法(小写'e')
%E 科学计数法(大写'E')
%g %f和%e的简写
%G %f和%E的简写

技巧

  • %06d,表示输出的整数显示位数,不足以0补全,超出当前位数则原样输出
  • %.2f,表示小数点后显示的小数位数。

1.2 体验

格式化字符串除了%s,还可以写为f'{表达式}'

age = 18 
name = 'TOM'
weight = 75.5
student_id = 1

# 我的名字是TOM
print('我的名字是%s' % name)

# 我的学号是0001
print('我的学号是%4d' % student_id)

# 我的体重是75.50公斤
print('我的体重是%.2f公斤' % weight)

# 我的名字是TOM,今年18岁了
print('我的名字是%s,今年%d岁了' % (name, age))

# 我的名字是TOM,明年19岁了
print('我的名字是%s,明年%d岁了' % (name, age + 1))

# 我的名字是TOM,明年19岁了
print(f'我的名字是{name}, 明年{age + 1}岁了')

f-格式化字符串是Python3.6中新增的格式化方法,该方法更简单易读。

1.3 转义字符

  • \n:换行。
  • \t:制表符,一个tab键(4个空格)的距离。

1.4 结束符

想一想,为什么两个print会换行输出?

print('输出的内容', end="\n")

在Python中,print(), 默认自带end="\n"这个换行结束符,所以导致每两个print直接会换行展示,用户可以按需求更改结束符。

总结

  • 格式化符号
    • %s:格式化输出字符串
    • %d:格式化输出整数
    • %f:格式化输出浮点数
  • f-字符串
    • f'{表达式}'
  • 转义字符
    • \n:换行
    • \t:制表符
  • print结束符
print('内容', end="")

输入

  • 输入功能的语法
  • 输入input的特点

一. 输入

在Python中,程序接收用户输入的数据的功能即是输入。

1.2 输入的语法

input("提示信息")

1.3 输入的特点

  • 当程序执行到input,等待用户输入,输入完成之后才继续向下执行。
  • 在Python中,input接收用户输入后,一般存储到变量,方便使用。
  • 在Python中,input会把接收到的任意用户输入的数据都当做字符串处理。
password = input('请输入您的密码:')

print(f'您输入的密码是{password}')
# 
print(type(password))

总结

  • 输入功能
    • input('提示文字')
  • 输入的特点
    • 一般将input接收的数据存储到变量
    • input接收的任何数据默认都是字符串数据类型

数据类型转换

  • 数据类型转换的必要性
  • 数据类型转换常用方法

一. 转换数据类型的作用

问:input()接收用户输入的数据都是字符串类型,如果用户输入1,想得到整型该如何操作?

答:转换数据类型即可,即将字符串类型转换成整型。

二. 转换数据类型的函数

函数 说明
int(x [,base ]) 将x转换为一个整数
float(x ) 将x转换为一个浮点数
complex(real [,imag ]) 创建一个复数,real为实部,imag为虚部
str(x ) 将对象 x 转换为字符串
repr(x ) 将对象 x 转换为表达式字符串
eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s ) 将序列 s 转换为一个元组
list(s ) 将序列 s 转换为一个列表
chr(x ) 将一个整数转换为一个Unicode字符
ord(x ) 将一个字符转换为它的ASCII整数值
hex(x ) 将一个整数转换为一个十六进制字符串
oct(x ) 将一个整数转换为一个八进制字符串
bin(x ) 将一个整数转换为一个二进制字符串

三. 快速体验

需求:input接收用户输入,用户输入“1”,将这个数据1转换成整型。

# 1. 接收用户输入
num = input('请输入您的幸运数字:')

# 2. 打印结果
print(f"您的幸运数字是{num}")


# 3. 检测接收到的用户输入的数据类型 -- str类型
print(type(num))

# 4. 转换数据类型为整型 -- int类型
print(type(int(num)))

四. 实验

# 1. float() -- 转换成浮点型
num1 = 1
print(float(num1))
print(type(float(num1)))

# 2. str() -- 转换成字符串类型
num2 = 10
print(type(str(num2)))

# 3. tuple() -- 将一个序列转换成元组
list1 = [10, 20, 30]
print(tuple(list1))
print(type(tuple(list1)))


# 4. list() -- 将一个序列转换成列表
t1 = (100, 200, 300)
print(list(t1))
print(type(list(t1)))

# 5. eval() -- 将字符串中的数据转换成Python表达式原本类型
str1 = '10'
str2 = '[1, 2, 3]'
str3 = '(1000, 2000, 3000)'
print(type(eval(str1)))
print(type(eval(str2)))
print(type(eval(str3)))

总结

  • 转换数据类型常用的函数
    • int()
    • float()
    • str()
    • list()
    • tuple()
    • eval()

运算符

掌握常用运算符的作用

运算符的分类

  • 算数运算符
  • 赋值运算符
  • 复合赋值运算符
  • 比较运算符
  • 逻辑运算符

1. 算数运算符

运算符 描述 实例
+ 1 + 1 输出结果为 2
- 1-1 输出结果为 0
* 2 * 2 输出结果为 4
/ 10 / 2 输出结果为 5
// 整除 9 // 4 输出结果为2
% 取余 9 % 4 输出结果为 1
** 指数 2 ** 4 输出结果为 16,即 2 * 2 * 2 * 2
() 小括号 小括号用来提高运算优先级,即 (1 + 2) * 3 输出结果为 9

注意:混合运算优先级顺序:()高于 ** 高于 * / // % 高于 + -

2. 赋值运算符

运算符 描述 实例
= 赋值 =右侧的结果赋值给等号左侧的变量
  • 单个变量赋值
num = 1
print(num)
  • 多个变量赋值
num1, float1, str1 = 10, 0.5, 'hello world'
print(num1) # 10
print(float1) # 0.5
print(str1) # 'hello world'
  • 多变量赋相同值
a = b = 10
print(a) # 10
print(b) # 10

3. 复合赋值运算符

运算符 描述 实例
+= 加法赋值运算符 c += a 等价于 c = c + a
-= 减法赋值运算符 c -= a 等价于 c = c- a
*= 乘法赋值运算符 c *= a 等价于 c = c * a
/= 除法赋值运算符 c /= a 等价于 c = c / a
//= 整除赋值运算符 c //= a 等价于 c = c // a
%= 取余赋值运算符 c %= a 等价于 c = c % a
**= 幂赋值运算符 c ** = a 等价于 c = c ** a
a = 100
a += 1
# 输出101  a = a + 1,最终a = 100 + 1
print(a)

b = 2
b *= 3
# 输出6  b = b * 3,最终b = 2 * 3
print(b)

c = 10
c += 1 + 2
# 输出13, 先算运算符右侧1 + 2 = 3, c += 3 , 推导出c = 10 + 3
print(c)

4. 比较运算符

比较运算符也叫关系运算符, 通常用来判断。

运算符 描述 实例
== 判断相等。如果两个操作数的结果相等,则条件结果为真(True),否则条件结果为假(False) 如a=3,b=3,则(a == b) 为 True
!= 不等于 。如果两个操作数的结果不相等,则条件为真(True),否则条件结果为假(False) 如a=3,b=3,则(a == b) 为 True如a=1,b=3,则(a != b) 为 True
> 运算符左侧操作数结果是否大于右侧操作数结果,如果大于,则条件为真,否则为假 如a=7,b=3,则(a > b) 为 True
< 运算符左侧操作数结果是否小于右侧操作数结果,如果小于,则条件为真,否则为假 如a=7,b=3,则(a < b) 为 False
>= 运算符左侧操作数结果是否大于等于右侧操作数结果,如果大于,则条件为真,否则为假 如a=7,b=3,则(a < b) 为 False如a=3,b=3,则(a >= b) 为 True
<= 运算符左侧操作数结果是否小于等于右侧操作数结果,如果小于,则条件为真,否则为假 如a=3,b=3,则(a <= b) 为 True
a = 7
b = 5
print(a == b)  # False
print(a != b)  # True
print(a < b)   # False
print(a > b)   # True
print(a <= b)  # False
print(a >= b)  # True

5. 逻辑运算符

运算符 逻辑表达式 描述 实例
and x and y 布尔"与":如果 x 为 False,x and y 返回 False,否则它返回 y 的值。 True and False, 返回 False。
or x or y 布尔"或":如果 x 是 True,它返回 True,否则它返回 y 的值。 False or True, 返回 True。
not not x 布尔"非":如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not True 返回 False, not False 返回 True
a = 1
b = 2
c = 3
print((a < b) and (b < c))  # True
print((a > b) and (b < c))  # False
print((a > b) or (b < c))   # True
print(not (a > b))          # True

5.1 拓展

数字之间的逻辑运算

a = 0
b = 1
c = 2

# and运算符,只要有一个值为0,则结果为0,否则结果为最后一个非0数字
print(a and b)  # 0
print(b and a)  # 0
print(a and c)  # 0
print(c and a)  # 0
print(b and c)  # 2
print(c and b)  # 1

# or运算符,只有所有值为0结果才为0,否则结果为第一个非0数字
print(a or b)  # 1
print(a or c)  # 2
print(b or c)  # 1

总结

  • 算数运算的优先级
    • 混合运算优先级顺序:()高于 ** 高于 * / // % 高于 + -
  • 赋值运算符
    • =
  • 复合赋值运算符
    • +=
    • -=
    • 优先级
      1. 先算复合赋值运算符右侧的表达式
      2. 再算复合赋值运算的算数运算
      3. 最后算赋值运算
  • 比较运算符
    • 判断相等: ==
    • 大于等于: >=
    • 小于等于:<=
    • 不等于: !=
  • 逻辑运算符
    • 与: and
    • 或:or
    • 非:not

你可能感兴趣的:(基础知识)