![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
谢大脚的好朋友
这个作者很懒,什么都没留下…
展开
-
练习41(随机数模块)
练习41# 随机数模块import random# 取随机小数# print(random.random()) # 从0到1# print(random.uniform(2,3)) # (n,m)# 取随机整数# print(random.randint(1,2)) # [1,2]# print(random.randrange(1,100)) # [1,2)# print(random.randrange(1,100,2)) # [1,2),步长2# 从一个列表中随机抽取#原创 2020-12-22 20:24:21 · 292 阅读 · 0 评论 -
练习40(时间模块)
练习40# 时间模块import time# 三种格式 # 时间戳时间 浮点数 以秒为单位 # 1970.1.1 0:0:0 英国伦敦时间 # 1970.1.1 8:0:0 东8区 # 结构化时间 元组 # # 格式化时间 srt数据类型的 '2018年9月4日 9时10分20秒'# print(time.time())# 1608626595.512983# struce_time = time.localtime()原创 2020-12-22 19:29:28 · 109 阅读 · 0 评论 -
练习39(构造方法和析构方法、序列化模块(json、pickle))
练习39# __new__# 在init之前,实例化对象的第一步是__new__创建了空间# class Foo:# def __init__(self): # 初始化方法# print('执行了init')# def __new__(cls, *args, **kwargs): # 构造方法# # object.__new__(cls)# print('执行了new')# return object.__原创 2020-12-22 16:11:37 · 116 阅读 · 0 评论 -
练习38(反射,内置方法)
练习38# 反射# 3w 1h# what 是什么 # 反射 使用字符串数据类型的变量名来获取这个变量的值# a = 1# b = 2# name = 'alex'# why 为什么 三个场景 # input # 用户输入得到如果是a,那么就打印1,如果输入的是b,就打印2,如果输入的是name,就打印alex # 文件 # 从文件中独出的字符串,想转换成变量的名字 # 网络 # 将网络传输的字符串转换成变量的名原创 2020-12-18 19:48:07 · 97 阅读 · 1 评论 -
练习37(issubclass和isinstance、classmethod和staticmethod)
练习37 # 圆形类 # bmi # 学生类# class Student:# def __init__(self,name):# self.__name = name# @property# def name(self):# return self.__name# @name.setter# def name(self,new):# if type(new) is str:#原创 2020-12-18 14:52:00 · 84 阅读 · 0 评论 -
练习36(多态、封装、property)
练习36# 什么是多态: Animal类表现出了Dog,Cat俩种形态# def func(name,age):# print(name,age)# func(1,2)# class Animal:pass# class Dog(Animal):pass# class Cat(Animal):pass## # 为什么要把多态单独列出来# class Aapplepay():# def pay(self):pass## def pay(self):pass原创 2020-12-18 09:12:56 · 95 阅读 · 0 评论 -
练习35(继承与继承的重用性、继承与派生、抽象类、多继承、新式类和经典类)
练习35# 面向对象的三大特性 # 继承 # 继承喝抽象 俩个概念 # 单继承 # 语法 : 父类 子类 # 继承与重用 # 子类可以使用父类中的名字(变量和方法) # 继承与派生 # 子类在父类的基础上又新创建了自己需要的方法和属性 # 父类有的子类没有 - 子类对象直接调用 就会直接执行父类的原创 2020-12-17 22:19:26 · 182 阅读 · 0 评论 -
练习35(组合)
练习35# 组合:给一个类的对象封装一个属性,这个属性是另一个类的对象class Gamerole: def __init__(self,nickname,ad,hp): self.nickname = nickname self.ad = ad self.hp = hp def attack(self,role): role.hp = role.hp - self.ad print('%s攻击%s,%s原创 2020-12-17 11:52:33 · 110 阅读 · 0 评论 -
练习34(类名称空间,对象名称空间)
练习34# 公用模板,公共框架class GameRole: rule = '游戏规则' def __init__(self, area, nickname, hp, ad): self.area = area self.nickname = nickname self.hp = hp self.ad = ad def attack(self): print('谁施展了一个攻击') de原创 2020-12-16 22:18:32 · 117 阅读 · 0 评论 -
练习33(面向对象的类名、对象的使用)
练习33# s1 = 'safsdfsdf'## def my_len(argv):# count = 0# for i in argv:# count += 1# return count## print(my_len(s1))# 结构上理解: 面向对象: 俩部分# class A:# name = 'alex' # 第一部分: 静态属性、静态变量、静态字段## def func1(self): # 第二部分:函数、动态属性、方法# pass# 函数原创 2020-12-16 21:19:24 · 91 阅读 · 0 评论 -
练习32(递归函数)
练习32# def func():# print(666)# func()## func()# RecursionError: maximum recursion depth exceeded while calling a Python object# 默认递归深度:998import sys# sys.setrecursionlimit(100000)n = 1def func(x): print(x) x += 1 func(x)fun原创 2020-12-16 10:54:35 · 79 阅读 · 0 评论 -
练习31(内置函数2)
练习31# 1.4.2和数据结构相关(24)## 列表和元祖(2)## list:将一个可迭代对象转化成列表(如果是字典,默认将key作为列表的元素)。## tuple:将一个可迭代对象转化成元祖(如果是字典,默认将key作为元祖的元素)# reversed:将一个序列翻转,并返回此翻转序列的迭代器。 *****## l1 = [1,3,4,2,6]# s1 = 'abcdefg'# dic = {'name':'alex','age':1000,'h原创 2020-12-16 10:20:05 · 91 阅读 · 0 评论 -
练习30(f-strings格式化输出)
练习29# name = '王barry'# age = 18# sex = '男'# msg1 = F'姓名:{name},性别:{sex},年龄:{age}'# msg2 = f'姓名:{name},性别:{sex},年龄:{age}'# print(msg1)# print(msg2)# print(f'{3*5}')## name = 'barry'# print(f'全部大写:{name.upper()}')# dic = {'name': '王barry', 'age原创 2020-12-15 20:49:43 · 99 阅读 · 0 评论 -
练习29(内置函数)
练习28'''len()range()min()max()input()print()id()type()int()list()str()set()next()tuple()iter()bool()dict()globals()dir()enmurate()locals()open()send()'''# 作用域相关 ******# globals() :返回一个字典:包含全部的全局变量。# locals() : 返回一个字典:包含的是当前作用域 所原创 2020-12-15 20:35:28 · 157 阅读 · 0 评论 -
练习28(列表推导式,生成器表达式)
练习28# l1 = []# for i in range(1,101):# l1.append(i)# print(l1)# 列表推导式: 一行代码几乎搞定你需要的任何的列表 # 循环模式 [变量(加工后的变量) for 变量 in iterable]# l = [ i for i in range(1,101)]# print(l)# l = ['python%s期' % i for i in range(1,16)]# print(l)# l = [i**2原创 2020-12-15 16:25:22 · 138 阅读 · 0 评论 -
练习27(生成器)
练习27# 生成器: 就是自用python代码写的迭代器,生成器的本质就是迭代器# l1 = [1,2,3]# iter1 = iter(l1)# 用以下俩种方式构建一个生成器:# 1. 通过生成器函数# 2. 生成器表达式# 生成器函数: # 函数# def func1(x):# x += 1# return x# func1(5) # 函数的执行命令,并接收函数的返回值# print(func1((5))) # 生成器函数:# def原创 2020-12-15 15:10:43 · 113 阅读 · 0 评论 -
练习26(迭代器,生成器)
练习26# 可迭代对象# 可迭代对象满足可迭代协议# for i in 'abc':# print(i)# for i in 123:# print(i) # 'int' object is not iterable# 对象内部含有__iter__方法就是可迭代对象# 可迭代对象: str list dict set tuple range()# s1 = 'strs'# print(dir(s1))# 判断一个对象是否是可且待对象:# 第一个方法# d原创 2020-12-15 12:43:47 · 102 阅读 · 0 评论 -
练习25(函数名运用,globals(),locals(),闭包)
练习25# def func():# print(666)# 1. 函数名就是函数的内存地址# print(func)# 2. 函数名可以作为变量# a = 2# b = a# c = b# print(c)# def func1():# print(666)# f1 = func1# f2 = f1# f2()# 3. 函数名可以作为函数的参数# def func1():# print(666)## def func2(x):#原创 2020-12-15 12:42:40 · 84 阅读 · 0 评论 -
练习24(函数的嵌套)
练习24# def func1():# print(111)# def func2():# print(222)# func1()# print(333)# print(666)# func2()# print(555)# 666 222 111 333 555# def func1():# print(222)# def func2():# print(333)# print(111)# f原创 2020-12-14 23:23:25 · 254 阅读 · 0 评论 -
练习23(名称空间,作用域,取值顺序)
练习23# a = 123# b = 456# name = 'alex'## def func1():# a1 = 'fdsjkf'# func1()# python中,名称空间分三种: # 全局名称空间 # 局部名称空间(临时) # 内置名称空间# 作用域 # 全局作用域 全局名称空间 内控名称空间 # 局部作用域 局部名称空间(临时)# 取值顺序: 就近原则 # 局部名称空间 --> 全局名称空间 --> 内置原创 2020-12-14 22:08:40 · 112 阅读 · 0 评论 -
练习22(函数 动态参数)
练习22# 你的函数,为了拓展,对于传入的实参数量不固定,万能参数,也叫动态参数# *args(位置参数),**kwargs(位置参数)# def sum1(*args,**kwargs): # 在函数的定义时,在 *位置参数,聚合。# # *argv 将所有实参的位置参数聚合到一个元组,并将这个元组赋值给args# print(args)# print(kwargs)## sum1(1,2,3,4,name='alex',age=1000)原创 2020-12-14 21:33:16 · 81 阅读 · 0 评论 -
练习21(函数的初识,返回值,参数)
练习21s = 'fjkdsfljsdklfjskdfdsfsdafsd'count = 0for i in s: count += 1print(count)#l = [1, 2, 3, 4]count = 0for i in l: count += 1print(count)# def 关键字 函数名:def my_len(): #函数体 l = [1, 2, 3, 4] count = 0 for i in l:原创 2020-12-14 19:35:40 · 142 阅读 · 0 评论 -
练习20(列表字典练习)
练习20list1 = [ {'name':'alex','hobby':'抽烟'}, {'name':'alex','hobby':'喝酒'}, {'name':'alex','hobby':'烫头'}, {'name':'alex','hobby':'Massage'}, {'name':'wusir','hobby':'喊麦'}, {'name':'wusir','hobby':'街舞'}]# list2 = [# {'name':'a原创 2020-12-14 12:42:26 · 123 阅读 · 0 评论 -
练习19(文件操作)
练习19# f = open('d:\联系方式.txt',encoding='utf-8',mode='r')# content = f.read()# print(content)# f.close()'''f, 变量f_obj,f_handler,f_h,fh,文件句柄。open() python的内置函数(内部调用的是windows的系统命令),1,打开文件,产生文件句柄。2,对文件句柄进行操作。3,关闭文件句柄。'''# 读# r 对于r模式 mode可以默认不写# f原创 2020-12-14 12:40:29 · 145 阅读 · 0 评论 -
练习18(购物车)
练习18goods = [{'name':'电脑','price':1999}, {'name':'鼠标','price':10}, {'name':'游艇','price':20}, {'name':'美女','price':998} ]shopping_car = {}while 1: money = input('请充值:').strip() if money.isdigit(): money原创 2020-12-13 19:05:33 · 117 阅读 · 1 评论 -
练习17(深浅copy)
练习17# 赋值运算l1 = [1,2,3]l2 = l1l1.append(666)print(l2)print(id(l1))print(id(l2))# 浅copyl1 = [1,2,3]l2 = l1.copy()l1.append(666)print(l2)l1 = [1,2,3,[22,]]l2 = l1.copy()#l1.append(666)#print(l1,l2)l1[-1].append('taibai')#print(l1,l2)prin原创 2020-12-13 14:24:50 · 104 阅读 · 0 评论 -
练习16(集合)
练习16set1 = {'alex', [1,2], 1,2,3}set1 = {'alex', 'wusir'}set2 = set({'alex', 'wusir'})print(set2)# 面试必考:list去重 *****l1 = [1,1,2,3,4,4,3,2,1,5,5]set1 = set(l1)l2 = list(set1)print(l2)t1 = {'alex','wusir','ritian','egon','barry'}# 增set1.add('女原创 2020-12-13 14:22:48 · 102 阅读 · 0 评论 -
练习15(基础数据类型补充)
练习15# 元组# 如果元组中只有一个数据,且没有逗号,则该 '元组' 与里面的数据的数据类型相同。tu1 = (1,)tu2 = ('alex')tu3 = ([1,2,3],)print(tu1,type(tu1))print(tu2,type(tu2))print(tu3,type(tu3))# 列表# 列表与列表可以相加l1 = [1,2,3]l2 = ['alex','wusir']l3 = l1 + l2print(l3)l1 = [11, 22, 33, 44原创 2020-12-13 14:21:11 · 86 阅读 · 0 评论 -
练习14(编码)
练习14# 一 代码块。 if True: print(333) print(666) while 1: a = 1 b = 2 print(a+b) for i in '12324354': print(i)# 虽然上面的缩进的内容都叫代码块,但是他不是python中严格定义的代码块。# python中真正意义的代码块是什么?# 一个模块,一个函数,一个类,一个文件等都是一个代码块。 def func():原创 2020-12-12 17:28:17 · 89 阅读 · 0 评论 -
练习13(字典的嵌套)
练习13dic = {'name_list': ['王双', 'alex', '孙飞', 'taibai'], 1: {'name': 'taibai', 'age': 18, 'sex': '男'}, (1, 2): [100, {'ip': '192.168.1.1', 'port': 3306}] }# 1,给 name_list对应的列表追加一个值: 司徒大人.print(dic['name_list'])dic['name_list'].appen原创 2020-12-12 14:31:43 · 132 阅读 · 0 评论 -
练习12(字典)
练习12 dic = {'太白':{'name': '太白','age': 25, 'sex': '男',}, 'name_list': ['王双','韩蕾','何青松',], } dic = {'name': '太白', 'age': 18, 'sex': '男', 'job': 'IT'}# 增# 第一种: 有此key就改,无此key就添加 dic['sex'] = '男' dic['name'] = 'alex' setdefault 有此key原创 2020-12-12 14:30:12 · 126 阅读 · 0 评论 -
练习11(range)
练习11# range 自定制的 数字范围的 可迭代对象 类比成列表range(1,101)print(range)# range() 一般和for循环结合使用.for i in range(1,11): print(i)for i in range(1,20,2): print(i)for i in range(1,101,2): print(i)for i in range(10,0,-1): print(i)l1 = ['alex','ale原创 2020-12-09 23:47:45 · 355 阅读 · 0 评论 -
练习10(元组)
练习10# 元组:只读列表,只允许查询,不允许增删改 tu1 = ('alex', 100, True, [1, 2, 3], {'name':'太白'},(22, 33))# 索引,切片,切片+步长 print(tu1[0]) print(tu1[:3])# # for 循环 for i in tu1: print(i)# index,len,count# 应用场景: 一些非常重要的数据,不允许所有人修改的,放在元组中。 tu1[3].append(666) tu1.ap原创 2020-12-09 23:24:38 · 346 阅读 · 0 评论 -
练习9(列表)
练习9# 列表:python基础数据类型之一:其他语言中也有列表的概念,js 数组,可索引,可切片,可加步长li = ['alex', 100, True, [1, 2, 3], {'name':'太白'},(22, 33)]s1 = '[1,2,3]'# 列表可以存储大量的数据32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。li = ['alex', 100, True, [1, 2, 3], {'name':'原创 2020-12-09 23:12:55 · 469 阅读 · 0 评论 -
练习8(for循环)
练习8s1 = 'fkdqe'# s1[0]# s1[1]# s1[2] ... s1[100] print(s1[10]) index = 0 while index < len(s1): print(s1[index]) index += 1 # 如果对一个数据类型进行循环,或者是一个有限次数的时候,往往要用到for for i in s1: # for 变量 in iterable(可迭代对象:多个元素组成的数据) print(i)for原创 2020-12-08 16:56:35 · 108 阅读 · 0 评论 -
练习7(str)
练习7# 对字符串的下面这两部分操作:形成的都是一个新的字符串,与原来的字符串没有关系。# 第一部分:索引切片步长。# 按照索引取值,取出来的都是一个字符,形成的字符串。# s1 = 'python1期骑士计划'# s2 = s1[0]# # print(s2,type(s2))# s3 = s1[2]# print(s3)# s4 = s1[4]# s5 = s1[-1]# # print(s4)# print(s5)# print(s1[-2])# 按切片取值,顾头不顾腚#原创 2020-12-08 16:36:22 · 177 阅读 · 0 评论 -
练习6(int,bool)
练习6# int# i = 4# print(i.bit_length()) # 查询十进制转化成二进制占用的最小位数 *'''十进制 二进制1 0000 00012 0000 00103 0000 00114 0000 0100....'''# bool# 数据类型之间的转化。 *****# int ---> str str(int) int原创 2020-12-08 10:00:29 · 118 阅读 · 0 评论 -
练习2(while作业)
练习2#使用while循环输出 1 2 3 4 5 6 8 9 10 num = 1 while num < 11: if num == 7: num += 1 print(num) num += 1# 求1-100的所有数的和(三种方法)# 第一种 num = 1 sum = 0 while num < 101: sum = sum + num num += 1 print(sum)# 第二种 wh原创 2020-12-02 14:06:58 · 210 阅读 · 1 评论 -
练习5(编码)
练习5编码初识 太白: 今晚吃鸡! 今:0101 0001 晚:0101 1101 吃:0101 0001 鸡:0111 1100 0101010 1110101 00000 01011 上面的不合理,应该断位, 01010001 01011101 01010001 01111100 王* 断位, 要有一个密码本:记录的明文与二进制的对应关系。 ASCII: 最初版本的密码本:所有的英文字母,数字,原创 2020-11-30 13:27:42 · 107 阅读 · 0 评论 -
练习4(运算符)
练习4# and or not# 优先级:()> not > and > or# 第一种情况,前后条件为比较运算print(1 < 2 or 3 > 1)print(1 < 2 and 3 > 4)print(1 < 2 and 3 > 4 or 8 < 6 and 9 > 5 or 7 > 2)print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8原创 2020-11-30 09:22:51 · 147 阅读 · 0 评论