
Python基础
谁动了我的数据库!
bug与你同在
展开
-
文件操作
#打开文件 open #参数encoding指定文件编码 fobj=open(’./Test.txt’,‘w’,encoding=‘utf-8’)#参数’w’如果没有这个文件就创建一个 # ,如果存在就覆盖 #开始读写操作 fobj.write(‘羌笛何须怨杨柳,’)#写入操作 fobj.write(‘春风不度玉门关。’) fobj.close()#关闭这个对象 #以二进制的形式去写数据 fobj=open(‘Test.txt’,‘wb’)#str–>bytes fobj.write(‘羌笛何须怨杨柳原创 2021-03-10 15:10:55 · 293 阅读 · 0 评论 -
内存优化
a=10000 b=10000 print(id(a)) print(id(b)) del a,b #删除a,b对象 c=10000 print(id©) #大整数池和小整数池的区别是: 1从结果来看是一样的 2大整数池是没有提前的创建好对象,是个空池子,需要我们自己去创建 创建好之后,会把整数对象保存到池子里面,后面都不需要再创建了直接拿来使用 小整数池是提前将[-5,256]的数据都提前创建好 ...原创 2021-03-07 18:37:00 · 226 阅读 · 0 评论 -
垃圾回收
import sys #调用计数模块 import psutil import os import gc #垃圾回收模块 print(gc.get_threshold())#gc垃圾回收阈值 def showMenSize(tag): pid=os.getpid() p=psutil.Process(pid) info=p.memory_full_info() memory=info.uss/1024/1024 print(’{} memory used:{} MB’.format(tag,memory))原创 2021-03-08 14:14:15 · 231 阅读 · 0 评论 -
def
def a(): print(‘a’) #函数代码块 print(‘b’) print(‘c’) pass a() #函数调用 def admin(name,password,id,aa): #参数定义 print(’%s的名字密码%f’%(name,password)) print(’%s的名字id是%f’%(name,id))pi pass admin(‘admin’,123,1,‘dd’) #参数赋值 有参数必须赋值 def sum(a,b): #形式参数 只是意义上的一种参数,在定义的时候是不占内存原创 2021-03-06 17:09:27 · 456 阅读 · 0 评论 -
组
a=‘abcd’ print(‘打印第一个字符%s’%a[0]) for i in a: print(i,end=’ ') a=’ name ’ print(a) print(a.strip())#去除空格 print(a.lstrip())#去除左边空格 print(a.rstrip())#去除右边空格 a=‘name’ b=a print(‘a的内存地址%d’%id(a))#id函数可查看一个对象的内存地址 print(‘b的内存地址%d’%id(b)) a =‘abcd’ print(a.fi原创 2021-03-08 14:14:27 · 275 阅读 · 0 评论 -
字典
a={1:‘a’,2:‘b’} print(type(a))#字典类型 <class ‘dict’> a[‘name’]=‘a’#key:value print(a) print(len(a))#获取长度 print(a[1])#通过键获取值 a[1]=‘bb’ #修改指定键的值 print(a) print(a.keys())#获取键 print(a.values())#获取值 print(a.items())#获取所有的项的键值 for key,value in a.items(): pri原创 2021-03-08 14:14:36 · 217 阅读 · 0 评论 -
元组
#元组不可修改的组 a=(1,2,3,4,[1,2]) #print(type(a))#<class ‘tuple’> 元组 for i in a: print(a,end=’ ') print(a[1:3]) #取值 print(a[::-2]) #去反向间隔为2的值 a=(1,)#这是一个元组 a=(1)#这不元组原创 2021-03-10 15:12:42 · 335 阅读 · 0 评论 -
属性
属性:类属性和实例属性 #类属性就是类对象所拥有的属性 class admin: name=‘admin’ #属于类属性 就是admin类对象所拥有的的属性 def init(self,age): self.age=age #实例属性 pass pass a=admin(22) admin.name=‘root’#通过类对象去修改数据 print(a.name) print(a.age) print(‘通过类对象admin 访问name___’) print(admin.name) #类属性是可以被类对象和原创 2021-03-10 15:12:55 · 304 阅读 · 0 评论 -
匿名
#匿名函数 #语法 lambda 参数1,参数2,参数3,:表达式 #特点 #使用lambda关键字去创建 #没有名字的函数 #匿名函数冒号后面的表达式有且只有一个 #匿名函数自带return,而这个return的结果就是表达式计算后的结果 #lambda缺点 #lambda只能是单个表达式 #只能封装有限的逻辑,复杂必须使用def def sum(x,y): return x+y print(sum(1,2)) sum=lambda x,y:x+y #通过变量调用匿名函数 print(sum(1,2))原创 2021-03-10 15:13:07 · 476 阅读 · 0 评论 -
继承
class admin: def chi(self): print(‘chi’) pass def he(self): print(‘he’) pass pass class dog(admin):#继承父类admin的属性 def name(self): print(‘dog’) pass pass # 他需要: # 把内容封装到某个地方 # 从另外一个地方去调用被封装的内容 # 对于封装来说其实就是使用初始化构造方法将内容封装到对象中,然后通过对象直接或者self来 # 获取被封装的内容 class原创 2021-03-10 15:13:59 · 184 阅读 · 0 评论 -
函数
#内置函数 #abs取绝对值 print(abs(15)) #round取近似的值 print(round(1.7)) #,后是保留小数的位 print(round(3.1415,2)) #pow求次方 print(pow(3,3)) print(3**3) #max返回最大值 print(max([1,2,3,4,5])) #sum使用 print(sum(range(10),2)) #eval 执行表达式 a,b,c=1,2,3 print(‘动态执行的函数%d’%eval(‘a+b+c’)) #类型转原创 2021-03-06 17:11:17 · 777 阅读 · 0 评论 -
多态
多态:顾名思义就是多种状态、形态,就是同一种行为 对于不同的子类[对象] 有不同的行为表现 要想实现多态必须的有两个前提需要遵守: 1、继承:多态必须发生在父类和子类之间 2、重写:子类重写父类的方法 class Animal: def say_who(self): print(’******’) pass pass class Duck(Animal): def say_who(self): print(‘aaaaaa’) pass pass class Dog(Animal): def say_who(原创 2021-03-06 17:11:07 · 230 阅读 · 0 评论 -
list
a=[1,2,3,‘aaa’] print(len(a))#可以获取列表中的数据个数 print(type(a))#判断是否是list列表 a=[1,2,3,[‘aa’,‘bb’],4] print(a*2)#输出两次表中数据 print(a[1:4]) a.append([‘cc’,‘dd’])#追加 print(a) a.insert(1,‘a’)#制定位置追加 print(a) b=list(range(10))#强制转换为list对象 a.extend(b) #extend批量添加 print(a)原创 2021-03-06 17:10:55 · 231 阅读 · 0 评论 -
init_方法
init_方法:初始化一个类,在创建实例对象为其赋值时使用。 _str_方法:在将对象转换成字符串str(对象) 测试的时候,打印对象的信息。 class Cat: “”“定义一个猫类”"" def init(self, name, age): self.name = name self.age = age print(‘init函数执行’) pass def str(self): # return “名字是:%s , 年龄是:%d” % (self.name, self.age) pass def new原创 2021-03-06 17:10:36 · 9178 阅读 · 0 评论 -
if
import random #直接导入产生随机数的模块 person=int(input(“0,1,2”)) computer=random.randint(0,2) #指定一个0到2的随机数 if person0 and computer1: print(‘yes’) pass #空代码句 elif person1 and computer2: print(‘yes’) pass elif person2 and computer0: print (‘yes’) pass elif person==com原创 2021-03-06 17:10:28 · 201 阅读 · 0 评论 -
for
range 此函数可以生成一个数据集合列表 range(起始:结束:步长)步 长不能为0 sum=1 for data in range(0,101): sum+=data pass print(“sum=%d”%sum) break和cont inue break 代表中断结束 #满足条件直接的结束本层循环 continue :结束本次循环,继续的进行下次循环(当continue的条件满足的时候 本次循环剩下的语句将不在执行 #后面的循环继续) #这两个关键字只能用在循环中 sum =0 for i in原创 2021-03-06 17:10:17 · 272 阅读 · 0 评论 -
del
class admin: def init(self,name): self.name=name print (‘初始化方法’) pass def del(self): print(‘析构方法’) print(‘当在某个作用域下面没有被使用[引用]的情况下解析器会自动的调用此函数来释放内存空间’) print(’%s这个对象内存被释放’%self.name) pass pass cat =admin(‘tom’) del cat #手动释放这个对象 input(‘程序等待中…’) bob = admin(‘原创 2021-03-06 17:09:44 · 237 阅读 · 0 评论 -
__new__def
class Color: def init(self): self.color=‘红色’ pass # 在python当中e如果不重写__new__默认结构如下 def __new__(cls, *args, **kwargs): return super.__new__(cls, *args, **kwargs) #return object.__new__(cls, *args, **kwargs) pass c=Color()#实例化的过程会自动调用__new__ 去 创建实例 c.原创 2021-03-06 17:08:13 · 259 阅读 · 0 评论