
python基础版
桑之未落0208
努力学习数据挖掘的大学生
展开
-
包(package)的使用
关于包的相关知识1.包是一个必须带有__init__.py的文件夹,下面可以包含模块,也可以包含子包2.导入包的实质就是执行了__init__.py文件3.init.py三个核心作用:(1)作为包的标识,不可删除(2)用来实现模糊导入(3)可在__init__.py文件中做这个包的初始化,以及需要统一执行代码、已经批量导入4.用*导入包在__init__.py中定义__all__=[‘模块一’,‘模块二’]这样import *时就意味着导入以上两个模块导入包的几种方法 - #导入包.原创 2022-04-19 17:59:17 · 1173 阅读 · 0 评论 -
在命令提示符中进入交互模式出现警告
问题:命令提示符输入python时出现:This Python interpreter is in aconda environment, but the environm ent has not been activated解决办法就是:1.进入命令提示符,输入conda info --envs会出现# conda environments:#base * D:\anaconda32.输入conda activate 加上上面*后面的内容(我的是...原创 2022-03-19 15:53:17 · 875 阅读 · 0 评论 -
python中turtle库
turtle原创 2022-03-21 23:31:47 · 1687 阅读 · 0 评论 -
字符串相关知识
如果字符串里面有单(双)引号,外面就用双(单)引号三引号可创建多行字符串ord()字符串转为Unicode码chr十进制转为字符len计算字符串的长度转义字符:\\打出“\” \n换行 \t 跳到下一个制表位 \续行符 续行符print(“aaaaaaa\ ...原创 2022-03-26 10:47:00 · 125 阅读 · 0 评论 -
列表和元组相关知识
列表list():增加元素:a.append(指定元素)速度最快、a+指定列表(创建新的对象)、a.extend(指定元素)(不创建新的对象) 删除元素(涉及元素的拷贝):del a[索引]、a.pop(索引)删除并返回指定位置元素,若未指定位置则默认返回最后一个元素、a.remove(指定元素)删除首次出现的元素 访问元素:a[索引号]、a.index(指定元素,起始范围,终止范围) 插入元素(涉及元素的拷贝):insert(插入的位置,插入的元素) 计数:a.count(指定元素) 排序:原创 2022-03-28 17:44:17 · 523 阅读 · 0 评论 -
字典和集合
字典dict()键值对:键不可重复字典的创建:通过{键:值,键:值……} 通过dict(键=值,键=值……) 通过[(键,值),(键,值)……] 通过zip内置函数:p=[键,键,键……] q=[值,值,值……] dict(zip(p,q)) 通过fromkeys创建值为空的字典 dict.fromkeys([键,键,键……])字典的访问:通过键获得值,如果键不存在则抛异常 通过get()方法获得值,...原创 2022-04-02 15:25:58 · 231 阅读 · 0 评论 -
continue和break区别
#break的示例,结束整个循环while True: a= input('请输入一个字符:(输入Q或者q时退出)') if a=='Q' or a=='q': break else: print(a)#continue的示例,结束当前循环,继续下一次循环i=1 while i<11:if i%2==1:print(i)i+=1else:i+=1continueps:for、while循环可以自带一个else,如果原创 2022-04-08 16:59:16 · 70 阅读 · 0 评论 -
推导式创建序列
#列表生成式print([x for x in range(1,5)])print([x*2 for x in range(1,5)])cells=[(row,col) for row in range(1,5) for col in range(1,5)]print(cells)#字典生成式my_test='i love you, i love cyx, i love family'char_count={c:my_test.count(c) for c in my_test}pri.原创 2022-04-08 17:01:35 · 85 阅读 · 0 评论 -
函数(形参与实参)
def printMax(a,b): ''' 函数的注释,用于比较两个数的大小,打印较大的值 :param a: :param b: :return: ''' if a>b: print(a,'较大值') else: print(b,'较大值')printMax(10,20)printMax(70,20)help(printMax.__doc__) #查看函数的注释#测试返回值def a.原创 2022-04-08 17:03:19 · 85 阅读 · 0 评论 -
参数的传递
参数传递主要分为可变对象和不可变对象可变对象:参数传递时不需要重新创建新的对象a=[1,2,3,4]def test01(m): print(id(m)) m.append(5) print(id(m)) #id不变,未创建新对象test01(a)不可变对象:参数传递时需要重新创建新的对象b=200def test02(n): print(id(n)) n=n+200 print(id(n)) #id变化了test02(b) ...原创 2022-04-10 16:03:24 · 215 阅读 · 0 评论 -
浅拷贝和深拷贝
浅拷贝——仅仅拷贝对象本身,而不拷贝其子对象import copydef testCopy(): a=[100,200,[1,2,3]] b=copy.copy(a) b.append(300) b[2][2]=200 print(a) #[100, 200, [1, 2, 200]] print(b) #[100, 200, [1, 2, 200],300]testCopy()示意图:深拷贝——拷贝对象本身和其子对象import copydef testDee.原创 2022-04-10 16:47:15 · 85 阅读 · 0 评论 -
全局变量和局部变量
全局变量和局部变量函数内使用global可以改变全局变量的值全局变量在函数外,可以在函数内外使用局部变量在函数内,只能在函数内使用a=100def test01(): print(a) #全局变量 b=200 #局部变量 print(b) a=300 print(a) ''' global a 调用函数后打印a时a变为400 a=400 '''test01()print(a)函数内使用locals()可以打印出局部变量使用globals()可以打印出全局.原创 2022-04-10 16:53:37 · 82 阅读 · 0 评论 -
lambda和eval()
lambda表达式l1=lambda a,b,c:a+b+c#a,b,c为输入值,a+b+c为返回值l2=[lambda a:a*2,lambda b:b*2,lambda c:c*3]print(l2[0](1),l2[1][3],l3[2][4])eval()函数# a=print('python') eval("a") #pythona=10b=20c=eval("a+b")print(c) #30dict1=dict(a=100,b=200)d=e.原创 2022-04-10 22:45:45 · 190 阅读 · 0 评论 -
global和nonlocal
嵌套函数一层函数套着一层函数def s1(): print('外层函数') def s2(): print('内层函数') s2() s1()global和nonlocal对于全局变量来说,要想在函数内改变全局变量的值,需要用global申明对于嵌套函数,如果想要改变外层函数的局部变量,需要用nonlocal申明a=100def s1(): b=200 def s2(): nonlocal b b=300 #修改了局部变量b print(b) gl.原创 2022-04-13 12:02:35 · 99 阅读 · 0 评论 -
类属性和实例属性、类方法和静态方法
类属性——直属于类下面的,代表无论有多少对象,对象的属性都一样class Student: school='清华大学'实例属性——只有建立了对象,实例属性才会存在,在建立对象是也会传入实参,即传入self后的形参对应的实参。class Student: def __init__(self,name,score): self.name=name #self.name为实例属性name为形参 self.score=scores1=Student('张三',100)print(s.原创 2022-04-13 15:43:04 · 334 阅读 · 0 评论 -
__del__方法和__call__方法
__del__方法,也叫析构方法。当对象没有被引用时,垃圾回收器就会调用__del__方法来销毁对象class Student: def __del__(self): print('{}被销毁'.format(self))s1=Student()s2=Student()del s2print('程序结束')运行结果:<main.Student object at 0x0000029A6D69A760>被销毁程序结束<main.Student object at.原创 2022-04-13 16:10:15 · 107 阅读 · 0 评论 -
python中方法的相关知识
python中方法没有重载:即若方法重名,则使用最后一个方法class Student: def say_age(self,age): print('我的年龄是{}'.format(age)) #第一个方法失效 def say_age(self,name,age): print('{}的年龄是{}'.format(name,age))s1=Student()#print(s1.say_age(18)) 所以少传了一个参数print(s1.say.原创 2022-04-13 17:37:25 · 527 阅读 · 0 评论 -
私有属性和私有方法
私有属性:类内部所私有的,外部无法直接调用,但是在类内部可以随便调用。一般在属性前面加两个下划线__class Employee: __company="百战" def __init__(self,name,age): self.name=name self.__age=age #age变为私有属性 def work(self): print('年龄是{}'.format(self.__age)) #内部随意调用e1=Employee('严',18)print(dir(e1)) #原创 2022-04-13 20:40:05 · 199 阅读 · 0 评论 -
@property和setter
@property装饰器是将方法可以像属性一样被调用作为程序设计员,要考虑到用户输入不合理的数据时会提醒错误普通程序,使用set和get来判断数据的合理性class Student: def __init__(self,age): self.__age=age def get_age(self): return self.__age def set_age(self,age): if age>0: self.__age=age else: print('输入原创 2022-04-14 16:06:44 · 331 阅读 · 0 评论 -
面向对象的三大特征:继承、封装、多态
继承:子类继承父类的属性和方法,如果没有指定父类,则默认父类为 object类封装:调用父类方法,但是不知道内部细节class Student: def __init__(self,name,age): self.name=name self.__age=age def say_age(self): print('{}的年纪是{}'.format(self.name,self.__age))class Student1(Student): def __init__(self,.原创 2022-04-14 17:33:33 · 202 阅读 · 0 评论 -
面向对象相关小知识合集
重写object的__str__()class Person: #默认继承object类 def __init__(self,name,age): self.name=name self.age=age def __str__(self): #重写__str__() return "名字是:{}".format(self.name)p=Person('单单',18)print(p)运行结果:名字是:单单没有重写前运行结果.原创 2022-04-14 17:52:21 · 183 阅读 · 0 评论 -
特殊的属性
对象:dir() 用于查看对象存在的所有属性__dict__用于查看定义的属性字典__class__用于查看对象所属类类__base__用于查看类的基类,即上一级继承的类__bases__用于查看类的所有基类(多继承中)mro()用于查看类的继承顺序__subclasses__用于查看类的子类class A: passclass B: passclass C(B,A): def __init__(self,name): self.name=n原创 2022-04-15 11:14:47 · 87 阅读 · 0 评论 -
组合和继承
继承(“is a”关系):子类继承父类,拥有父类的属性和方法class A: def say_a(self): print('aaaaaaaaaaaaaaaaaa')class B(A): passb1=B()b1.say_a()运行结果:aaaaaaaaaaaaaaaaaa组合(“has a”关系):一个类可以拥有另外一个无关类的方法class A: def say_a(self): print('aaaaaaaaaaaaaaaaaa')class B: def.原创 2022-04-15 11:33:53 · 72 阅读 · 0 评论 -
设计模式——工厂设计模式和单例模式(多看多想)
工厂设计模式:不直接向客户端暴露对象创建实现的细节,而是通过工厂类来负责创建产品类的实例。class CarFactory: def creat_car(self,brand): if brand=="宝马": return BMW elif brand=="奔驰": return Benz elif brand=="比亚迪": return BYD else: return "未知品牌,不予制造"class BMW: passclass Benz: .原创 2022-04-15 12:03:20 · 182 阅读 · 0 评论 -
异常的几种结构
try-except结构:跳过try中异常后的代码块(即不执行)try:有可能有异常的代码块except BaseException [as a]:异常处理语句块try: a=float(input('请输入一个除数')) b=float(input('请输入一个被除数')) c=b/a print(c)except BaseException as m: print(m)try-多个except结构:如果出现多种异常,则需要按照先子类后父类的顺序...原创 2022-04-17 11:27:39 · 237 阅读 · 0 评论 -
自定义异常
通常继承Exception,由raise语句抛出,命名一般以Error、Exception为后缀class AgeError(Exception): #继承Exception def __init__(self,errorInfo): Exception.__init__(self) #调用父类构造器 self.errorInfo=errorInfo def __str__(self): #打印错误信息 return "年龄错误"#测试代码if __name__=='__ma原创 2022-04-17 12:01:21 · 232 阅读 · 0 评论 -
测试调试、断点
1.step over:若当前执行的是一个函数,则会把这个函数当作一个整体一步执行完,不会进入这个函数内部2.step into:进入函数内部,一步步执行3.step out:当单步执行到子函数内时,用此可以执行完子函数余下的部分,并返回上一层函数4.run to cursor运行到光标处...原创 2022-04-17 12:05:46 · 90 阅读 · 0 评论 -
文件的创建和读写
使用open()来创建文件步骤:(1)创建文件对象: open(文件名[,打开方式])(2)写入数据: 文件名.write()(3)关闭文件对象: 文件名.close()打开方式:r–read模式“读”w–write模式“写”(若文件不存在则创建,若存在则重新写其中的内容)a–append模式“追加”(若文件不存在则创建,若存在则在后面追加内容)b–binary模式“二进制”(若有b则创建的是二进制文件,处理的基本单元是“字节”,若没有b则创建的说文本文件,处理的基本单元是“字符”)“+.原创 2022-04-17 16:30:52 · 1517 阅读 · 1 评论 -
os、os.path、os.walk模块
os模块os.system可以直接调用系统的命令import osos.system('notepad.exe') #调用记事本os.system('regedit') #调用注册表os.system('ping.www.baidu.com') #调用网页 乱码问题使用gbkos.system('cmd') #调用命令指示符#直接调用可执行文件os.startfile(r'D:\soft_install\WeChat\WeChat.exe') #打开微信os模块中关于目录和文件的操原创 2022-04-18 21:56:18 · 340 阅读 · 0 评论 -
shutil模块的用法(拷贝、压缩、解压缩)
拷贝文件和文件夹import shutilshutil.copyfile('旧文件','新文件') #将旧文件拷贝到新文件中shutil.copytree('旧文件夹','新文件夹') #将旧文件夹拷贝到新文件夹中,如果新文件夹存在,则无法正常拷贝'''可以通过ignore来选择不拷贝不想要的文件夹'''shutil.copytree('旧文件夹','新文件夹',ignore=shutil.ignore_patterns("*哥","*.txt",'等等不想要的文件特征……')) 压.原创 2022-04-18 22:19:33 · 981 阅读 · 0 评论 -
csv的读写
csv:(comma separated values)文件(逗号分隔符文本格式)用途:用于数据交换、Excel文件和数据库数据的导入和导出import csvwith open('dd.csv','r',encoding='utf-8') as f: a_csv=csv.reader(f) #获得csv文件的内容 print(a_csv) #print(list(a_csv)) for row in a_csv: print(row)with o原创 2022-04-18 22:33:46 · 1107 阅读 · 0 评论 -
import导入包
import语句导入模块(1)import 模块名 导入一个模块(2)import 模块名1,模块名2…… 导入多个模块(3)import 模块名 as 模块别名ps:一个模块无论被调用多少次,在整个解释器进程内有且仅有一个实例对象from…import语句导入模块中的一个函数或类from 模块名 import 成员1,成员2,成员3……__import__动态导入模块s='math'm=__import__(s) #将导入的模块命名为mprint(m.sin(3..原创 2022-04-19 17:39:13 · 1522 阅读 · 0 评论