首页 > 其他分享 >组队学习-学习笔记P2

组队学习-学习笔记P2

时间:2023-11-23 22:44:06浏览次数:31  
标签:P2 body 函数 header 浮点数 学习 组队 参数 语句

组队学习-学习笔记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() 输出它,那它就是表达式

标签:P2,body,函数,header,浮点数,学习,组队,参数,语句
From: https://www.cnblogs.com/weiyu181012283672/p/17852700.html

相关文章

  • 算法学习笔记(42): 颜色段均摊
    颜色段均摊反正ODT!对于ODT来说,其区间推平的复杂度是\(O((n+m)\logn)\)的,十分的优秀,但是对于查询来说,我们需要通过分块或者线段进行辅助,从而达到正确的复杂度。有一种特殊情况例外:如果推平和查询同时发生,意味着推平时对于每一段查询的复杂度是没有问题的!判断是否......
  • 固体物理学习
    此篇写一些在复习的过程中列出的固体物理学知识可能会出现错误偶然想起来自己还有博客呢大学没勇气接着学计算机课发现物理和化学其实也挺难的每个学科都有属于自己的魅力(折磨)正好要考试了对每一章节写一些自己的感悟其实是为了万一将来要用还能来看看学的课时不多总结......
  • 2023-2024 20232319《网络空间安全导论》第2周学习总结
    思维导图教材学习过程中的问题和解决过程问题一:sm2算法和sm4算法是对称算法还是非对称算法?答案:sm2属于非对称算法,sm4属于对称算法。问题一解决方案:询问chatgpt。问题二:区块链技术与密码学的关系答案:区块链技术与密码学有着密切的关系,密码学是区块链技术的基础之一。以下是......
  • R数据分析:集成学习方法之随机生存森林的原理和做法,实例解析
    很久很久以前给大家写过决策树,非常简单明了的算法。今天给大家写随机(生存)森林,随机森林是集成了很多个决策数的集成模型。像随机森林这样将很多个基本学习器集合起来形成一个更加强大的学习器的这么一种集成思想还是非常好的。所以今天来写写这类算法。 集成学习方法Ensembl......
  • 抖音UID转抖音号工具,可读取昵称、等级、地区【易语言源码学习】
    这个源码可以提取抖音UID的信息,调用的网页端的公开接口,正规接口哈,通过post实现,然后下面我会分享源码出来,仅供学习,不提供下载,源码大家可以学习交流。易语言源码【源码仅供学习,不提供成品下载】.版本2.支持库internet.程序集窗口程序集_启动窗口.子程序_按钮1_被单击......
  • 学习笔记11
    第13章TCP/IP和网络编程本章论述了TCP/P和网络编程,分两个部分。第一部分论述了TCPAIP协议及其应用,具体包括TCP/IP栈、IP地址、主机名、DNS、IP数据包和路由器;介绍了TCP/IP网络中的UDP和TCP协议、端口号和数据流;阐述了服务器-客户机计算模型和套接字编程接口;通过使用UDP和......
  • 2023-2024-1 20232421邓锴 《网络空间安全导论》 第2周学习总结
    教材学习总结了解密码的来源与发展ENIGMA机的构造以及机理信息论的基本观点了解现代密码学发展以及面临的挑战密码学理论基础(数学知识)密码学的新进展以及未来方向思维导图教材学习中的问题和解决问题问题1:ENIGMA机的构造以及机理了解不清问题1解决办法:查询图片→查找......
  • 聪明办法学python chap2数据类型与操作 3变量与函数
    Python(二)数据类型与操作类型print(type(2))#整型intprint(type(2.2))#浮点型floatprint(type(2>3.4))#布尔型boolprint(type(type(2)))#类型typeprint(t......
  • 学习指南[自用]
    学习指南收集到的岗位要求,定下以后的学习目标,指导自己的学习路线计算机基础精通linux常用命令、网络协议深入理解Linux操作系统原理者优先;有相关开源社区贡献者优先Java精通Java语言,包括JVM、多线程、高并发、网络等、NIO模型、类装载熟悉java工具以及实现原理(JVMT......
  • Python中,if __name__=="__main__"学习
    注意:Python的代码执行,都是依次从上往下执行在Python中,每个模块都有一个内置的变量name,用于表示当前模块的名称。当一个Python文件被执行时,Python解释器会首先将该文件作为一个模块导入,并执行其中的代码。此时,__name__的值为模块的名称。ifname==‘main’是一个常见的用法,它......