• 练习题汇总(一)


     1、

     1  #一行代码实现1-100的和  
     2 
     3 #Python
     4 s = sum(range(101))
     5 s = sum(i for i in range(101))
     6 
     7 
     8 #java(不是一行)
     9 
    10int s = 0;
    11for(int i =1 ;i<101;i++){
    12  s += i;
    13 }
    14 System.out.println(s);
    15   

    2、

    1 #Python标准库
    2 
    3 requests 
    4 BeautifulSoup 
    5 re 
    6 json 
    7 threading
    8 os
    9 flask

    3、

    1 #列表去重
    2 
    3 s = [1,2,3,2,3,3,7]
    4 print(list(set(s)))

    4、

     1 '''
     2 参数 args, kwargs
     3 
     4 args 代表 元祖
     5 kwargs 传入的字典 
     6 '''
     7 
     8 def arg(*args,**kwargs):
     9     return args,kwargs
    10 print(arg(1, 2, 3, a=1, b=3))
    11 
    12 #((1, 2, 3), {'a': 1, 'b': 3})

    5、

    1 '''
    2 一行代码将[[1,2],[3,4],[5,6]]展开,得出[1,2,3,4,5,6]
    3 '''
    4 a=[[1, 2], [3, 4], [5, 6]]
    5 print( [j for i in a for j in i])

    6、

    1 """
    2 进程是资源(CPU、内存等)分配的基本单位,它是程序执行时的一个实例。
    3 线程是程序执行时的最小单位,它是进程的一个执行流。
    4 进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段,这种操作非诚昂贵。
    5 【所以各个进程有自己的地址空间,彼此互相不打扰】
    6 线程是共享进程中的数据的,使用相同的地址空间,因此CPU切换一个线程的花费比进程要小很多,同时创建一个线程的开销也比进程要小很多。
    7 """

    7、

     1 """
     2 垃圾回收
     3 (1)引用计数
     4 import sys
     5 str1='hello world'
     6 print(sys.getrefcount(str1)) #在python解释器下运行,为2  创建一次,调用一次
     7 (2)分代计数
     8 Python默认定义了三代对象集合,索引数越大,对象存活时间越长
     9 Python中使用了某些启发式算法(heuristics)来加速垃圾回收。
    10 【例如,越晚创建的对象更有可能被回收。对象被创建之后,垃圾回收器会分配它们所属的代(generation)。每个对象都会被分配一个代,而被分配更年轻代的对象是优先被处理的。】
    11 (3)引用循环
    12 垃圾回收器会定时寻找这个循环,并将其回收。
    13 举个例子,假设有两个对象o1和o2,而且符合o1.x == o2和o2.x == o1这两个条件。如果o1和o2没有其他代码引用,那么它们就不应该继续存在。但它们的引用计数都是1。
    14 """

    8、

     1     a = [1, 2, 3, 4]
     2     b = [4, 3, 5, 6]
     3     # 求交集
     4     cj1 = [i for i in a if i in b]
     5     cj2 = list(set(a).intersection(set(b)))
     6     print(cj1)
     7     print(cj2)
     8     #求差集
     9     cj1 = list(set(a).difference(set(b)))
    10     cj2 = [i for i in a if i not in b]
    11     print(cj1)
    12     print(cj2)
    13     # 求并集
    14     cj1 = list(set(a).union(set(b)))
    15     cj2 = list(set([i for i in a+b]))
    16     print(cj1)
    17     print(cj2)

    9、

    1 """
    2 1.装饰器的原理及为什么要用装饰器
    3 2. 装饰器的基本用法
    4 3. 带参数的装饰器
    5 4. 被装饰的函数有返回值怎么处理
    6 5. 多个装饰器的执行顺序
    7 6. 装饰类的装饰器
    8 """
  • 相关阅读:
    宏任务、微任务
    类和模块
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
  • 原文地址:https://www.cnblogs.com/whycai/p/15982391.html
Copyright © 2020-2023  润新知