• day:3.9基础复习


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

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

    is:判断指向是否相等。

    例:

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


    面试常问:

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

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

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

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


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

    <<:左移

    >>:右移


    私有化

    1 class Test(object):
    2     def __init__(self):
    3             self.num=100
    4 
    5 t=Test()
    6 t.num=200
    7 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。要打开一个文件完成读和写,但是这个文件并不存在,那么首先会为你创建这个文件,然后再打开文件进行写。注意,发生异常时,文件会保持打开的状态。


  • 相关阅读:
    Mysql之正则匹配
    定时任务之elastic-job概述
    清晰讲解LSB、MSB和大小端模式及网络字节序
    极光消息推送多环境配置
    基于TSUNG对MQTT进行压力测试-测试结果
    基于TSUNG对MQTT进行压力测试-基础概念温习
    阻塞式/非阻塞式与同步/异步的区别
    干货!Jenkins下配置findbugs、pmd及checkstyle实现代码自动检测
    jar包
    java环境变量及Eclipse自动编译问题
  • 原文地址:https://www.cnblogs.com/gaowenxingxing/p/10504378.html
Copyright © 2020-2023  润新知