组队学习-学习笔记P2

发布时间 2023-11-23 22:43:50作者: 人间烟火天上星

组队学习-学习笔记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

函数

函数是一个名字,代表一串代码序列(流程、过程)

函数由两个部分组成:headerbody

  • header 用于定义函数接口(函数 名称参数
  • body 包含函数所需要执行的操作

header 用于定义函数的名称参数

  • 当函数被调用时,参数将会作为变量被提供给函数的 body 部分
  • 可以提供多个参数(用逗号 , 分隔),也可以不提供参数(0 个)
  • header 以冒号(:)结尾,代表后面会跟着 body 部分

函数的 header 的写法:

def functionName(parameters):
pass # 函数的 body 部分,这里使用 pass 代替

body

body 包含函数执行的语句(statement

  • 语句需要缩进(由 Code Style Guide 决定)
  • 当语句不再缩进,函数部分结束
  • 一般会使用 return 语句,来让函数返回其结果,但不是必须的

类似于用一个 = 来对多个变量赋值,函数的返回结果也可以不止一个(用逗号 , 分隔)

  • 我们使用函数名来调用函数
  • 函数名后紧跟一对括号
  • 括号中是我们设定的参数的,一个不多,一个不少(这很重要)
  • 函数会返回设定的 return 语句的值

函数可以有任意多个参数,也可以一个都没有,但是参数的数目必须匹配。

语句与表达式

对于表达式

  • 它本身是
  • 它的计算结果是值

对于语句

  • 它不是值
  • 它不能打印
  • 但它能执行一些操作

Python 只能 print 值和表达式,如果你能用 print() 输出它,那它就是表达式