返回顶部
首页 > 资讯 > 后端开发 > Python >经验拾忆(纯手工)=> Python基
  • 646
分享到

经验拾忆(纯手工)=> Python基

纯手工经验Python 2023-01-31 08:01:44 646人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

可变类型与不可变类型(重头戏) 基操: 可变类型:[], {} # 可增删改 查 不可变类型: int float str () # 无法增删改, 只可查

可变类型与不可变类型(重头戏)

    基操:
        可变类型:[], {}                # 可增删改 查
        不可变类型: int float str ()    # 无法增删改, 只可查

    升操: + 与 += 的区别:
        也许很多人会说 + 和 += 是完全等价的,或者知道区别,但也说不出个所以然
        看我操作:(忽略python小整数池的内存固定分配问题)
            +: 
                无论是可变类型 还是 不可变类型, 都是新指向的空间
            +=: 
                对于可变类型:原地操作,原指向,原空间
                对于不可变类型:异地操作,新指向,新空间
                

        我这里故意搞你一下思绪:见过 a=+1 么,可以运行试试。
        不要疑惑,告诉你答案:这个+1 代表 正负号的 正1。 虽然一点技术含量没有,但是你要懂

序列

    也许叫可迭代对象更为合适,但是我喜欢叫序列。
    我认知的序列包括 [], {}, ()   # 请记住这个序列,数据处理最为重要
    此外说明一下:
        1. 我的代码大多都是IPython运行完贴上去的, 所以你看见的out格式就代表print了,要懂~
        2. 所写的大多都是实际经验中常用的 或者 冷门但是好用的
        3. 列出的函数api有的嫌弃麻烦没有写参数,你要懂,(我这里没有顾及0入门的小白,谅解)

元祖

    基操:
        元祖属于不可变类型,不能增删改,所以函数少的可怜
        我用help查了一下,只有下面这2个函数。。。。。。
        a = (1,2,3)
        count() # 统计元素个数
        index() # 查找元素,并返回位置
    升操:
        a = (1)  # 哥们注意,这不是元祖,这是 整形1 .....
        a = (1,) # 这才是元祖,单元素元祖需要加逗号,记住即可,不必纠结      

常用字符串操作:

    基操:
        a = ' 你2好 '
        a.find('你')  # 搜索目标字符串,找到 则 返回索引,找不到 则 返回-1 (推荐使用)
        a.split(2)    # 注意:不给参数,默认按所有 空白符 切割
        a.strip()  
    升操: 
        1. string库的灵活使用
            In [1]: import string
            In [2]: string.digits
            Out[2]: '0123456789'
            
            In [8]: string.ascii_letters
            Out[8]: 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'           
              
            In [9]: string.ascii_lowercase
            Out[9]: 'abcdefghijklmnopqrstuvwxyz'
            
            In [10]: string.ascii_uppercase
            Out[10]: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
            
            In [12]: string.punctuation
            Out[12]: '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
            
        2. python3.6 - f模板字符串
            新语法引出来,只为刷三观,具体自己去学
            学过es6可能会很熟悉 -> 其实就是模板字符串 (ES6和python语法真的很像)
            In [15]: name = '张三'     
            In [16]: f'名字:{name}'
            Out[16]: '名字:张三'
            
            如果你想学习更多f原语,请参考这位老哥->
            https://blog.csdn.net/sunxb10/article/details/81036693

常用列表操作:

    a = [4,3,2,1]
    基操:
        a.extend() # 参数如果是序列,则把这个序列解开,一个一个插入
        a.append() # 参数写什么,插入的就是什么
    升操:
        a[::] # 开辟空间 复制列表
        a.sort(key=)   # 记住这个key,可以写函数名 (后面也会写高阶函数的文章)

常用字典操作:

    基操:
        a = {1:2}
        a.update({key:value})   # 有则更新,无则添加(Key-Value算一个整体)
        a.setdefault(key, value) # 有此Key则不变 并返回value,无则插入key,value并返回None
        a.keys()     # 返回所有 key (注意:返回值可以理解为 集合对象)
        a.values()   # 返回所有 value (同上,返回值可理解为 集合对象)
        a.items()    # 返回所有 键值对 (同上,返回值可理解为 集合对象)
    升操:
        1. Key是字典作为序列的默认首选项
            解释对列表、元祖等序列等一系列操作如果应用在 字典上 就会只操作 Key
        2. 双层序列 和 字典 转换:
            seq2dict: dict( ((1,2),(3,4)) )
            dict2seq: tuple( {1:2,3:4}.items() )

常用集合操作:

    大前提: 集合=无序=去重
    基操:add | pop | remove | update 和 & | - ^
    升操:(集合的初始化方式的差异)
        In [57]: s1 = set('abcd') # 理解方式: 此初始化方式 会先遍历 整个 字符串
        In [58]: s1
        Out[58]: {'a', 'b', 'c', 'd'}
        
        In [59]: s2 = {'abcd'}   # 理解方式: 此初始化方法把 整个 字符串当做集合的 一个 元素
        In [60]: s2
        Out[60]: {'abcd'}

--结束END--

本文标题: 经验拾忆(纯手工)=> Python基

本文链接: https://lsjlt.com/news/193074.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作