首页 > 其他分享 >p2s学习笔记第二录

p2s学习笔记第二录

时间:2023-11-25 23:33:49浏览次数:30  
标签:语句 False 函数 笔记 学习 p2s print return True

datawhale p2s 学习chapter_2与chapter_3

chapter_2

常用内置类型

  1. 整数 int

    离散

  2. 浮点数 float

    双精度

  3. 布尔值 bool

    True or False

  4. 类型 type

    即int float等类型

  5. 字符串 string

    5~9为数组类型

  6. 列表 list
  7. 元组 tuple
  8. 集合 set
  9. 字典 Dictionary (映射map)
  10. 复数 complex
  11. 函数 function
  12. 模块 module

常用内置常数

  1. True

  2. False

  3. None

  4. pi

    数学常数 π = 3.141592...,精确到可用精度

  5. e

    数学常数 e = 2.718281...,精确到可用精度

  6. tau

    数学常数 τ = 6.283185...,精确到可用精度

  7. inf

    浮点正无穷大,等价于 float('inf'),负无穷大使用 -math.inf

常用内置运算符

  1. 算术:+, -, *, @, /, //, **, %, - (一元算符), + (一元算符)
  2. 关系:<, <=, >=, >, ==, !=
  3. 赋值: +=, -=, *=, /=, //=, **=, %=
  4. 逻辑:and, or, not
  • 除法类型

    / 指的是浮点数除法,它的结果是一个浮点数
    // 指的是整除除法,它的计算结果是整数,舍弃余数

  • 模运算
    % 代表模运算(取余),结果为商的余数
    a mod b ⟺ a−(a∣b)×b

类型影响语义

print(3 * 2)  #6
print(3 * "p2s")  #p2sp2sp2s
print(3 + 2)  #5
print("Data" + "whale")  #Datawhale
print(3 + "p2s")  #3p2s

运算符优先级

运算符 描述
(expressions...),[expressions...], {key: value...}, 绑定或加圆括号的表达式,列表显示,字典显示,集合显示
x[index], x[index:index], x(arguments...), x.attribute 抽取,切片,调用,属性引用
await x await 表达式
** 乘方
+x, -x, ~x 正,负,按位非 NOT
*, @, /, //, % 乘,矩阵乘,除,整除,取余
+, - 加和减
<<, >> 移位
& 按位与 AND
^ 按位异或 XOR
| 按位或 OR
in, not in, is, is not, <, <=, >, >=, !=, == 比较运算,包括成员检测和标识号检测
not x 布尔逻辑非 NOT
and 布尔逻辑与 AND
or 布尔逻辑或 OR
if -- else 条件表达式
lambda lambda 表达式
:= 赋值表达式

短路求值

X Y X and Y X or Y not X not Y
True True True True False False
True False False True False True
False False False False True True
False True False True True False
def yes():
    return True

def no():
    return False

def crash():
    return 1/0 # 会崩溃!
print(no() and crash()) # 成功运行!
print(crash() and no()) # 崩溃了!
print (yes() and crash()) # 因为上一行崩溃了,所以这行不会被运行,就是运行也会因为短路求值崩溃
#输出False
print(yes() or crash()) # 成功运行
print(crash() or yes()) # 崩溃了
print(no() or crash())  # 因为上一行崩溃了,所以这行不会被运行,就是运行也会因为短路求值崩溃
#输出True

type() vs isinstance()

  • isinstance() 比 type() 更具有 稳健性(Robustness)
  • 这种做法更加符合 面向对象编程 中 继承(inheritance)的思想

chapter_3

变量

  1. 变量的规则

    • 变量是一个标签,它所指代的是一段数据
    • 使用 = 来对这段数据的区域进行赋值
    • 新值会覆盖旧值
    • 新值的数据类型不一定与旧值相同
  2. 变量命名规则:

    • 必须以字母或下划线(_)开头
    • 命名可由字母、数字和下划线组成
    • 大小写敏感
    • 尽量避免使用保留字命名
  3. 保留字

    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

  4. 更新变量

    x = 5
    x += 2 # 等价于 x = x + 2
    
  5. 多变量赋值

    a = b = c = 2
    a, b, c = 1, 2, 6
    

函数

  1. 函数由两个部分组成:header 和 body

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

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

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

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

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

    def double(x):
    print("I'm in double!")
    return 2 * x
    
    • 我们使用函数名来调用函数
    • 函数名后紧跟一对括号
    • 括号中是我们设定的参数的值,一个不多,一个不少(这很重要)
    • 函数会返回设定的 return 语句的值
    • 如果参数数目没有匹配会Oops
    def f(x, y, z):
    return x + y + z
    
    def g():
    return 42
    
    print(g(2)) # 崩溃!
    print(f(1, 2)) # 也会崩溃
    
  5. 多返回值

    可设置多返回值

    return 1,2,3 
    

语句与表达式

  1. 表达式

    • 它本身是值
    • 它的计算结果是值
  2. 语句

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

内置函数

  1. bool(),float()等python内置类型转换函数

  2. abs(),max(),min(),pow(),round()等python内置math库

变量作用域

  1. 每个变量都有属于自己的作用范围,在范围内生效

  2. 局部作用域

    局部生效,只存在于函数内部,与其他函数中的同名变量无关,优先级大于全局

  3. 全局作用域

    全局生效

返回语句 vs 输出语句

  1. 返回立即结束(函数内或全局)
  2. 输出不结束,且不会赋值于其他变量

嵌套函数 or 组合函数

  1. 嵌套函数,最先运行最内层的函数。

    递归

  2. 组合函数,一般用于分治或模块化

    分治

标签:语句,False,函数,笔记,学习,p2s,print,return,True
From: https://www.cnblogs.com/LPF05/p/Lpf_p2s02.html

相关文章

  • 学习笔记11
    目录第13章TCP/IP和网络编程知识点归纳TCP/IP协议IP主机和IP地址IP协议路由器的功能套接字苏格拉底挑战实践过程第13章TCP/IP和网络编程知识点归纳TCP/IP协议TCP/IP(TransmissionControlProtocol/InternetProtocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息......
  • python第二次学习笔记
    python中的四大数据类型:1.list(列表):*list是一种有序的集合,可以随时添加和删除其中的元素。比如,我们可以列出一些名字就可以用一个list表示:  >>>names=['Mike','Tom','Bob']我们也可以列出一些数字:>>>numbers=[1,3,5,6,7]在第一个的列表中,我们......
  • 【笔记】kth - 浅谈前 k 优解问题
    【笔记】kth-浅谈前k优解问题第一次见到这一类的trick是在SDOI2013-淘金,现在才知道这个trick还有一堆扩展。Part0.这类问题的一个通用思路:对于目前考虑到的一个状态\(S\),设\(\operatorname{trans}(S)\)为\(S\)的后继状态集合。首先将最优的状态\(S\)放入......
  • JVM学习记录六(JVM调优实战案例)
    这几期的文章都通过学习黑马课程里老师的内容总结出来的,想看视频的伙伴可以上B站搜索《黑马程序员》一、内存溢出内存溢出的位置有三个,如图所示:思路:1.获取堆内存快照2.VisualVM分析dump文件3.通过查看对内信息的情况,定位内存溢出的问题4.找到代码,找到问题代码进行修复二、CPU飚高......
  • 2023-2024-1 20231410刘珈岐 《计算机基础与程序设计》第9周学习总结
    2023-2024-120231410刘珈岐《计算机基础与程序设计》第9周学习总结作业信息这个作业属于哪个课程(https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP)这个作业要求在哪里(https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08))这个作业的目标自学教材《......
  • 大数据分析/机器学习基础之matplotlib绘图篇
    目录一、前言我的运行环境二、什么是matplotlib?三、安装及导入四、matplotlib的使用一、前言本人因在学习基于python的机器学习相关教程时第一次接触到matplotlib相关方面的绘图知识,故写此笔记进行记录,如果能帮助到其他人欢迎点个赞......
  • 2023-2024-1 20231424《计算机基础与程序设计》第9周学习总结
    2023-2024-120231424《计算机基础与程序设计》第9周学习总结作业信息作业属于的课程<班级链接>(2022-2023-1-计算机基础与程序设计)作业要求<作业要求>(2022-2023-1计算机基础与程序设计第一周作业)作业目标《计算机科学概论》第10,11章和《C语言程序设计》第8章......
  • 聪明办法学Python任务笔记
    数据类型和操作Python中数据类型与C语言相似,常见的有整数型(Integer)int,浮点数Float,布尔值型Boolean(bool),类型type,字符串string等。Python中比较特殊的是列表LIst,元组Tuple,集合Set,字典Dictionary这几种数据类型。下面是几种数据类型的用途:内置常数:Boolean:True用于表示......
  • 机器学习环境安装和使用之02Jupyter Notebook的使⽤
    JupyterNotebook简介jupyterNotebook(前身是IPythonNotebook)是一个开源的交互式计算和数据可视化工具(web程序),支持多种编程语言,最常用的是Python。它提供了一个基于Web的界面,用户可以在浏览器中创建和共享文档,这些文档包含实时代码、方程、可视化和文本。名字源⾃Julia、P......
  • Linux学习随笔——文件权限
    一、基本权限UGOU:属主;G:属组;O:其他用户;r:read(读取),数字设定为4;w:write(写入),数字设定为2;x:execute(执行),数字设定为1;使用ll命令查看文件属性,如下例子,忽略第一个“-”,前面3个字符表示属主的权限,中间3个表示属组的权限,后面3个表示其他用户的权限;-rw-r--r--(表示属主权限为读写6,属组权限......