python基础知识代码块_NOTACK

1.列表去重后,将列表中的元素相加

PLUS: try…except的妙用

nums = [1, 2, '34', 'ab', 4, 1, 2]
after_nums = []
mysum = 0
for i in nums:
    try:
        temp = int(i)
        if temp not in after_nums:
            after_nums.append(temp)
            mysum += temp
    except:
        continue

2./b的使用

在这里插入图片描述

3.直接将dict类型数据写入json文件中报错如下

TypeError: write() argument must be str, not dict

4.format 和解包unpacking的妙用


logical_link="""          <LOGICAL-LINK xsi:type="GATEWAY-LOGICAL-LINK" ID="MIIT.MIIT_Project.{}_UDS_ON_CAN.LOGICAL-LINK">
            <SHORT-NAME>{}_UDS_ON_CAN</SHORT-NAME>
            <LONG-NAME>{} UDS ON CAN</LONG-NAME>
            <PHYSICAL-VEHICLE-LINK-REF ID-REF="BYTON_MIIT.MIIT_Project.PVL_PCAN614.PHYSICAL-VEHICLE-LINK"/>
            <PROTOCOL-REF ID-REF="PR_UDSOnCAN" DOCREF="PR_UDSOnCAN" DOCTYPE="LAYER"/>
            <BASE-VARIANT-REF ID-REF="BV_{}" DOCREF="BV_{}" DOCTYPE="LAYER"/>
            <PROT-STACK-SNREF SHORT-NAME="ISO_15765_3_on_ISO_15765_2_on_ISO_11898_2_DWCAN"/>
          </LOGICAL-LINK>"""  # 有五个方括号
for i in ['ACM']:
    res=logical_link.format(*[i for j in range(5)])
print(res)

5.Yield 语句

返回一个生成器对象

当函数执行至yield语句时,将yield之后的表达式结果进行返回
函数暂停,直至下次使用next调用该对象 才继续从yield 的断点处继续运行
重复步骤1,直至异常

6.strip() 不仅仅可以连续去除首尾单个字符,还会以或关系连续去除某些字符

连续:删除首尾的某字符后,如果发现首尾还有指定的字符仍然会继续去除

tim='abfdjkk'
tim.strip('ak') #连续去除首尾的a or k 字符
'bfdj'
tim.strip('ak').strip('bj')
'fd'
tim.strip('ab')
'fdjkk'

7.any() &all()

any(x)判断x对象是否为空对象,如果都为空、0、false,则返回false,如果不都为空、0、则返回true

同理可得all()

any('False')
True

any([bool(False)])  # any(False)报错,bool object isn't iterable,so 才在外头包了一层列表[]
False

>>> any((0,False,''))  # 因为遍历到False是,求Bool(False)为False
False

>>> all('')
True

8.如何展示下载进度

1.以下载图片为例
2.核心方法是 urllib.urlrequest 模块的 urlretrieve()方法
    urlretrieve(url, filename=None, reporthook=None, data=None)
        url: 文件url
        filename: 保存到本地时,使用的文件(路径)名称
        reporthook: 文件传输时的回调函数
        data: post提交到服务器的数据
    该方法返回一个二元元组("本地文件路径",<http.client.HTTPMessage对象>)
3.
def loading(blocknum, blocksize, totalsize):-----》回调函数可以查看当前下载的相关进度参数
    """
    回调函数: 数据传输时自动调用
    blocknum:已经传输的数据块数目
    blocksize:每个数据块字节
    totalsize:总字节
    """
4.仍然无法实现如下图所示的下载进度展示

在这里插入图片描述

9.对不带0x的十六进制数 排序

在这里插入图片描述

10.如何比较两个相同元素,不同顺序的列表是否相同

利用set() 分别对两个元素进行排序去重
然后直接利用== 比较即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值