python
蓝天0809
努力学习中
展开
-
python类与对象
1,区别类,类别,分门别类,人类,鸟类对象,如int类下包含相似的不同个例,专业术语称为实例或对象python中一切皆对象2,类的创建class Student:#类名有一个或多个单词组成,首字母大写,其他小写pass3,组成类属性实例方法静态方法类方法class Student: place='shanghai' #直接写在类中的变量称为类属性 def __init__(self,name,age):#初始化方法,赋值方法 self.name=nam原创 2021-12-06 21:18:56 · 172 阅读 · 0 评论 -
python函数补充
函数:执行特定任务已完成特定功能的一段代码原因:提高复用,隐藏实现细节,提高可维护,提高可读性便于调试创建:def 函数名(输入参数):函数体[return XXX]def cale(a,b):#a,b出现在函数定义处,是形式参数 c=a+b return c#函数调用result=cale(10,20) #10,20出现在函数调用处,实际参数的值,简称实参print(result)res=cale(b=20,a=9)#b,a为关键字参数,位置在参数调用处print(r原创 2021-12-06 21:13:39 · 231 阅读 · 0 评论 -
python字符串str补充
1、驻留机制的几种情况(交互模式)1)字符串长度为0或12)符合标识符的字符串3)字符串只在编译时驻留,而非运行时4)[-5,246]之间的整数数字sys.intern()强制2个字符串指向同一个对象pycharm对字符串进行了优化处理优点:当需要值相同的字符串时,可以直接从字符串池中拿来使用,避免繁琐的创建与销毁,提升效率节约内存,因此拼接字符串和修改字符串时会比较影响性能的缺点:在需要字符串拼接时建议使用join方法,而不是+,因为join先计算出所有字符中的长度,然后再拷贝,只new一原创 2021-12-06 21:08:57 · 916 阅读 · 0 评论 -
python文件处理
#文件复制,不需要手动复制with open('test.txt','rb') as file: with open('test1.txt','wb') as target_file: target_file.write(file.read())#os模块是操作系统相关的一个模块import osos.system('notepad.exe') #调用Notepados.startfile(r'D:\exe\PotPlayerSetup64.exe') #调用可原创 2021-12-06 20:58:09 · 384 阅读 · 0 评论 -
python元组Tuple
1,元组与字符串类似,用**()括起来**,并且元组的元素不能被修改,是不可变序列元组设计为不可变序列,多任务环境下,同时操作元组不需要加锁,因此可尽量使用不可变序列元组对象的引用:如果元组中对象本身不可变,则不能引用其他对象如果元组对象是可变对象,则可变对象引用不允许改变,但数据可以改变t=(10,[20,30],9)print(t,type(t),id(t))print(t[1],type(t[1]),id(t[1]))t[1].append(10) #元组中的列表可以添加元素,是可变原创 2021-11-24 20:55:13 · 446 阅读 · 0 评论 -
python流程控制
计算机的流程机构有三种结构组成:顺序机构:从程序开始到程序结束选择结构:if循环结构:while,for1,顺序结构print('-----程序开始-------')print('1、打开冰箱门')print('2、将大象放进冰箱里')print('3、关闭冰箱门')print('-----程序j结束-------')2,选择结构(if分支)money=1000s=int(input('请输入取款金额:’))if money>=s: print('取款成功')el原创 2021-11-22 21:45:08 · 381 阅读 · 0 评论 -
python运算符
一、赋值运算符执行顺序:从右到左支持链式赋值:a=b=c=20支持参数赋值:+=,-=,*=,/=,//=,%=支持系列解包赋值:a,b=10,20#交换两个变量的值a,b=10,20print('before:',a,b) #10,20a,b=b,aprint('after:',a,b) #20,10二、比较运算符<,>,<=,>=,!=, 结果是布尔型一个变量由三部分组成(标识,类型,值),==比较的是变量的值,比较对象的标识使用i原创 2021-11-22 21:30:39 · 100 阅读 · 0 评论 -
python数据类型与转换
一,数据类型1、floatfloat计算会出现小数点后位数不一致的情况(二进制存储)建议使用decimal模块from decimal import Decimalprint(Decimal(1.1)+Decimal(2.2)) #二进制底层问题,不需要深究2、bool类型True=1False=03、字符串(不可变的字符序列)可以用单引号,双引号,三引号’’’ ‘’'或者""" “”"表示单引号和双引号必须在同一行,三引号定义的字符串可以分布在连续的行二、数据类型转换int原创 2021-11-22 20:56:38 · 568 阅读 · 0 评论 -
python不同进制与变量
一,进制计算机只识别二进制,0与1,为了识别更多的信息可以加位置,2个位置可以表示4种状态,8个位置表示256状态(256符号)8bit表示8个位置1byte,1024byte=1kb,1024kb=1MB,1024MB=1GB,1024GB=1TB256符号编制成ASCII字符代码表,中文字符GB18030表Unicode几乎包含了全世界所有的字符(中文:UTF-8)不管中文,英文在计算机中均叫做字符不管是八进制,十进制到计算机中都表示为二进制n1=90n2=-12n3=0print(原创 2021-11-21 20:45:16 · 115 阅读 · 0 评论 -
python常用的转义字符与原字符
print("Hello\nworld") #\+转义功能的首字母 n是newline的首字母,表示换行print("Hello\tworrld")print("helloo\tworld")print("Hello\rworld") #world对hello进行覆盖print("Hello\bworld") #\b表示退一格,将o退没了print("helloworld\helloworld") #续行符print("http:\\\www.baidu.com")print("老师原创 2021-11-21 15:12:29 · 426 阅读 · 0 评论 -
dataframe分组后拼接(上下关系)
import pandas as pddf = {'id':['a','a','b','c','c'], 'type':['red','blue','egg','star','cricle']}df = pd.DataFrame(df)grouped = df.groupby('id')result = grouped['type'].unique()result2 = result.reset_index()result2result2['type2'] = result原创 2020-07-21 16:59:07 · 1252 阅读 · 0 评论 -
os.walk用法(python)
os.walk主要用来遍历文件夹下的文件或目录.一,导入import osfrom os import walk二,os.walk函数walk(top,topdown=True,οnerrοr=None,followlinks=False)说明:top:需要遍历的目录的地址topdown:为真遍历该top目录,为假遍历top目录的子目录,默认为开启onerror:需要一个可调用对象,walk异常时调用followlinks:如果为真,则会遍历目录下的快捷方式(linux 下是 symb原创 2020-07-21 16:24:22 · 313 阅读 · 0 评论 -
python查看excel所有sheetname
import pandas as pddf=pd.ExcelFile(文件路径)sh=df.sheet_namessh原创 2020-05-30 23:47:51 · 3310 阅读 · 0 评论 -
dataFrame重设索引
1,dataframe将某列设置为索引df.set_index(‘列名’,inplace=True)2,dataFrame重设0开设有序递增1的索引,不设参数drop=True,则原索引会做作为一列(列名为’index‘)被保留df=df.reset_index(drop=True)3,不重新设置索引,但可以梳理索引的顺序用reindexdf.reindex( xxxx, axis = ‘rows’) 重置索引行顺序df.reindex( xxxx, axis = ‘columns’)如果新索引原创 2020-05-30 23:43:54 · 4132 阅读 · 3 评论 -
python爬取视频
爬虫步骤拆解:1、分析目标网页,确定爬取的URL路径,header参数:打开网页地址,右击–检查,Network–Hide data URLs(筛选功能)–XHR并在headers下获取user-agent、cookie参数2、发送请求-requests 模拟浏览器发送请求,获取响应数据,此时获取的数据就是源代码中response的内容3、爬取数据-json模块,把json字符串转化为python可交互的数据类型1)、数据转换2)、数据解析4、保存数据-保存在目标文件夹中附代码原创 2020-05-17 11:05:41 · 6241 阅读 · 5 评论 -
jieba.analyse+词性标注+统计出场次数+sklearn计算tfidf值
import jieba.analysesentence = '全国港澳研究会会长徐泽在会上发言指出,学习系列重要讲话要深刻领会 主席关于香港回归后的宪制基础和宪制秩序的论述,这是过去20年特别是中共十八大以来"一国两制"在香港实践取得成功的根本经验。首先,要在夯实 香港的宪制基础、巩固香港的宪制秩序上着力。只有牢牢确立起"一国两制"的宪制秩序,才能保证"一国两制"实践不走样 、不变形。其次,要...原创 2020-05-14 09:11:05 · 2231 阅读 · 0 评论 -
自然语言处理之snownlp
snownlp是一个很方便的自然语言处理库1、安装方式:pip install snownlp2、常见用法包括分词、词性标注、断句、情感分析、转化为拼音、转化为繁体、关键字抽取、概括总结、TFIDF词频分析,相似性分析等3、利用seg可以进行分词,词性标注,情感分析训练from snownlp import segseg.train('data.txt')seg.save('seg.marshal')from snownlp import tagtag.train('199801.txt'原创 2020-05-13 19:39:34 · 2206 阅读 · 0 评论 -
pd.cut
常用方式总结:import pandas as pdda=data['case_count'].describe([0.2,0.4,0.6,0.8])bins=[0,da['20%'],da['40%'],da['60%'],da['80%'],da['max']]data['case_cut']=pd.cut(data['case_count'],bins,labels=[1,2,3,4,5])list1=[]bins=[float('-inf'),-0.3,-0.2,-0.1,0,0.1,原创 2020-05-11 18:54:18 · 827 阅读 · 0 评论 -
python自动切分excel表格
一、利用loc定位行,直接写入Excel(若切分后的表格比较多,可引入参数)import pandas as pddata=pd.read_excel(r'D:\tmp\data.xlsx')da1=data.loc[0:10000,:]da2=data.loc[10001:20000,:]da3=data.loc[20001:,:]da1.to_excel(r'D:\tmp\da1.xlsx')da2.to_excel(r'D:\tmp\da2.xlsx')da3.to_excel(r'D原创 2020-05-11 09:15:09 · 1653 阅读 · 0 评论 -
Python中txt转化为csv
import csvdata = open('fang.txt','r',encoding='utf-8').readlines()columns = data [0].split('$)list = []for i in data [1:]: list.append(i.split('$))with open("fang.csv","w",newline=' ',encodi...原创 2019-12-18 11:40:46 · 760 阅读 · 0 评论 -
信息增益的代码实现
当子集较少时不必使用for循环即可实现。步骤很简单:计算总的信息熵,计算标签信息熵,再计算信息增益。1、创建data12、计算最后一列即跑步中二分类的占比3、计算总的信息熵4、以一个标签为例计算不同标签的gain值(1)定义函数并以一个标签为例计算不同子集的信息熵(2)计算不同子集所占的比例(3)不同子集信息熵与所占比例之积求和(4)该标签的信息熵5、打包成函数,...原创 2018-12-13 16:58:17 · 2767 阅读 · 1 评论 -
自定义函数
python除了内建函数,也支持自定义函数。一,函数定义的简单规则:(1)函数代码以def开头,后接函数名称与圆括号(),任何传入的参数和自变量必须放在圆括号中间;(2)函数内容以圆括号起始并进行缩进;(3)若有返回值,return[表达体]结束函数,不带return表示返回none.如:二,函数调用定义一个函数(给了一个函数名称 ,指定了函数包含的参数与代码块)后,这个函数的基本结构...原创 2018-11-02 11:50:44 · 1749 阅读 · 0 评论 -
break,continue与pass语句
一,break用法break 用于跳出当前循环1,for a in ‘python’:if a == t:breakprint(‘当前字母:’,a)执行语句得到 当前字母:p当前字母:y2,b=5while b > 0:print(‘当前值:’,b)b=b - 1if b == 2:breakprint(‘OK’)执行该语句得到 当前值:5当前值:4...原创 2018-11-01 13:55:59 · 864 阅读 · 0 评论 -
for循环,range函数与while循环
一,for循环1,for循环可以遍历任何序列的项目,如list或str。如:barsket=[‘apple’,‘banana’,‘orange’,‘pear’]for i in barsket:print(i)执行后会依次打印barsket中的元素2,如果想得到1到5的和,可以用sum函数来实现。如:sum=0for i in [1,2,3,4,5]:sum = sum + i...原创 2018-11-01 11:41:40 · 1757 阅读 · 0 评论 -
set集合
第六类 集合1,set是一个无序的不重复的元素序列,用**{}括起来或者用set()函数**创建集合,创建空集合必须用set().如:s1={1,2,4}s2={dog,cat,rabbit} #集合元素不同重复dog in s2 #返回True,在不在的问题2,集合的运算如:a=set(‘adcdeac’)b=set(‘axyzza’)print...原创 2018-10-31 17:50:12 · 168 阅读 · 0 评论 -
python字典Dict
第四类Tuple元组1,元组与字符串类似,用**()括起来**,并且元组的元素不能被修改。元组同样可以取值,删除,切片,索引如:tup1=(1,2,3)tup2=(a,b,c)tup3=tup1+tup2print(tup3) #返回(1,2,3,a,b,c),可理解为修改元组要创建新元组2,内置函数cmp(tuple1,tuple2) 比较两个元组len(tuple) ...原创 2018-10-31 17:05:07 · 662 阅读 · 0 评论 -
List列表
第三类List1,list中的数据类型用[]括起来,可以是数字,字符串,也可以包含列表。list中元素可以改变。与字符串一样,list可以索引,切片,如:list=[1,2,‘abc’,[‘python’,123]]print(list[0:1]) #返回1,2list=() #创建空列表2,list中的函数list.append(obj) 在列表末尾添加新对象t...原创 2018-10-31 15:59:12 · 415 阅读 · 0 评论 -
Str字符串
第二类Str1,Python中的字符串要用单引号’'或双引号""引起来,两者意义完全相同,而三引号表示多行字符串,三引号内可自由使用单引号与双引号。如:str=(‘a’,“b”,‘c’)str=(’’‘abcdefghabcdmnghabcd’’’)2,**+是字符串的连接符,*表示复制字符串,后面数字为复制的次数,\转义特殊字符,*表示下一行是上一行的延续如:str=(‘pytho...原创 2018-10-31 15:30:49 · 422 阅读 · 0 评论 -
数据分箱
数据分箱是数据分析中比较常用的方法,理顺以后一点也不难。一、数组分箱1,生成一个随机数组2,用bins与cut函数进行分箱处理3,利用value_counts统计每组分箱结果的个数二、DataFrame分箱1,定义DataFrame2,再生成一列3,利用bins与cut函数分箱4,可添加标签5,利用value_counts统计分箱下不同标签的数量三、读取文件数...原创 2018-12-12 11:45:08 · 7530 阅读 · 0 评论 -
发邮件的实现
一、获取163邮箱的客户端授权码在163邮箱的设置中,左端设置自己的授权码,会出现SMTP服务器二、发邮件流程1、导入模块2、设置服务器与发件地址、授权码(邮件先到服务器再到个人邮箱)3、设置发件内容与组成要素4、执行发送并关闭邮箱注:25为发送邮件的端口号,一般发邮件都是25login登录的是客户端授权码,非邮件登录密码发送邮件中的列表为发送的邮箱地址,可同时添加多个...原创 2019-04-15 21:14:23 · 188 阅读 · 0 评论 -
tkinter模块补充
原创 2019-07-25 09:53:26 · 129 阅读 · 0 评论 -
根据经纬度点计算区域面积
经纬度点组成一个区域,要求数据是顺序排列,顺时针或逆时针都可以。步骤拆分:1、根据分号对经纬度数据拆分成一组一组的数据2、计算点数3、将每个点的经纬度组合形成列表形式4、计算第一点的纬度*(最后一个点的经度-第一个点的经度)注:round函数,最后一个6是小数点后保留的位数temp[0][1]表示temp列表中第一个列表中的第1个位置,即第一个点的纬度temp[dat...原创 2019-04-18 17:22:35 · 21133 阅读 · 2 评论 -
tkinter模块
一、简单示例二、Label控件(标签控件可以显示文本)三、Button控件点击按钮,执行fun函数,打印lambda函数也可以用,执行button3会退出三、Entry输入控件(用于显示简单的文本内容)四、text文本显示控件五、带滚动条的text控件...原创 2019-04-17 23:12:10 · 190 阅读 · 0 评论 -
面向对象补充
一、类属性与对象属性类属性由类名来调用,对象属性由对象来调用。当类属性与对象属性重合时,优先调用对象属性,其优先级高,并可通过del删除二、动态添加对象属性与方法三、@property类似于...原创 2019-04-14 18:28:42 · 122 阅读 · 0 评论 -
继承的实现
一、单继承1、定义父类,使用def关键字定义一个方法,类方法的第一个参数必须是self,self代表类的实例2、定义子类子类可以继承父类的方法,也可以有自己的方法,在定义自己的方法时记得在初始化__init__中添加。3、单继承的实现实例化中要给子类自己的方法赋值4、效果二、多继承定义子类由于有两个父类,用super方法不知道调用哪个父类,故不用super方法对于两个...原创 2019-04-14 13:39:13 · 144 阅读 · 0 评论 -
Python面向对象
一、面向对象简介类(class):用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。类变量:类变量在整个实例化的对象中是共用的,类变量定义在类中且在函数体之外,类变量通常不作为实例变量使用。数据成员:类变量或者实例变量用来处理类及其实例对象的相关数据。方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫做方法的覆...原创 2019-04-13 18:08:53 · 121 阅读 · 0 评论 -
银行自助取款系统简单模拟
一、理顺需要的类与属性、方法二、写出主框架,往里填充即可1、主框架2、界面类3、实现4、效果原创 2019-04-15 22:19:02 · 507 阅读 · 0 评论 -
python基本数据类型及Number类型
Python中的变量不需要声明,每个变量在使用前必须被赋值,变量赋值后即被创建。Python中变量即变量没有类型,我们所说的‘类型’指的是变量在内存中所存对象的类型。变量赋值用等号(=)即可。 python中的数据类型有:Number数字,String字符串,List列表,Tuple元组,Set集合,Dictionary字典共六个。 不可变数据类型为:Number,String,T...原创 2018-10-31 14:49:36 · 965 阅读 · 0 评论