python学习日报
文章平均质量分 83
yan_jin_feng
这个作者很懒,什么都没留下…
展开
-
Python的基础知识
Q1:Python有哪些特点和优点?作为一门编程入门语言,Python主要有以下特点和优点:可解释具有动态特性面向对象简明简单开源具有强大的社区支持当然,实际上Python的优点远不止如此,可以阅读该文档,详细了解:https://data-flair.training/blogs/python-tutorial/…?Q2:深拷贝和浅拷贝之间的区别是什么?答:深拷贝就是将一...原创 2019-08-02 10:04:30 · 250 阅读 · 0 评论 -
time的常用函数—拼字定义的日期
第九章-时间time的常用函数—拼字定义的日期直接使用字符串拼接成格式时间字符串import timeformatTime=time.localtime()formatTimetime.struct_time(tm_year=2018, tm_mon=10, tm_mday=6, tm_hour=15, tm_min=48, tm_sec=37, tm_wday=5, tm_yd...原创 2019-04-22 14:53:54 · 294 阅读 · 0 评论 -
时间
第九章-时间在Python中,与时间处理相关的模块有:time、 datetime以及calendar。在Python中,通常有这几种方式表示时间:时间戳、格式化的时间字符串、元组(struct_time 共九种元素)。由于Python的time模块主要是调用C库实现的,所以在不同的平台可能会有所不同。时间元组import timels=time.localtime() #本地时...原创 2019-04-17 09:23:45 · 327 阅读 · 0 评论 -
集合
集合:set是Python中一种基本数据类型,它分为可变集合(set)和不可变集合(frozenset)两种。类似于其他语言,集合是一个无序不重复元素集,包括创建集合set、向集合中添加元素、删除集合中的元素、求集合的交集、并集、差集等操作。可变集合:set集合类需要的参数必须是迭代器类型的,如:序列、字典等,然后转换成无序不重复的元素集。由于集合是不重复的,所以可以对字符串、列表、元组进行...原创 2019-04-17 09:22:04 · 334 阅读 · 0 评论 -
异常练习
异常练习:7、结合set对象,统计某个list出现的重复元素个数第一种理解,只支持把set对象当一个整体做的。def func(a,b):count=0if isinstance(a,list):for i in a:if i==b:count+=1else:print(“a’s type should be list!”)return countprint(func([1...原创 2019-04-17 09:19:57 · 732 阅读 · 0 评论 -
文件处理小练习
1、将如下文件中内容读取出来,然后将其码值存入另一个文件中文件名为file.txt,文件中内容为“gloryroad”先读取出来数据,然后将字母的码值存入file1.txt文件中,要求file1.txt文件最终看到的效果为:10310811111412111411197100with open(“c:\code\file\file.txt”,“r”,encoding=“utf-8”) as f...原创 2019-04-17 09:16:29 · 621 阅读 · 0 评论 -
python小练习
4、实现一个除法函数,并处理异常def my_div(a, b):try:float(a)except Exception as e:print("%s is error:%s" % (a, e))try: float(b)except Exception as e: print("%s is error:%s" % (b, e))try: result ...原创 2019-04-17 09:15:34 · 144 阅读 · 0 评论 -
练习题学习
晨练练习题:1 写一个函数,实现遍历一个数字和字母参杂的字符串,如果碰到字母则替换成*,最后隔开的数字作为整体计算求和。如”ab34aa243dd78eww89”,则替换成的结果为:”342437889”,求和结果为:”7915**17”def func(s):result=""num=0for i in s:if i.isalpha():if num!=0:result+=st...原创 2019-04-17 09:14:43 · 536 阅读 · 0 评论 -
学习包
包的概念:包是一个分层的文件目录结构,它定义了一个由模块及子包和子包下的子包等组成的Python的应用环境。包对应于文件夹,使用包的方式跟模块也类似,唯一需要注意的是,当文件夹被当作包使用时,文件夹中需要包含__init__.py文件,主要是为了避免将文件夹名当作普通的字符串。init.py的内容可以为空,一般用来进行包的某些初始化工作或者设置__all__值,__all__是在from pa...原创 2019-04-17 09:13:42 · 183 阅读 · 0 评论 -
异常和模块学习
with:它是一种上下文管理协议with通过__enter__方法初始化,然后在__exit__中做善后以及处理异常。所以使用with处理的对象必须有__enter__()和__exit__()这两个方法。其中__enter__()方法在语句体(with语句包裹起来的代码块)执行之前进入运行__exit__()方法在语句体执行完毕退出后运行。with 语句适用于对资源进行访问的场合,确保不管使...原创 2019-04-17 09:12:46 · 359 阅读 · 0 评论 -
异常学习
异常是指程序中的例外;异常机制是指程序出现错误后,程序的处理方法。当出现错误后,程序的执行流程发生改变,程序的控制权转移到异常处理;如果程序执行过程中发生了异常,我们没有进行异常处理,那么程序就会中止执行下面的代码。但是如果我们进行了异常处理,程序会继续执行下面的代码。异常工作原理:try的工作原理是,当开始一个try语句后,python就在当前程序的上下文中作标记,当异常出现并捕获后继续执...原创 2019-04-17 09:11:49 · 119 阅读 · 0 评论 -
进程和线程的一个区别
进程和线程的一个区别linux下查看进程的命令:ps -ef|grep xxx[root@iZ2zejbxp2btn9jh8knipuZ ~]# ps -ef|grep pythonroot 7717 7665 0 21:05 pts/0 00:00:00 grep pythonroot 16527 1 0 Aug16 ? 04:01:0...原创 2019-04-17 09:10:25 · 146 阅读 · 0 评论 -
time 类
第九章-时间time 类:time是一个时间类,由时、分、秒、微妙组成。各参数的取值范围:hour的范围为[0, 24)minute的范围为[0, 60)second的范围为[0, 60)microsecond的范围为[0, 1000000)import datetimemaxTime=datetime.time.max #获取time能表示的最大时间maxTimedat...原创 2019-04-22 14:54:49 · 1809 阅读 · 0 评论 -
calendar模块
第九章 时间calendar模块calendar模块:就是日历模块,提供了一些操作日期、生成日历的方法。1)calendar.Calendar(firstweekday=0)该类提供了许多生成器,如星期的生成器,某月日历生成器。2)calendar.TextCalendar(firstweekday = 0)该类提供了按月、按年生成日历字符串的方法。3)calendar.HTMLCa...原创 2019-04-22 14:56:15 · 510 阅读 · 0 评论 -
面向对象练习
编写程序片段,定义表示课程的类Course。课程的属性包括课程名、编号、选修课号;方法包括设置课程名、设置编号、设置选修课号以及获取课程名、获取编号、获取选修课程号,然后打印输出该对象的课程名、编号以及选修课号class Course(object):def init(self,course_name,course_id,course_number):self.course_name=cou...原创 2019-04-23 09:21:33 · 3024 阅读 · 0 评论 -
时间模块练习
给定一个初始日期,随意输入一个日期,计算两个日期相差的天数第一种:自己写程序实现,不引用datetime包def trans_date(input_date):year = int(input_date[0:4])month = int(input_date[5:7])day = int(input_date[8:10])return year, month, daydef leap...原创 2019-04-23 09:20:10 · 112 阅读 · 0 评论 -
时间模块学习
习题1把一个文件中的所有数字删除with open(“c:\code\test\atest.txt”, ‘r’, encoding=“utf-8”) as f:data = f.read()result = “”for i in data:if not i.isdigit():result += iwith open(“c:\code\test\file1.txt”,‘w’,enco...原创 2019-04-23 09:19:26 · 264 阅读 · 0 评论 -
面向对象学习五
面向对象:封装:将对象的数据与操作数据的方法相结合,通过方法将对象的数据与实现细节保护起来,就称为封装。封装可以让调用者不用关心对象是如何构建的而直接进行使用。举例:#coding=utf-8class Animal(object):def init(self, name):#构造方法一个对象创建后会立即调用此方法self.Name = nameprint (self.Name)...原创 2019-04-23 09:17:26 · 117 阅读 · 0 评论 -
面向对象四
面向对象:继承:对于面向对象的继承来说,其实就是将多个类共有的方法提取到父类中,子类仅需继承父类而不必一一实现每个方法举例:#coding=utf-8class Parent(object): # define parent classparentAttr = 100def init(self):“父类构造方法,用于初始化工作”print (“Calling parent cons...原创 2019-04-23 09:15:46 · 118 阅读 · 0 评论 -
面向对象学习三
面向对象学习:Python类中隐藏数据Python的内置方法:类中的方法名前后都有两个下划线,init()Python中的私有方法:类中的方法名前面有两个下划线,如__setId(),不能在类外部调用Python中的私有属性:类中的属性前有两个下划线,如__name,不能在类的外部被使用或直接访问类的私有属性1)类的私有属性在类内部的方法中使用时的语法:self.__private_a...原创 2019-04-23 09:12:23 · 115 阅读 · 0 评论 -
面向对象学习二
面向对象学习二调用调用被封装的内容时,有两种情况:通过对象直接调用和通过 self 间接调用。1)通过对象直接调用2)通过 self 间接调用举例:class Foo:def init(self, name, age):self.name = nameself.age = agedef detail(self):print (self.name)print (self.ag...原创 2019-04-22 15:04:41 · 134 阅读 · 0 评论 -
序列化
序列化序列化产生的原因:在程序运行的过程中,所有的变量都是在内存中,可以随时修改变量,比如name初始化’Bob’,程序运行时把name改成’Bill’,但是一旦程序结束,变量所占用的内存就被操作系统全部回收。如果没有把修改后的’Bill’存储到磁盘上,下次重新运行程序,变量又被初始化为’Bob’。序列化:我们把变量从内存中变成可存储或传输的过程称之为序列化,在Python中叫picklin...原创 2019-04-22 15:01:30 · 110 阅读 · 0 评论 -
面向对象学习一
面向对象学习一开发的思想面向过程:根据业务逻辑从上到下写垒代码函数式:将某功能代码封装到函数中,日后便无需重复编写,增强代码的重用性和可读性面向对象:对函数进行分类和封装面向对象技术类(Class):用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通...原创 2019-04-22 15:00:57 · 187 阅读 · 0 评论 -
文件处理练习
习题1读一个文件,包含英文句子,请统计共多少个不重复的单词,并且在另外一个文件中打印每个单词以及它的出线次数result = []tmp = “”with open(“c:\code\test\a.txt”, “r”) as f:for line in f:for i in line.strip("\n"):if i.isalpha() == False and tmp != “”:...原创 2019-04-22 15:00:13 · 423 阅读 · 0 评论 -
多进程
提问:什么时候使用多进程?为什么不使用多线程?为什么不使用单进程GIL(全球解释锁):机制就是在任意时刻,最后一个线程在运行结果:一个python进程只会有一个线程在运行只会占用一个cpu的一个核总结:因为python使用了GIL的机制导致一个python进程只会有一个线程在运行只会占用一个cpu的一个核使用多进程:每个进程同一时刻最多运行一个线程多进程运行的情况下,就会运行多个线程,...原创 2019-04-22 14:58:53 · 505 阅读 · 0 评论 -
第九章 时间练习
1、计算程序执行耗时import timestart_time=time.time()sum=0for i in range(1000):sum+=iprint(sum)end_time=time.time()cost_time=end_time-start_timeprint(cost_time)执行结果:4995000.0010020732879638672impor...原创 2019-04-22 14:57:24 · 227 阅读 · 0 评论 -
20180918-第六章文件学习
18、有一个ip.txt,里面每行是一个ip,实现一个函数,ping 每个ip的结果,把结果记录存到ping.txt中,格式为ip:0或ip:1 ,0代表ping成功,1代表ping失败ip.txt文件:17.2.2.192119.75.213.6117.2.2.193182.254.50.16417.2.2.19460.207.246.9817.2.2.195124.193.2...原创 2018-12-01 16:58:25 · 405 阅读 · 0 评论 -
20180917-第六章文件学习
自定义replace函数第一种:#encoding=utf-8#!/usr/bin/env pythondef replace(s,target_str,replace_str,times):result=""tmp=0target_str_length=len(target_str)start=0if target_str not in s:return sfor i in...原创 2018-12-01 16:57:57 · 147 阅读 · 0 评论 -
20180915-第六章文件学习
7.删除某个目录下的全部文件import ospath = “c:\code\test2\”os.chdir(path)a = os.listdir(path)print(a)for i in a:if os.path.isfile(i):os.remove(i)print(os.listdir(path))执行结果:[‘123.txt’, ‘245.txt’, ‘456.t...原创 2018-12-01 16:57:23 · 101 阅读 · 0 评论 -
20180715学习日报-MD5值应用、性能测试,压力测试, 负载测试,稳定性测试的定义和区别
MD5值应用: 1.下载一个文件后要检验其正确性,可以通过下载前后的MD5值进行判断;如果一致,则文件下载前后一致。 2.数据库中存密码时会使用MD5进行加密秒传原理:用户上传文件后,先算出MD5码,使用MD5去匹配服务器中是否存在,若存在,则立即将对应的文件传给所传的用户。程序的容错代码越高,性能会随之降低。Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Bas...原创 2018-09-10 21:46:15 · 1241 阅读 · 0 评论 -
20180714学习日报-常量、变量
1.常量 常量是指一旦初始化后就不能修改的固定值 1)python并没有定义常量的保留字 2)python是一门功能强大的语言,可以自己声明一个常量类来实现常量的功能声明一个常量类: class _const(object): class ConstError(PermissionError): pass def setattr(self, name, value)...原创 2018-09-10 21:45:09 · 140 阅读 · 0 评论 -
20180713学习日报-encode/decode、读文件,写文件、isinstance()、chardet、urllib使用介绍
1.encode/decode python3中encode和decode的一些基本用法 p在python3中: encode(编码):按照某种规则将“文本”转换为“字节流”。 python 3中表示:unicode变成str decode(解码):将“字节流”按照某种规则转换成“文本”。 python3中表示:str变成unicode字符串在Python内部的表示是Unicod...原创 2018-09-10 21:43:42 · 201 阅读 · 0 评论 -
20180712学习日报
今天主要阅读了《python核心编程》中第二章,关于python主要特性的介绍Python 有两种主要的方式来完成你的要求:语句和表达式(函数、算术表达式等)语句:语句使用关键字来组成命令,类似告诉解释器一个命令。你告诉 Python 做什么,它就为你做什么,语句可以有输出,也可以没有输出表达式:表达式没有关键字。它们可以是使用数学运算符构成的算术表达式,也可以是使用括号 调用的函数...原创 2018-08-27 21:29:59 · 113 阅读 · 0 评论 -
20180711学习日报
今天的日报是第三次预习课 1.repr() Python 有办法将任意值转为字符串的两种方式:将它传入repr() 或str() 函数 函数str() 用于将值转化为适于人阅读的形式;而repr() 转化为供解释器读取的形式2.if … else…语句 特点:一旦满足if 中的条件后,就不会再执行之后的语句,跳出程序 注意:不同类型的数据是不可以做比较的举例: score= i...原创 2018-08-27 21:29:30 · 115 阅读 · 0 评论 -
20180710学习日报
【程序14】 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下面去做判断: 1.如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。 2.如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n, 重复执行第一步。 3.如果n不能被k整除,则...原创 2018-08-27 21:28:54 · 230 阅读 · 0 评论 -
20180709学习日报
今天继续小程序练习 【程序1】 题目:判断101-200之间有多少个素数,并输出所有素数。 素数的概念:定义为在大于1的自然数中,除了1和它本身以外不再有其他因数 用数学方式判断的话,就是:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 方法一: import mathnum1 = [] num2 = [] num = [] coun...原创 2018-08-27 21:28:24 · 115 阅读 · 0 评论 -
20180708学习日报
【程序5】 题目:输入三个整数x,y,z,请把这三个数由小到大输出。方法一:使用sort()函数 queue = [] x = input(“请输入x的值:”) queue.append(x) y = input(“请输入y的值:”) queue.append(y) z = input(“请输入z的值:”) queue.append(z)queue.sort() prin...原创 2018-08-27 21:27:53 · 107 阅读 · 0 评论 -
20180707学习日报
程序练习: 【程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? (数学方法计算是C(4,3)*A(3,3)= 4*6=24)digit = [1,2,3,4] temp = ” num = [] count = 0 for i in digit: for j in digit: for k in digit:...原创 2018-08-27 21:27:24 · 104 阅读 · 0 评论 -
20180706学习日报
几种主要编码的比较: UTF-8编码有一个额外的好处,就是ASCII编码实际上可以被看成UTF-8编码的一部分;大量支持ASCII编码的历史遗留软件可以在UTF-8编码下继续工作UTF-8、UTF-16、UTF-32的一些区别: 1.uft编码方式的设计初衷主要是节省,utf8因为兼容ascii,可以使用一个字节表示英语世界常用字符,比较省空间和宽带。utf8是变长的字符串2.utf1...原创 2018-08-27 21:26:50 · 121 阅读 · 0 评论 -
20180703学习日报
练习一:对输入的字符进行加密,加密规则为a->e,b->f,…….,z->dstr = input(“请输入加密前字符串:”) new = ” for i in str: if 65<=ord(i)<=86 or 97<=ord(i)<=118: new += chr(ord(i)+4) elif 87<...原创 2018-08-27 21:26:07 · 111 阅读 · 0 评论