python
以自己学习为目的,记录自己学习python过程中的点滴
凯凯恺恺恺恺凯凯
纸上得来终觉浅,绝知此事要躬行。
展开
-
Python的命名规范
python变量命名一般采用蛇形命名法(毕竟python的本意就是大蟒蛇),也就是如果变量名由两个单词组成,那么使用下划线来连接这两个单词,比如student_id。原创 2023-08-25 14:29:02 · 2477 阅读 · 0 评论 -
【Linux】【Python】python2.7安装pip9.0.1
Centos7系统默认自带python2.7,但是没有安装pip。1 [root@localhost docker-elk]# python -V2 Python 2.7.53 [root@localhost docker-elk]# pip -V4 -bash: pip: 未找到命令首先下载并安装setuptools:wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.pysudo python ez_setup.p转载 2021-03-17 22:48:20 · 385 阅读 · 0 评论 -
python之关键字
21321转载 2020-07-04 11:15:19 · 922 阅读 · 1 评论 -
python之(__call__)
对象后面加括号,触发执行。注:构造方法的执行是由创建对象触发的,即:对象 = 类名() ;而对于 call 方法的执行是由对象后加括号触发的,即:对象() 或者 类()()class Foo: def __init__(self): pass def __call__(self, *args, **kwargs): print('_...原创 2020-01-15 09:50:25 · 99 阅读 · 0 评论 -
python之(__enter__和__exit__)
我们知道在操作文件对象的时候可以这么写with open('a.txt') as f: '代码块'上述叫做上下文管理协议,即with语句,为了让一个对象兼容with语句,必须在这个对象的类中声明__enter__和__exit__方法上下文管理协议class Open: def __init__(self,name): self.name=name ...原创 2020-01-15 09:48:07 · 9328 阅读 · 0 评论 -
python之(__del__)
析构方法,当对象在内存中被释放时,自动触发执行。注:如果产生的对象仅仅只是python程序级别的(用户级),那么无需定义__del__,如果产生的对象的同时还会向操作系统发起系统调用,即一个对象有用户级与内核级两种资源,比如(打开一个文件,创建一个数据库链接),则必须在清除对象的同时回收系统资源,这就用到了__del__简单示范class Foo: def __del__(self...原创 2020-01-14 19:54:56 · 256 阅读 · 0 评论 -
python之(__module__和__class__)
module 表示当前操作的对象在那个模块class 表示当前操作的对象的类是什么lib/aa.py#!/usr/bin/env python# -*- coding:utf-8 -*-class C: def __init__(self): self.name = ‘SB'index.pyfrom lib.aa import Cobj = ...原创 2020-01-14 19:49:27 · 545 阅读 · 0 评论 -
python之(__doc__)
调用类的文本文本的东西无法继承给子类它类的描述信息class Foo: '我是描述信息' passprint(Foo.__doc__)该属性无法被继承class Foo: '我是描述信息' passclass Bar(Foo): passprint(Bar.__doc__) #该属性无法继承给子类...原创 2020-01-14 19:44:00 · 512 阅读 · 0 评论 -
python之(__next__和__iter__实现迭代器协议)
_ iter_()、_ next_()是类的两个内置函数,可以通过定义他们两个实现迭代器协议,产生的实例就可以变成一个迭代器未定义__iter__()方法会导致无法执行iter()函数class Foo: def __init__(self, n): self.n = nf1 = Foo(10)for i in f1: print(i)# for函数...原创 2020-01-14 19:37:39 · 648 阅读 · 0 评论 -
python之( __slots__)
1.__slots__是什么:是一个类变量,变量值可以是列表,元祖,或者可迭代对象,也可以是一个字符串(意味着所有实例只有一个数据属性)2.引子:使用点来访问属性本质就是在访问类或者对象的__dict__属性字典(类的字典是共享的,而每个实例的是独立的)3.为何使用__slots__:字典会占用大量内存,如果你有一个属性很少的类,但是有很多实例,为了节省内存可以使用__slots__取代实例的...原创 2020-01-14 19:21:50 · 140 阅读 · 0 评论 -
python之(__str__,__repr__,__format__)
1、改变对象的字符串显示__str__,repr1、通过两个函数可以改变实例的字符串显示#_*_coding:utf-8_*_class Foo: def __init__(self, name): self.name = name def __str__(self): return "自定义的str" f1 = Foo("Cjj...原创 2020-01-10 16:48:59 · 255 阅读 · 0 评论 -
python之(__setitem__,__getitem,__delitem__)
item类方法可以实现像操作字典一样操作实例的属性class Foo: def __init__(self,name): self.name=name def __getitem__(self, item): print(self.__dict__[item]) def __setitem__(self, key, value): ...原创 2020-01-10 16:05:22 · 158 阅读 · 0 评论 -
python之静态属性,类方法,静态方法
一、静态属性静态属性:是将类中的函数封装,实现像调用数据属性一样的方式调用函数属性,在python中利用@property语句实现封装的概念:使得调用者无法察觉到被调用对象的实现逻辑,就是对象的封装1、不利用@property的方式class Room: def __init__(self, name, owner, width, length, height): ...原创 2020-01-10 15:41:30 · 1691 阅读 · 0 评论 -
python之(__getattribute__)
1、回顾__getattr__当调用一个不存在的属性时,就会触发__getattr__()class Foo: def __init__(self,x): self.x=x def __getattr__(self, item): print('执行的是我') # return self.__dict__[item]f1=F...原创 2020-01-10 14:23:03 · 429 阅读 · 0 评论 -
python之二次加工标准类型(包装(授权))
包装包装:python为大家提供了标准数据类型,以及丰富的内置方法,其实在很多场景下我们都需要基于标准数据类型来定制我们自己的数据类型,新增/改写方法,这就用到了继承/派生知识(其他的标准类型均可以通过下面的方式进行二次加工)二次加工标准类型(基于继承实现)需求:改变列表的append方法,设置为只可以append字符串增加一个show_middle方法,显示列表的中间元素精简版:cl...原创 2020-01-10 11:11:55 · 167 阅读 · 0 评论 -
python之(__setattr__,__delattr__,__getattr__)
1、_ getattr_()当调用一个不存在的属性时,就会触发__getattr__()class Foo: x = 1 def __init__(self, y): self.y = y def __getattr__(self, item): print("执行__getattr__()") print("不存在"...原创 2020-01-09 16:59:15 · 190 阅读 · 0 评论 -
python之反射(hasattr()、getattr()、setattr()、delattr())
一、什么是反射反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力(自省)。这一概念的提出很快引发了计算机科学领域关于应用反射性的研究。它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩。二、 python面向对象中的反射:通过字符串的形式操作对象相关的属性。python中的一切事物都是对象(都可以使用反射)四个可以实...原创 2020-01-08 16:58:53 · 227 阅读 · 0 评论 -
python之isinstance(obj,cls)和issubclass(sub,super)
1、isinstance(obj,cls)检查是否obj是否是类 cls 的对象class Foo(object): pass obj = Foo() print(isinstance(obj, Foo)) # True2、issubclass(sub, super)检查sub类是否是 super 类的派生类class Foo(object): pass class...原创 2020-01-08 14:44:24 · 297 阅读 · 0 评论 -
python之文件操作
Python的文件操作:本节主要内容:初识文件操作只读(r, rb)只写(w, wb)追加(a, ab)r+读写w+写读a+写读(追加写读)其他操作方法文件的修改以及另一种打开文件句柄的方式一、初始文件操作使用python来读写文件是非常简单的操作.,我们使用open()函数来打开一个文件, 获取到文件句柄, 然后通过文件句柄就可以进行各种各样的操作了, 根据打开方式的...原创 2020-01-08 10:46:57 · 861 阅读 · 0 评论 -
python中字符串和字典类型互相转换
python中,字符串和字典相互转换如下:字符串转换为字典:str_test = “{‘a’: 1, ‘b’: 2}”dict_test = eval(str)print dict_test字典转换为字符串:dict_test = {‘a’: 1, ‘b’: 2}str_test = str(dict)print str_test...原创 2019-08-15 14:52:51 · 866 阅读 · 0 评论 -
[Python] Python与Excel--只读|只写|读写|创建图表
库介绍:对于版本xlrd,xlwt比较老,只能处理由Excel 97-2003或者Excel 97之前版本的xls格式。xlwt甚至不支持07版本以后的excel,这个格式excel文件一般来说,最大只能支持256列或者65536行的excel文件。对于大数据xlwt库保存大数据时报错:Exception: String longer than 32767 characters面...转载 2019-08-15 14:51:25 · 903 阅读 · 0 评论 -
Python-----静态方法(@staticmethod)
@staticmethod 静态方法只是名义上归属类管理,但是不能使用类变量和实例变量,是类的工具包放在函数前(该函数不传入self或者cls),所以不能访问类属性和实例属性class cal: cal_name = '计算器' def __init__(self,x,y): self.x = x self.y = y @propert...原创 2019-07-31 14:16:00 · 809 阅读 · 0 评论 -
Python openpyxl 之 Excel 文档简单操作
背景:生活中常常因日常工作,在记录统计方面需频繁处理较多 Excel 表格,这部分工作虽可由人工完成,但这样会显得有些繁琐且可能存在偏差,遂闲时查阅了是否有相关基于python处理Excel表格的学习文档,后获知这主要可以运用 win32 和 openpyxl 等第三方库来帮助完成。在此分享一下学习过程中有关 openpyxl 库的基本使用方法和一些心得体会。openpyxl 是一个用于处理 x...原创 2019-07-26 12:26:11 · 827 阅读 · 0 评论 -
python基础===随机打印txt文件中的某一行
def find(): txt = open(r'F:\send1.txt','rb') data = txt.read().decode('utf-8') #python3一定要加上这句不然会编码报错! txt.close() i = random.randint(1, 121) #我的文档我数了一下是120行,这里就是1~121...转载 2019-07-19 11:04:57 · 904 阅读 · 0 评论 -
python+selenium连接数据库,从数据库中获取想要的数据
python+selenium连接数据库,从数据库中获取想要的数据将下面的脚本放在一个参数的模块当中(parameter.vaccine),需要用时直接调用就可以了**# -*- coding:utf-8 -*- # 声明使用编码import pymssql #引入数据库import random ...原创 2019-07-01 15:37:00 · 1541 阅读 · 0 评论 -
python3和Python2的区别
print函数:(Python3中print为一个函数, 必须用括号括起来 ;Python2中print为class)Python 2 的 print 声明已经被 print() 函数取代了,这意味着我们必须包装我们想打印在小括号中的对象。Python 21 print ‘Python’, python_version()2 print ‘Hello, World!’3 print...原创 2019-06-12 15:18:21 · 604 阅读 · 0 评论