美文网首页
dw-python的基础学习-task02-task08

dw-python的基础学习-task02-task08

作者: 蔓藤树下的甜蜜 | 来源:发表于2020-07-23 12:47 被阅读0次

对于基础学习的这些内容安排对我来说,有点不合理,内容很基础。所以我就大量跳过,记录一些自己容易忽略的点。
1、pass语句的意思是“不做任何事”,如果你在需要有语句的地方不写任何语句,那么解释器会提示出错,而pass语句就是用来解决这些问题的。
eg: def a_func():

SyntaxError: unexpected EOF while parsing

def a_func():
pass
pass是空语句,不做任何操作,只起到占位的作用,其作用是为了保持程序结构的完整性。尽管pass语句不做任何操作,但如果暂时不确定要在一个位置放上什么样的代码,可以先放置一个pass语句,让代码可以正常运行。

2、try语句的工作方式
1)、首先,执行try子句(在关键字try和关键字except之间的语句)
2)、如果没有异常发生,忽略except子句,try子句执行后结束。
3)、如果在执行try子句的过程中发生了异常,那么try子句余下的部分将被忽略。如果异常的类型和except之后的名称相符,那么对应的except子句将被执行。最后执行try语句之后的代码。
4)、如果一个异常没有与任何的except匹配,那么这个异常将会传递给上层的try中。

3、列表,字符串,元祖,字典,集合,序列
1)、python的元祖与列表类似,不同之处在于tuple被创建后就不能对其进行修改,类似字符串。
2)、字典
序列是以连续的整数为索引,与此不同是,字典以“关键字”为索引,关键字可以是任意不可变类型,通常用字符串或数值。
字典是python唯一的一个映射类型,字符串、元祖、列表属于序列类型。

那么如何快速判断一个数据类型x是不是可变类型的呢?两种方法:
一、麻烦方法:用id(x)函数,对x进行某种操作,比较操作前后的id,如果不一样,则x不可变,如果一样,则x可变。
二、便捷方法:用hash(x),只要不报错,证明x可被哈希,即不可变,反过来不可被哈希,即可变。
eg:
i=1
print(id(i)) #140732167000896
i = i+2
print(id(i)) #140732167000960

l=[1,2]
print(id(l)) #4300825160
l.append('python')
print(id(l)) #4300825160
整数i在加1之后的id和之前不一样,因此加完之后的这个i(虽然名字没变),但不是加之前的那个i了,因此整数是不可变类型。
列表l在附加“python”之后的id和之前一样,因此列表是可变类型。

eg:
print(hash('Name')) # -9215951442099718823

print(hash((1,2,'python'))) #823362308207799471

print(hash([1,2,'python'])) #TypeError:unhashable type:"list"

print(hash({1,2,3})) #TypeError:unhashable type:"set"
数值、字符和元祖都能被哈希,因此他们是不可变类型。
列表、集合、字典不能被哈希,因此它是可变类型。

3)字典和集合
字典是无序的 键:值(key:value),对集合,键必须是互不相同的(在同一个字典之内)
dict内部存放的顺序和key放入的顺序是没有关系的。
dict查找和插入的速度极快,不会随着key的增加而增加,但是需要占用大量的内存。

4)集合
python中set与dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
注意:key为不可变类型,即可哈希的值。

相关文章

  • dw-python的基础学习-task02-task08

    对于基础学习的这些内容安排对我来说,有点不合理,内容很基础。所以我就大量跳过,记录一些自己容易忽略的点。1、pas...

  • react学习路线图

    基础 HTML学习 HTML 基础学习 HTML 基础CSS学习 CSS 基础在上一步练习的基础上为页面添加样式使...

  • RxJava——基础学习(三),简单实践

    RxJava——基础学习(一)RxJava——基础学习(二)前两篇基础学习,了解了RxJava最基础的部分知识。这...

  • 花书第五章笔记

    [TOC] 第五章 机器学习基础 机器学习基础 掌握机器学习的基本知识和基础原理 机器学习基础[p87-p142]...

  • RobotFramework接口测试分享(一)

    基础条件 1、Python的基础:学习Python的基础教程(可参考各大学习网站) 基础部分需要学习,后续接入实际...

  • Java 初中级程序员如何快速成长???

    Java 研发技术学习路线 一、Java 基础阶段 基础阶段的学习说白了就是 Java SE 的学习,这是基础的阶...

  • 线上思维导图课程总结

    一、学习内容 学习的内容:基础篇、学习篇、运用篇。包括基础篇的:思维导图开启全新思维、开通基础篇学习了思维导图...

  • 深度学习基础教程

    深度学习基础教程 [tag]深度学习,机器学习,数据分析,挖掘,算法, [content]深度学习的入门基础。 [...

  • 基础的学习

    最近在学习数据结构与算法的知识,这门知识对于非科班的我来说,是要好好补补的。有人说,前端不需要学习这个,因为根本用...

  • 谈话档案

    问题类 时间 姓名 学习基础 表现基础 近期问题 问题分析 解决措施 成长类 时间 姓名 学习基础 表现基础 近期...

网友评论

      本文标题:dw-python的基础学习-task02-task08

      本文链接:https://www.haomeiwen.com/subject/qpgclktx.html