组队学习-学习笔记P2
本文是学习b站up主 二次元的datawhale 发布的聪明办法学python系列视频后记录的一些学习笔记
部分内容引用于 聪明办法学python 视频
Task03 数据类型和操作 Data Types and Operators
数据类型
基本数据类型:
- 整数 int
- 浮点数 float
- 布尔值 bool (boolean)
- 类型 type (严格的来说,Type 是一种类的对象)
其他数据类型:
- 字符串 str (string or text)
- 列表 list
- 元组 tuple
- 集合 set
- 字典 dict (dictionary or map)
- 复数 complex (complex number)
- 函数 function
- 模块 module
常用内置常数
Python 内置了一些常量
- True,用于表示 布尔 真
- False,用于表示 布尔 假
- None,代表 空,用于空值
math
库中的一些数学常量
- pi,数学常数pi = 3.141592...,精确到可用精度
- e,数学常数 e= 2.718281...,精确到可用精度
- tau,数学常数 tau = 6.283185...,精确到可用精度(其实它不常用)
- inf,浮点正无穷大,等价于
float('inf')
,负无穷大使用-math.inf
常用内置运算符 Builtin Operators
- 算术:+, -, *, @, /, //, **, %, - (一元算符), + (一元算符)
- 关系:<,<=,>=,>,==, !=
- 赋值: +=, -=, *=, /=, //=, **=, %=
- 逻辑:not,and, or
除法和模运算
/
指的是浮点数除法,它的结果是一个浮点数
//
指的是整除除法,它的计算结果是整数,舍弃余数
%
代表模运算(取余),结果为商的余数
浮点数误差
原因:计算机中保存数字的寄存器是使用二进制来保存数字的,有的有限十进制小数只能使用无限的二进制小数表示
解决方法:
方法一:
如果你只希望浮点数精确到某个精度即可,那可以使用浮点数自带的精度计算。
方法二:
也可以使用round()函数,直接四舍五入。如果round()函数中不指定第二个参数的话,默认四舍五入到整数位,否则精度最多保存到第二个参数长度的小数位
方法三:
使用decimal模块:
注意,decimal函数中的参数是字符串。
另外Decimal
的引入申明为:
from decimal import Decimal
短路运算
and 与运算
or 或运算
not 非运算
类型判断
判断常量或变量的类型可以使用 type或者instance 函数
isinstance()比type()更具有稳健性(Robustness)
这种做法更加符合 面向对象编程 中 继承(inheritance) 的思想
**type() 与 isinstance() ** 的区别:
- type() 不会认为子类是一种父类类型,不考虑继承关系。
- isinstance() 会认为子类是一种父类类型,考虑继承关系。
- 如果要判断两个类型是否相同推荐使用 isinstance()。
Task04 变量与函数 Variables and Functions
变量
变量是一个名字,它所指代的是一段数据
使用 =
(赋值符号)来对这段数据的区域进行赋值
新的值会覆盖掉旧的值
新值的数据类型不必与旧值相同
变量命名规则:
- 必须以字母或下划线(
_
)开头 - 命名可由字母、数字和下划线组成
- 大小写敏感
- 尽量避免使用保留字命名
多变量赋值
例1:
a = b = c = 2
例2:
a, b, c = 1, 2, 6
函数
函数是一个名字,代表一串代码序列(流程、过程)
函数由两个部分组成:header 和 body
header
用于定义函数接口(函数 名称 与 参数)body
包含函数所需要执行的操作
header
header
用于定义函数的名称和参数
- 当函数被调用时,参数将会作为变量被提供给函数的
body
部分 - 可以提供多个参数(用逗号
,
分隔),也可以不提供参数(0 个) header
以冒号(:
)结尾,代表后面会跟着body
部分
函数的 header
的写法:
def functionName(parameters):
pass # 函数的 body 部分,这里使用 pass 代替
body
body
包含函数执行的语句(statement
)
- 语句需要缩进(由 Code Style Guide 决定)
- 当语句不再缩进,函数部分结束
- 一般会使用
return
语句,来让函数返回其结果,但不是必须的
类似于用一个 =
来对多个变量赋值,函数的返回结果也可以不止一个(用逗号 ,
分隔)
- 我们使用函数名来调用函数
- 函数名后紧跟一对括号
- 括号中是我们设定的参数的值,一个不多,一个不少(这很重要)
- 函数会返回设定的
return
语句的值
函数可以有任意多个参数,也可以一个都没有,但是参数的数目必须匹配。
语句与表达式
对于表达式
- 它本身是值
- 它的计算结果是值
对于语句
- 它不是值
- 它不能打印
- 但它能执行一些操作
Python 只能 print 值和表达式,如果你能用 print()
输出它,那它就是表达式