老男孩python全栈s21day15作业

  1. sys.path.append("/root/mods")的作用?

    把路径/root/mods添加到python寻找模块的路径中
    
  2. 字符串如何进行反转?

    切片[::-1]
    
  3. 不用中间变量交换a和b的值。

    a = 1
    b = 2
    
    a,b = b,a
    
  4. *args和**kwargs这俩参数是什么意思?我们为什么要用它。

    分别传入多个位置参数和关键字参数,当不知道位置参数和关键字参数个数时可以使用者两个参数。
    
  5. 函数的参数传递是地址还是新值?

    地址
    
  6. 看代码写结果:

    my_dict = {
           'a':0,'b':1}
    def func(d):
        d['a'] = 1
        return d
    
    func(my_dict)
    my_dict['c'] = 2
    print(my_dict)
    #{'a':1,'b':1,'c':2}
    
  7. 什么是lambda表达式

    用于表示简单的函数。
    
  8. range和xrang有什么不同?

    range方法返回的是一个list对象,它需要开辟专门的空间保存序列中所有的元素。
    xrange方法返回的是xrange对象,它是一个序列对象,但并不保存序列中的元素,是一个生成器,不需要一上来就开辟一块很大的内存空间
    
  9. “1,2,3” 如何变成 [‘1’,‘2’,‘3’,]

    "1,2,3".split(',')
    
  10. [‘1’,‘2’,‘3’] 如何变成 [1,2,3]

    my_list = ['1','2','3']
    new_list = []
    for i in range(len(my_list)):
        new_list.append(int(my_list[i]))
    print(new_list)
    
  11. def f(a,b=[]) 这种写法有什么陷阱?

    函数入参传入可变类型会导致输出结果不符合预期
    
  12. 如何生成列表 [1,4,9,16,25,36,49,64,81,100] ,尽量用一行实现。

    my_list = [i*i for i in range(1,11)]
    
  13. python一行print出1~100偶数的列表, (列表推导式, filter均可)

    #列表推导式
    print([i for i in range(2,101,2)])
    
  14. 把下面函数改成lambda表达式形式

    def func():
        result = []
        for i in range(10):
            if i % 3 == 0:
                result.append(i)
        return result 
    
    lambda :[i for i in range(0,10,3)]
    
  15. 如何用Python删除一个文件?

    import os
    os.remove()
    
  16. 如何对一个文件进行重命名?

    import os
    os.rename('db','sb')
    
  17. python如何生成随机数?

    import random
    print(random.randint(0, 9))
    
  18. 从0-99这100个数中随机取出10个数,要求不能重复,可以自己设计数据结构。

    import random
    random_set = set()
    while len(random_set)<10:
        random_set.add(random.randint(0,100))
    print(random_set)
    
  19. 用Python实现 9*9 乘法表 (两种方式)

    #方法一
    for i in range(1,10):
        for j in range(1,i+1):
            print('%s*%s=%s   '%(j,i,i*j),end='')
        print()
    #方法二
    print('\n'.join(['\t'.join(["%2s*%2s=%2s"%(j,i,i*j) for j in range(1,i+1)]) for i in range(1,10)]))
    
        
    
  20. 请给出下面代码片段的输出并阐述涉及的python相关机制。

    def dict_updater(k,v,dic={
           }):
        dic[k] = v
        print(dic)
    dict_updater('one',1)
    dict_updater('two',2)
    dict_updater('three',3,{
           })
    
  21. 写一个装饰器出来。

    def func(arg):
        def inner():
            v = arg()
            return v 
        return inner 
    
  22. 用装饰器给一个方法增加打印的功能。

    def func(arg):
        def inner():
            print("123")
            v = arg()
            return v
        return inner
    
    @func
    def f():
        pass
    
    f()
    
  23. as 请写出log实现(主要功能是打印函数名)

    	@log  
    	def now():  
    	    print "2013-12-25"  
    	  
    	now()  
    
        # 输出  
    	# call now()  
    	# 2013-12-25
    
    def log(arg):
        def inner():
            print(arg)
            return arg()
        return inner
    @log
    def now():
        print("2013-12-25")
    
    now()
    
  24. 向指定地址发送请求,将获取到的值写入到文件中。

    import requests # 需要先安装requests模块:pip install requests 
    
    response = requests.get('https://www.luffycity.com/api/v1/course_sub/category/list/')
    print(response.text)
    
    # 获取结构中的所有name字段,使用逗号链接起来,并写入到 catelog.txt 文件中。
    """
    [
        {'id': 1, 'name': 'Python', 'hide': False, 'category': 1}, 
        {'id': 2, 'name': 'Linux运维', 'hide': False, 'category': 4}, 
        {'id': 4, 'name': 'Python进阶', 'hide': False, 'category': 1}, 
        {'id': 7, 'name': '开发工具', 'hide': False, 'category': 1}, 
        {'id': 9, 'name': 'Go语言', 'hide': False, 'category': 1},
        {'id': 10, 'name': '机器学习', 'hide': False, 'category': 3}, 
        {'id': 11, 'name': '技术生涯', 'hide': False, 'category': 1}
    ]
    """
    
    import requests # 需要先安装requests模块:pip install requests
    import json
    response = requests.get('https://www.luffycity.com/api/v1/course_sub/category/list/')
    # print(response.text)
    # print(type(response.text))
    v = json.loads(response.text)
    # print(v['data'][0])
    list_name = []
    for i in v['data']:
        list_name.append(i['name'])
    # print(','.join(list_name))
    with open('catelog.txt',mode='w',encoding='utf-8') as f:
        f.write(','.join(list_name))
    
  25. 请列举经常访问的技术网站和博客

  26. 请列举最近在关注的技术

  27. 请列举你认为不错的技术书籍和最近在看的书(不限于技术)

你可能感兴趣的:(python)