zoukankan      html  css  js  c++  java
  • Python测试(二)

    # 1.计算1-300之间所有能被3和7整除的所有数之和
    # num = 0
    # for i in range(1,300):
    # if i%3 ==0 and i%7 ==0:
    # num += i
    # print(num)
    ##############################################################################################################
    # 2. 定义函数统计一个字符串中大写字母, 小写字母, 数字的个数, 并返回结果
    # def cal(anystr): #定义函数的接收值
    # big_write = 0 #大写初始值为0
    # small_write = 0 #小写初始值为0
    # num = 0 #数字初始值为0
    # for i in anystr: #遍历循环i
    # if i.isupper(): #判断大写方法
    # big_write +=1 #计数并加1
    # if i.islower(): #判断小写方法
    # small_write +=1 #计数并加1
    # if i.isdigit(): #判断数字方法
    # num +=1 #计数并加1
    # #else:
    # # print('抱歉,我不认识')
    # #return
    # print('大写的字母是:%s 个'%big_write) #输出
    # print('小写的字母是:%s 个' %small_write) #输出
    # print('数字是:%s 个' %num) #输出
    # cal(input()) #input()本身会被python转换为字符串,所有可以输入
    # #为什么不能再for循环后面加else和return?
    # #当是小写或数字的时候,依然会遍历,遍历的值传给了else,所以直接执行了return
    ##############################################################################################################
    # 3.获取两个列表 i1=[11,22,33],i2=[22,33,44]中相同的元素集合
    # i1 = [11,22,33]#创建列表i1
    # i2 = [22,33,44]#创建列表i2
    # set_i1 = set(i1)#创建集合set_i1
    # set_i2 = set(i2)#创建集合set_i2
    # set_i1_i2 = set_i1&set_i2# & 求交集
    # print(set_i1_i2)
    ##############################################################################################################
    # 4.将字符串 "老男人" 转换成utf-8编码的字节类型
    # str1 = '老男人'
    # str2 = str1.encode(encoding='UTF-8')
    # print(str2)
    ##############################################################################################################
    # 5.如何计算数字绝对值
    # num = -15647615 #创建数字类型
    # num_abs = abs(num) #abs方法转换为绝对值
    # print(num_abs) #输出
    ##############################################################################################################
    # 6.简述深浅拷贝原理
    # 浅拷贝:针对简单的数据类型可以进行浅拷贝,因为浅拷贝指copy数据类型的第一层,公用原copy的数据的内存地址,
    # 对于复杂的数据类型,如嵌套等不适合用
    # 深拷贝:完全复制一套全新的数据(同时赋予新数据新的内存地址)
    ##############################################################################################################
    # 7.举例布尔值为False的值
    # 数字类型为0、数据类型判断为空、None的布尔值都是False
    ##############################################################################################################
    # 8.内置函数all和any的区别
    # 内置函数:all():
    """
    Return True if bool(x) is True for any x in the iterable.
    如果传入的可迭代对象的任何值为真,则返回值为真;如果为空则为假【每个值都为真才为真】
    If the iterable is empty, return False.
    """
    # 内置函数:any():
    #
    # Return True if bool(x) is True for any x in the iterable.
    # 如果传入的可迭代对象的任何值为真,则返回值为真;如果为空则为假【任何一个值都为真就为真,全部为假才是假】
    # If the iterable is empty, return False.
    ##############################################################################################################
    # 9.利用内置函数将十进制数字12,分别转换成二进制,八进制,十六进制表示的字符串
    # num = 12
    # print(bin(num)) #bin()十进制转换为二进制
    # 0b1100
    # print(oct(num)) #oct()十进制转换为八进制
    # 0o14
    # print(hex(num)) #hex()十进制转换为十六进制
    # 0xc
    ##############################################################################################################
    # 10.简述内置函数dir,help,type作用
    # 内置函数dir :查看某一个指定对象的内置方法有哪些
    # 内置函数help:查看某一个指定类的类库详情
    # 内置函数type:查看某一个对象的类型(type本身就是所有类的母类)
    ##############################################################################################################
    # 11.简述内置函数globals(),locals()作用
    # 内置函数globals:获取当前代码下的所有的全局变量
    # 内置函数locals:获取当前代码下的所有的局部变量
    ##############################################################################################################
    # 12.简述三元运算书写格式
    # 结果为真时输出 if+条件 else 结果为假时输出
    # print(1 if 5<3 else 2)
    # print('条件为真时输出我'if 1<2 else '条件为假时输出我')
    ##############################################################################################################
    # 13.简述lambda表达式
    # lambda:匿名函数,使用场景一般用于简单函数,或者在只是用一次的环境下,不需要花费时间重新定义函数的情况下
    # a = [1,2,3,4,5]
    # print(list(map(lambda b:b**2,a)))
    # [1, 4, 9, 16, 25]
    #一般用法:变量名 = lambda 变量(可多个):算式(简单算式)
    #################################################################################################################
    # 14.利用内置函数zip(),实现功能
    # l1=["alex",22,33,44,55]
    # l2=["is",22,33,44,55]
    # l3=["good",22,33,44,55]
    # l4=["guy",22,33,44,55]
    # 请获取字符串s="alex_is_good_guy"
    # l = list(zip(l1,l2,l3,l4))
    # l_1 = l[0]
    # l_2 = '_'.join(l_1)
    # print(l_2)
    # alex_is_good_guy
    # print('_'.join(list(zip(l1,l2,l3,l4))[0]))
    #################################################################################################################
    # 15.简述文件打开模式,r和rb的区别
    # r :read()返回的数据类型是str型
    # rb:readbytes()返回的数据类型是bytes
    #################################################################################################################
    # 16.文件操作时with的作用
    # 文件操作的with会在python中自动调用close()方法,使代码更简洁
    #################################################################################################################
    # 17.利用with实现同时打开两个文件(一读一写)
    # with open('test.txt','r',encoding='utf-8') as f2 ,open('test.log','w',encoding='utf-8') as f1:
    # r2 = f2.read()
    # print(r2)
    # f1.write('pandaboy')
    #################################################################################################################
    # 18.函数默认返回值是什么
    # None
    #################################################################################################################
    # 19.简述函数的普通参数,指定参数,默认参数,动态参数的特点以及注意事项
    # 函数的普通参数:严格按照顺序,将实际的参数数值赋值给形式参数
    # 函数的指定参数:指定参数和默认参数(关键字参数):默认参数必须放在参数列表的最后,指定参数将实际的参数赋值给制定的形式参数
    # 函数的动态参数(可变参数):允许用户输入的信息是不同的数据类型,可以是列表、字典、元祖等(*args,**kwargs)
    #################################################################################################################
    # 20.通过字符串格式化将7.88123输出时仅保留小数点后两位,列如:bala7.88bala
    # str1 = 134351.5432132
    # deal = '{0:.2f}'.format(str1)
    # print(deal)
    #################################################################################################################
    # 21.判断以下字符串格式化是否正确,如果不正确请改正
    # tpl1 = "i am{name},age{age},really{name}".format(name = "seven",age = 18)--->正确
    # tpl2 = "i am{0},age{1}".format(["seven",18])
    # |
    # |
    # tpl2 = "i am{0},age{1}".format("seven",18)
    #################################################################################################################
    # 22.python有几种导入模块的方式
    # 常规导入:1---import sys
    # 2---import sys as syss
    # 使用from语句导入
    # 相对导入
    # 可选导入
    # 局部导入
    #################################################################################################################
    # 23.分页,如果有192个商品,每页显示10个商品,问共需要几页
    # import math
    # shop_item = 192
    # page_item = 10
    # page = shop_item/page_item
    # print(math.ceil(page))#向上取整数
    #################################################################################################################
    # 24.函数传递参数时,是引用还是复制值?
    # python不允许程序员选择采用传值还是传引用。Python参数传递采用的肯定是“传对象引用”的方式。
    # 这种方式相当于传值和传引用的一种综合。
    # 如果函数收到的是一个可变对象(比如字典或者列表)的引用,
    # 就能修改对象的原始值--相当于通过“传引用”来传递对象。
    # 如果函数收到的是一个不可变对象(比如数字、字符或者元组)的引用,就不能直接修改原始对象--相当于通过“传值'来传递对象。
    #################################################################################################################
    # 25.python3中的range函数和python2.7中的range函数有什么区别?
    # range的返回值不同。
    # python2.7的range函数返回的是一个列表值
    # python3的range函数返回的是一个可迭代对象
    #################################################################################################################
    # 26.python中导入模块时,如何搜索路径?
    # import语句导入指定的模块时会执行三个步骤
    # 1.在指定路径下搜索模块文件,找到模块文件
    # 2.指定的模块在被导入时就会被编译成字节码,即编译成.pyc文件
    # 3.依靠模块的代码中的定义来创建其所定义的对象,模块文件中的所有语句会依次执行,
    # 从头至尾,而此步骤中任何对变量名的赋值运算,都会产生所得到的模块文件的属性
    # 但是请注意:模块只在第一次导入时才会执行如上步骤,后续的导入操作只不过是提取内存中已加载的模块对象
    # 可以使用reload()命令重新加载指定的模块
    #################################################################################################################
    # 27.sys.argv的作用
    # import sys
    # print(sys.argv)
    # 返回一个列表值,列表中的内容为当前文件的绝对路径
    #################################################################################################################
    # 28.如何获取一个路径的上级目录的路径
    # import os
    # abspath = os.getcwd()
    # # path = os.path.abspath(os.path.join(os.path.dirname(abspath),os.path.pardir))
    # path1 = os.path.abspath(os.path.dirname(abspath))
    # # print(abspath)
    # # print(path)
    # print(path1)
    #################################################################################################################
    # # 29.请将下三个路径按照a,b,c的顺序拼接起来
    # a= "/users/sever"
    # b = "lib"
    # c = "bin"
    # import os
    # d = os.path.join(a,b,c)
    # print(d)
    #################################################################################################################
    # 30,简述获取一个随机字母的思路
    # 思路1:直接利用ascII值获取随机数
    # 1.random获取随机整数
    # 2.ASCII的字母值分别为97-122,65-90
    # 3.循环随机取两个范围中的一个值
    import random,string
    num1 = random.randint(97,122)
    num2 = random.randint(65,90)
    for i in random.sample([num1,num2],1):print(chr(i))
    # 思路二:内置方法
    print(random.choice(string.ascii_letters))
    Win a contest, win a challenge
  • 相关阅读:
    springmvc源码学习
    springboot启动原理解析
    spring源码学习五
    mybatis源码学习(三)-一级缓存二级缓存
    mybatis源码学习(二)--mybatis+spring源码学习
    mybatis源码学习(一) 原生mybatis源码学习
    spring源码学习(四)-spring生命周期用到的后置处理器
    redis安装(centos 7)
    Centos 7 学习笔记
    Mysql 查看及设置事物隔离级别
  • 原文地址:https://www.cnblogs.com/pandaboy1123/p/8569662.html
Copyright © 2011-2022 走看看