py
ZhaoXuWen23
这个作者很懒,什么都没留下…
展开
-
Py变量类型,变量的方法,比较乱
1、第一行代码,其实并不是,学的一直断断续续,一直没有记录,一直都是从零开始,这次开始记录,希望可以从头记到尾,然后串联成一个完整的圈链,把他们连接在一块,从而真正的了解这门语言,可以利用这一门语言做一些事情,那么就开始吧!print(“HelloWorld”)2、Py3数据类型分类:数字int、布尔值bool、字符串str、列表list、元组tuple、字典dict1)int中没有什么严格...原创 2019-08-15 15:54:06 · 1331 阅读 · 0 评论 -
Py赋值、浅拷贝、深拷贝的区别、if条件判断
第二天就这么开始了今天可能比较乱先写一下之前看别人提出的1个面试题,说是说一下Py的复制和浅拷贝和深拷贝的区别;这个对于我这个初学者有点难,于是就去百度了下,顺便记录下来#这个是复制,完全把alist这个列表直接赋值给了b,原始的列表改变,直接能够导致b的改变alist = [1,2,3,[‘a’,‘b’]]b = alistprint (b)alist.append(5)prin...原创 2019-08-16 15:06:33 · 161 阅读 · 0 评论 -
Py函数、字符串格式化
函数,其实我也不知道什么是函数,老师说是为了封装,让别人调用更方便,我呢,水品有限,就怎么简单怎么记忆,其实数学好的话,如果对数学撒花姑娘的函数有印象,你会发现两者都是差不多的,就当是给x,y赋值,好的废话不说,开始正题def func (a,b)#a,b 形参,类似于x,y 其实用变量去理解也行 print(a,b)func(1,3)#1,3就是实参,只有传入了参数值,这个函数最终才能打印...原创 2019-08-21 16:55:42 · 247 阅读 · 0 评论 -
Py循环,打开文件(读、写、执行)
循环:循环有两种写法,每一种都有不同的用法,在不同的场景中用不同的循环第一种:while 循环while True: print ("我是死循环")#这是一个死循环 a = 0 while a<10: print ('我要打印10遍') a = a + 1#这是一个常规的循环写法,就是一定,要有结束的标准,有结束的条件,要不循环就成了死循环举个栗子:从...原创 2019-08-23 10:35:17 · 579 阅读 · 0 评论 -
Py字符串的一些方法(字符串方法)
之前在Py第一天,写过了,不过后来过去看了看比较乱,或者说很乱,根本没法看,自己都看不懂,所以想了想,在写下,最起码以后自己看着方便,能看懂。str = 'hello world'print (len(str))#取出字符串长度print (str[0],str[len(str)-1])#取出下标为0的元素,和最后一位元素print (str[1:5:2],str[:5:2],str[6:...原创 2019-08-23 16:13:56 · 1288 阅读 · 0 评论 -
Py字典、变量、参数、方法、模块、包
在第一天的时候提了一嘴字典,不过他的一些特性还有方法没有写,今天写一写字典的元素是一组键值对字典的键可以是int 、float、tuple、bool、str,但是不能是列表、字典,不过用时建议用str字典的值可以是任何元素,包括列表、字典等字典是没有下标的,去字典的值通过键来取,下面还是看代码dict = {'键':'值','str':1,12:(1,3,5),3.14:[1,2,4],...原创 2019-08-27 17:19:39 · 266 阅读 · 0 评论 -
Py面向对象,实例/静态方法,实例/静态属性,继承,多态
面向对象,这个是一个比较抽象的东西,理解的时候比较困难,但是有时很重要的一个东西,所以,一定要理解,开始从一个例子开始讲解:给出一个需求,要求实现需求要求大家用面向对象的设计编写一个python程序,实现一个文字游戏系统。动物园里面有10个房间,房间号从1 到 10。每个房间里面可能是体重200斤的老虎或者体重100斤的羊。游戏开始后,系统随机在10个房间中放入老虎或者羊。然后随机给出...原创 2019-08-30 13:50:20 · 373 阅读 · 1 评论 -
Py继承、多态、异常、断言
Py这个基础基本就到这了,以后可能会再次更新,基础的话就先到这了,这一章说的是继承、多态和异常继承:py里面的继承是多继承,是真正的一子多父,下面看代码:这是一个单继承class Animal: name = '动物' def __init__(self,inType): self.type = inType def shout(self): ...原创 2019-09-02 15:44:16 · 187 阅读 · 0 评论 -
python+selenium(数据库连接及一些方法)
之前一直不知道py+selenium怎么链接数据库,不知道需要下载什么东西,导入什么包才能做到和数据库链接,后来偶然的一个机会从同行交流中原来链接数据库很简单的,只需要使用pip安装pymysql就行了安装是在DOS窗口下pip install pymysql,然后在链接数据库时,导入包就行 import pymysql connect = pymysql.connect( ...原创 2019-09-05 15:52:26 · 1261 阅读 · 0 评论 -
python+selenium(excel文件操作的读、写方法)
写下excel 文件的一些读写 方法,以后后期要用,这里做下记录 import xlrd import xlwt if __name__ == '__main__': # #定义Excel文件路径 excelPath = r'D:\selenium\test.xlsx'#r是转义用的,防止里面有关键字 #用于读取excel文件 ...原创 2019-09-06 11:43:33 · 951 阅读 · 0 评论 -
python中excel表格写入
python中有时候会出现以下场景,就是打开当前excel表格后读取sheet页中数据之后,还需要在该sheet页中写入一些数值,这时候你会发现会报错,报错信息忘了,先不写,今天写下py中的excel表格写入。首先要先安装几个包,安装包的方法:pip install xlrd,pip install xlwt,pip install xlutils下面还是写代码from xlutils.c...原创 2019-10-25 09:40:18 · 314 阅读 · 0 评论 -
python调用外部程序的方法
import os'''#os.system()#这个函数执行起来打开DOS窗口操作系统的shell,敲入一串命令#比如mspaint命令,我们可以手动执行这个命令。这个过程可以在Python程序中,用os.system函数进行自动化os.system('mspaint')#调用的这个程序没有退出时,Python程序会一直停留在这个地方#说个题外话CTRL+鼠标左键可以直接跳入该函数查看...原创 2019-10-30 14:20:38 · 3097 阅读 · 0 评论 -
Python装饰器
# 装饰器说一下,其实很早时间都接触过这东西的# 静态方法# @staticmethod#这其实就是一个装饰器'''#下面来写两个函数def hello(): return '123'def hi(): return '456'#这时候我有一个需要需要在两个返回值后面加上‘!!’,直接加上去那就没意思了#那么怎么实现呢,我们可以写一个函数去实现它def endsi...原创 2019-10-30 15:20:30 · 122 阅读 · 0 评论 -
python线程
说一下线程吧,计算机的进程估计大家都知道,就是一个一个运行着的程序,而每一个进程都最少有一个线程多线程就是同时运行多个线程还是看代码吧,这一块感觉不是很好说清楚首先说下调用线程的模块threading,还是看代码吧,先说一个最基本的import threadingfrom time import sleepprint('主线程开始')def thread1(): print('我...原创 2019-11-05 15:49:43 · 146 阅读 · 0 评论 -
Python之configparser模块的简单用法
在很多场景中,我们都需要用到configparser模块,用来记录配置文件,所以就做下记录。import osimport configparserpath = os.getcwd()#获取相对路径,D:\untitled\fuxi\fuxi1config = configparser.ConfigParser()path1 = path + r'\1\1.ini'#config.read(self, filenames, encoding=None)b = config.read(path1原创 2020-07-01 10:39:06 · 280 阅读 · 0 评论 -
Python中将字符串类型的字典转换为字典类型
遇到了一个场景,需要读取excel表格里的字典类型的数据,这时需要把字符串类型的字典转换为字典类型,这个在网上找了好大一会儿才找到,记录下a = '{"a":12,"b":13}'b = eval(a)#{"a":12,"b":13},就这样好了#很简单的做法,但是很实用,还有一种方法import jsonc = json.loads(a)#c的类型也是字典类型的...原创 2020-07-01 16:09:49 · 2333 阅读 · 1 评论 -
lambda(匿名)内置函数,map内置函数
如果需要处理一个数据,可能会出现很多需求,比如说有的需要在原来的数字上+1,有的需要在原来的数字上做平方处理,有的需要做减法处理,有一万个需求需要你去做,这是你可能需要些很多函数来对原来的数据进行处理,比如下方的这些函数都是一些处理数据的函数。def test(x): return x+1print(test(1))#2def test(x): return x**2print(test(2))#4如果有很多个这样那样的需求,要是写很多个函数就太麻烦了,这时就出来了一个救星,那就原创 2020-07-23 16:51:48 · 121 阅读 · 0 评论 -
filter,reduce内置函数
需求,把sb开头的全部筛选除去,需求把sb结尾的全部删除掉list1 = ['sb_xiaoming','sb_xiaohong','sb_lisi','zhangsn','maiz_sb']def test(): ret = [] for one in list1: if not one.startswith('sb'): ret.append(one) return retprint(test())新需求,需求把sb结尾的全部删除原创 2020-07-24 16:56:33 · 129 阅读 · 0 评论 -
生成器函数
写一个列表表达式a = [i for i in range(9)]#[0,1,2,3,4,5,6,7,8]这个是把列表直接展示出来完了,但是呢我们可能不需要里面那么多的数据,可能我们只需要里面的一个数据,这样的话这个列表就会浪费很多的内存空间,这时候我们是否可以把这个列表的元素用一个去一个呢?答案是可以的那就是生成器生成器怎么去表达呢,很简单就是把中括号换成小括号a = (i for i in range(6))#<generator object at 0x034A61E0>看看这原创 2020-07-30 10:33:54 · 228 阅读 · 0 评论 -
装饰器
之前写过一篇关于装饰器的文章,但是感觉写的不太好,就想着再写一篇装饰器本质就是函数,功能是为其他函数添加附加功能原则:1、不修改被修饰函数的源代码2、不修改被修饰函数的调用方式还是从需求开始,一个函数,无需要知道这个函数的运行时间#计算从1到100的和def cal(l): sum = 0 for i in l: sum+=i return sumprint(cal(range(101)))#算出来这个函数执行的时间import timedef原创 2020-07-30 11:54:27 · 108 阅读 · 0 评论 -
time模块
时间模块是我们经常要用到的模块,就说下tiem模块里的几个方法吧import time#这个是时间戳,记录的单位是秒,时间戳是自 1970 年 1 月 1 日(08:00:00 GMT)至当前时间的总秒数print(time.time())#1596935668.725746#这个是时间的格式化,其中localtime记录的是中国时间,gmtime()记录的是美国时间格式化,可以通过格式化来取年份月份等等print(time.localtime())#time.struct_time(tm_yea原创 2020-08-09 09:21:39 · 138 阅读 · 0 评论 -
random模块
randam是取随机数的import randomret = random.random()#0到1的浮点型ret = random.randint(1,5)#1到5的随机整型res = random.randrange(1,5)#1到5的随机整型ret = random.sample([1,2,3,4,5,6,7,8],2)#从列表列随机取两个值ret = random.uniform(1,4)#取的是1到4之间的浮点型数字print(ret)a = [2,5,1,34,23,42]ra原创 2020-08-09 09:40:26 · 295 阅读 · 0 评论 -
os+sys+json+pickle模块的简单介绍
import osprint(os.getcwd())#获取当前工作目录,即当前python脚本工作的目录路径os.chdir('dirname')#改变当前脚本工作目录,相当于shell下cdos.curdir#返回当前目录:(.)os.pardir#获取当前目录的父目录字符串名(..)os.makedirs('dirname1/dirname2')#可生成多层递归目录os.removedirs('dirname')#若目录为空则删除,并递归到上一层目录,如若不为空,则删除,依次类推os.m原创 2020-08-09 09:45:04 · 155 阅读 · 0 评论 -
xml模块
<data> <country name="China"> <rank updated="yes">59</rank>> <year>2008</year>> <gdppc>141100</gdppc>> <neighbor name="China1" direction="E"/> <co原创 2020-08-09 09:47:43 · 163 阅读 · 0 评论 -
re模块
#字符匹配#核心内容元字符.^$*+?{}[]|()\import reret = re.findall('a..in','helloalvin')#'.'是通配符,什么都可以代替,除了换行符,一个点代表一个字符print(ret)#['alvin']#'.'是通配符,什么都可以代替,除了换行符ret = re.findall('^a...in','alvwinhello')#['alvwin']#^a表示以a开头的print(ret)ret = re.findall('a..n$','al原创 2020-08-09 11:20:48 · 164 阅读 · 0 评论 -
日志模块
#logging模块import logging#日志级别 系统默认级别是warning 所以只打印出来3条日志,# 这五条打印结果是WARNING:root:warning message ERROR:root:error message CRITICAL:root:critical message# logging.debug('debug message')# logging.info('info message')# logging.warning('warning message'原创 2020-08-09 17:22:15 · 176 阅读 · 0 评论 -
configparser模块
[DEFAULT]ServerAliveInterval = 45Compression = yesCompressionLevel = 9ForwardX11 = yes[bitbucket.org]User = hg[topsecret.server.com]Port = 50022ForwardX11 = noimport configparserconfig = configparser.ConfigParser()#实例化一个对象,赋值给config#[DEFAULT原创 2020-08-09 17:25:55 · 127 阅读 · 0 评论 -
hashlib模块
#用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5算法import hashlibm = hashlib.md5() # m=hashlib.sha256()m.update('hello'.encode('utf8'))#对hello进行加密算法print(m.hexdigest()) # 5d41402abc4b2a76b9719d911017c592 位数是固定的且是唯一的m.原创 2020-08-09 17:27:30 · 114 阅读 · 0 评论 -
导入模块的实质
#导入一个模块import abcd#这一步操作相当于是在当前文件的文件夹下找abc这个模块#比如当前文件的文件夹是new_py,那么导入abc就是在new_py中找abc,# 找到就是导入成功,找不到就是导入失败,报错为No module named 'abcd',找不到abcd这个模块#如果是new_py下的文件夹amd里面的文件123,一样会报错,因为他不会到下层去找这时候就用到#from amd import 123 这个意思是在new_py中找到amd ,然后再在amd中找123,这样原创 2020-08-10 08:31:47 · 133 阅读 · 0 评论 -
Python反射
反射一共有4个方法hasattr、getattr、setattr、delattr还是看例子#反射#判断object中有没有一个name字符串对应的方法或者属相class BlackMedium: feture = 'Ugly' def __init__(self,name,addr): self.name = name self.addr = addr def sell_hourse(self): print('【%s】正在原创 2020-11-18 10:36:52 · 102 阅读 · 0 评论 -
python(__getattr__,__setattr__,__delattr__)内置函数
'''#说下带双下划线的attr的方法class Foo: def __init__(self,name,age): self.name = name self.age = age def __getattr__(self, item): print('执行了‘__gatattr__’函数') # def __setattr__(self, key, value): # print('执行了‘__setattr__’原创 2020-11-18 14:38:41 · 158 阅读 · 0 评论 -
Python一些方法内置函数的汇总(面向对象进阶)
先来个简单的就是isinstance(),issubclass()class Foo: passclass Bar(Foo): passf1 = Foo()print(isinstance(f1,Foo))#True 判断f1是否是Foo的对象print(issubclass(Bar,Foo))#True 判断Bar是否是Foo子类_getattribute_class Foo: def __init__(self,x): self.x = x原创 2020-11-20 11:57:34 · 125 阅读 · 0 评论