1.不要在模块之间相互调用,否则会出现麻绳现象,避免循环导入。

==:用来判断值是否相等(分别指向两个空间,但是空间里面的内容相同)

is:判断指向是否相等。

例:

a=[,,]
b=[,,]
a==b
#True
a is b
#False
id(a)
#1398041200093640
id(b)
#1398041200093600

面试常问:

深拷贝:能复制的东西比较多,能够把值传过去,但是指向的地址不相同。

潜拷贝:能复制的比较少,例如:把一个变量赋值给另一个变量,只是把地址传过去(两个变量指向同一个地址);,但是值没有传过去。

copy():有的时候能够完成想用的功能(对于可变类型)

对于不可变类型:copy相当于浅拷贝


位运算:快速完成一个值得乘或除

<<:左移

>>:右移


私有化

 class Test(object):
def __init__(self):
self.num=100 t=Test()
t.num=200
print(t.num) 添加的时候有下划线,就后面都要带着,如果添加的时候没有,那就都没有
但是带着下划线的表示别的语言中的私有属性
方法名前面的叫私有方法,
在外面不能直接调用
class Test(object):
def __init__(self):
self.__num=100
t=Test()
t.__num=200
print(t.num)

xx:公有变量

_x:单前置下划线,私有化属性或方法。from somemodule import 禁止导入,但是类,对象和子类可以访问

__xx:前置下划线,用于避免与Python中的关键字冲突,后置下划线的效果一样。

__xx__:双前后下划线,用户名字空间的魔法对象或者属性

若 import 模块是直接可以导入的,所以Python中是伪私有


instance()允许检查某个特定标识符是否包含某个特定类型的数据

movies=["The Holy Grail",1975,"Terry Jones &Terry Gilliam",91,["Graham Chapman",["Michael Palin","John Cleese","Terry Gilliam","Eric Idle","Terry Jones"]]]
for each_item in movies:
if isinstance(each_item,list):
for nested_item in each_item:
if isinstance(nested_item,list);
for deeper_item in nested_item:
else:
print(nested_item)
print(nested_item)
else:
print(each_item) The Holy Grail
1975
Terry Jones &Terry Gilliam
91
Graham Chapman
Michael Palin
Jhon Cleese
Terry Gilliam
Eric Idle
Terry Jones']

编写函数就是为了可以重用代码,避免重复的代码

模块就是为了共享代码:它是一个包含Python代码的文本文件。文件名义.py结尾

PyPI:Python包索引,从而使代码其他人可以用

递归:

Python3 默认递归的代码不能超过100行

术语

BIF:内置函数

suite:组

功能齐全:(Batteries included))

range():可以固定函数的迭代次数。

列表就像打了激素的数组

列表可以存放任意数据,而且数据可以是混合型,列表中可以放其他的列表

Python使用缩进将语句归组在一起

if。。。else语句在代码中完成判定

insintance()BIF会检查一个标识符是否指示某个指定类型的数据


文件处理与异常

python中的基本输入机制都是基于行的,从文本文件向程序读入数据的时候,一次会到达一个数据行

python中的open()BIF就是用来与文件交互的

readline:是从文件中读一行数据

seek()是返回到文件起始位置

split()用来分离元素。split(“:”)使用冒号来分离调用他的元素。并且这个方法返回一个字符串列表,成为多重赋值

split(......)这个可选定的参数控制着将数据行分解为多少个部分,默认的数据会尽可能多的分解

try:
data=open('sketch.txt')
for each_line in data:
try:
if not each_line.find(':')==-1;
(role,line_spoken)=each_line.split(':',1)#这个额外的参数控制着split如何分解
print(role,end='')
print('said:',end='')
print(line_spoken,end='')
except ValueEorror:
pass
data.close() except IOError:
print('The data file is missing!')

增加额外逻辑:

find()这个方法尝试找出字符串的字串,这个方法会回到该子串在原子符串中的索引位置。

处理异常:

Python通过traceback来告诉你运行的时候发生了某种意外的情况,在Python世界里,运行时的错误叫做异常。

try:

你的代码 (可能导致一个运行时错误)

except:

错误恢复代码

strip()方法从字符串中去了掉不想要的空白符。


在Python中使用访问模式'w'时Python会打开指定的文件来完成写,若这个文件已经存在,则会清空他现有的内容,也就是完全清除。要追加一个文件,需要使用访问模式a。要打开一个文件完成读和写,但是这个文件并不存在,那么首先会为你创建这个文件,然后再打开文件进行写。注意,发生异常时,文件会保持打开的状态。


day:3.9基础复习的更多相关文章

  1. 《CSS权威指南》基础复习+查漏补缺

    前几天被朋友问到几个CSS问题,讲道理么,接触CSS是从大一开始的,也算有3年半了,总是觉得自己对css算是熟悉的了.然而还是被几个问题弄的"一脸懵逼"... 然后又是刚入职新公司 ...

  2. Java基础复习笔记系列 九 网络编程

    Java基础复习笔记系列之 网络编程 学习资料参考: 1.http://www.icoolxue.com/ 2. 1.网络编程的基础概念. TCP/IP协议:Socket编程:IP地址. 中国和美国之 ...

  3. Java基础复习笔记系列 八 多线程编程

    Java基础复习笔记系列之 多线程编程 参考地址: http://blog.csdn.net/xuweilinjijis/article/details/8878649 今天的故事,让我们从上面这个图 ...

  4. Java基础复习笔记系列 七 IO操作

    Java基础复习笔记系列之 IO操作 我们说的出入,都是站在程序的角度来说的.FileInputStream是读入数据.?????? 1.流是什么东西? 这章的理解的关键是:形象思维.一个管道插入了一 ...

  5. Java基础复习笔记系列 五 常用类

    Java基础复习笔记系列之 常用类 1.String类介绍. 首先看类所属的包:java.lang.String类. 再看它的构造方法: 2. String s1 = “hello”: String ...

  6. Java基础复习笔记系列 四 数组

    Java基础复习笔记系列之 数组 1.数组初步介绍? Java中的数组是引用类型,不可以直接分配在栈上.不同于C(在Java中,除了基础数据类型外,所有的类型都是引用类型.) Java中的数组在申明时 ...

  7. C语言基础复习总结

    C语言基础复习总结 大一学的C++,不过后来一直没用,大多还给老师了,最近看传智李明杰老师的ios课程的C语言入门部分,用了一周,每晚上看大概两小时左右,效果真是顶一学期的课,也许是因为有开发经验吧, ...

  8. JS基础 复习: Javascript的书写位置

    爱创课堂JS基础 复习: Javascript的书写位置复习 js书写位置:body标签的最底部.实际工作中使用书写在head标签内一对script标签里.alert()弹出框.console.log ...

  9. MySQL学习笔记_8_SQL语言基础复习

    SQL语言基础复习 一.概述 SQL语句注释方式 1)以"#"开头直到行尾的所有内容都是注释 2)以"--"(--后还有一个空格)开头直到行尾的所有内容都是注释 ...

  10. Java基础复习笔记基本排序算法

    Java基础复习笔记基本排序算法 1. 排序 排序是一个历来都是很多算法家热衷的领域,到现在还有很多数学家兼计算机专家还在研究.而排序是计算机程序开发中常用的一种操作.为何需要排序呢.我们在所有的系统 ...

随机推荐

  1. 论文翻译:2015_DNN-Based Speech Bandwidth Expansion and Its Application to Adding High-Frequency Missing Features for Automatic Speech Recognition of Narrowband Speech

    论文地址:基于DNN的语音带宽扩展及其在窄带语音自动识别中加入高频缺失特征的应用 论文代码:github 博客作者:凌逆战 博客地址:https://www.cnblogs.com/LXP-Never ...

  2. js将已有数组重新分组(将数组每10项分成一组)

    项目中碰到的一个小需求:分页请求数据,一次请求60条,需要将后台返回的数组每10条分成一组渲染一个表格(表格使用的是ant-design-vue的table) 实现逻辑: var chunk = 10 ...

  3. C语言三 语句练习

    输入一个整数day代表星期几,根据day的值输出对应的星期几,比如day==1,就输出“星期一”(用两种方式实现) int Day; printf("请输入一个1~7的数字"); ...

  4. codewars--js--Two Joggers--求最小公倍数、最大公约数

    问题描述: Two Joggers Description Bob and Charles are meeting for their weekly jogging tour. They both s ...

  5. 回炉重造之重读Windows核心编程-002-字符集

    使用Unicode的优势: 便于在不同语言之间进行数据交换. 让你的exe或者dll文件支持所有的语言. 提高应用程序的执行效率. Windows2000是使用Unicode重新开发的,核心部分都需要 ...

  6. ARC-082F Sandglass

    题意 有一个含有两个玻璃球的沙漏,分别称这两个玻璃球为\(

  7. 解决“此Flash Player与您的地区不相容”

    1.进入C:\Windows\System32\drivers\etc目录,将hosts文件拷贝到桌面,然后用文本编辑器,比如记事本,打开,在最后一行添加: 127.0.0.1 geo2.adobe. ...

  8. Linux服务器被入侵后的处理过程(转发阿良)

    Linux服务器被入侵后的处理过程   突然,频繁收到一组服务器 ping 监控不可达邮件,赶紧登陆 zabbix 监控系统查看流量状况. 可见流量已经达到了 800M 左右,这肯定不正常了,马上尝试 ...

  9. watch实现监听Vuex状态监听(利用computed)

    Vuex 通过 store 选项,提供了一种机制将状态从根组件"注入"到每一个子组件中(需调用 Vue.use(Vuex)):通过在根实例中注册 store 选项,该 store ...

  10. AI Web 1.0

    kali:192.168.0.103 目标机:192.168.0.105 0X01 端口和目录扫描 打开目标主页没有任何信息 a) 端口扫描 只有一个80端口开启 b) 目录扫描 0x03 查看敏感目 ...