
【Python学习专区】你不可错过精彩内容
让你在学习python的路上不再盲目与无助!
作为曾经的Python小白菜鸟,一路摸爬滚打,没人有比我更懂你学习的需求与困惑,对你入门学习Python更有针对性,你的学习效果更好。
1.系列化,系统化,避免知识盲区。
2.大量实例简洁明了,深入浅出,浅显易懂。
3.提供小白入门最友好最有效的学习资源
优惠券已抵扣
余额抵扣
还需支付
¥19.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
manhuan.lnet
个人的Python博客网站manhuan.net,更多精彩内容等着你!
展开
-
Python的time模块实现倒计时功能sleep方法
用time模块实现倒计时。程序实例:import timefor i in range(10,0,-1): print(i) time.sleep(1)运行结果:10987654321原创 2020-12-25 13:17:38 · 3225 阅读 · 0 评论 -
Python time模块两种获取当前的日期的strftime方法
获取当前的日期程序实例:import time# 使用struct_time获取年月日timestamp = time.time()strct_time = time.localtime(timestamp)year = strct_time.tm_yearmonth = strct_time.tm_monday = strct_time.tm_mdayprint(f"今天{year}年{month}月{day}日")# 使用timefromt获取年月日timestamp = ti原创 2020-12-25 13:05:47 · 1069 阅读 · 0 评论 -
Python计算程序运行时间time模块的time方法和perf_counter方法
Python计算程序运行时间。程序实例。import timedef loop(): for i in range(10000): pass# 方法2start = time.time()loop()end = time.time()print(end-start)# 方法1start2 = time.perf_counter()loop()end2 = time.perf_counter()print(end2-start2)运行结果:0.0原创 2020-12-25 12:49:27 · 854 阅读 · 0 评论 -
Python绝对路径和相对路径
绝对路径,是从最顶级的目录开始,一级一级往下查找。——绝对路径的方式弊端,就是当文件目录结构等级比较多,比较复杂的时候,查找起来就非常麻烦。那么,当当文件目录结构等级比较多,比较复杂的时候,就建议使用相对路径来解决。相对路径,相对于当前文件目录路径下的另外一个文件目录位置。使用“.”符号表示当前目录。使用“…”表示上级目录。使用“…”表示上上级目录,以此类推。(一般超过3级目录或以上,就使用绝对路径比较清晰明了了。)——使用xiangdui9路径,可以大大简化导入路径。尤其是目录比较复杂,层级原创 2020-12-23 21:03:39 · 2301 阅读 · 0 评论 -
Python包package的__init__.py文件的作用
init.py初始化包内的一些内容,通过import导入包内的模块,便于调用者使用。比如,在__init__.py文件内:from package2.modole3 import *from package2.modole4 import *那么,这样在main.py文件下就可以使用package2内的对象方法属性,而且不同具体了解package到底有多少个modole了,也不同了解那个方法原来与modole3还是modole4.。init.py文件和被导入模块内使用__all__进行选择性导入原创 2020-12-23 19:39:43 · 633 阅读 · 0 评论 -
Python的包package
程序实例:包的放置目录结构如下图:在main.py文件的程序内容如下:from package1 import modole1from package2 import modole3print(modole1.__name__)print(modole1.__package__)print(modole3.__name__)print(modole3.__package__)运行结果:package1.modole1package1package2.modole3pac..原创 2020-12-23 19:31:42 · 118 阅读 · 0 评论 -
Python import和from…import
import运行原理:在test.py文件内,使用 import m,通过import导入m.py文件,那么,就相当于将m.py整个模块对象赋值给test.py文件内的一个同名变量m。——导入之后,就相当于创建了一个同名的对象。如:m.x就相当于引用m模块对象属性x。当然,这个过程中也可以通过as重新命名这个变量m。m.py文件内容如下:print("this is m model file")x = 5y = 10test.py的文件内容如下:import mprint(m)pri原创 2020-12-23 17:01:47 · 188 阅读 · 0 评论 -
Python导入模块import的路径
可以使用:import sysprint(sys.path)查看import的默认搜索路径,使用import要导入的文件,必须要求要在这个默认路径下。import sysprint(sys.path)假如要导入的文件,不在这些默认路径下的话,那么就要使用:from 路径 import 模块这样的方法进行导入。使用from 路径文件夹 import 要导入的文件。——建议使用这种方式进行导入,这样程序的可读性更好,更容易理解。程序实例1:导入utils文件夹下的function文件。原创 2020-12-23 15:58:33 · 5603 阅读 · 1 评论 -
Python使用import关键字导入模块
使用import关键字导入模块。三种形式:1.导入time模块的全部内容:import time,或者from time import *2.导入time模块的某个方法:import time perf_counter3.导入time模块的几个方法:import time perf_counter,sleep,……4.导入time模块的某个方法,并重命名这个方法名:from time import perf_counter as counterimport timeimport ossart原创 2020-12-23 15:34:31 · 3411 阅读 · 0 评论 -
Python面向过程VS面向对象编程
Python支持面向过程编程,也支持面向对象编程。……那么面向过程和面向对象,有哪些区别呢?面向过程的编程思想:编程的时候把解决问题的步骤分析出来,然后再来一步一步进行实现这些步骤。面向对象的编程思想:是一种以对象为中心的编程思想,把要解决的问题分解成各个对象,建立对象的目的,并不是为了完成一个步骤,而是为了描述某个对象在整个解决问题的步骤中,它的属性和行为。Python中,可以将一切事物看出是对象Object。面向过程编程,就是按照事件的发展顺序,一步一步来完成。如下图,把大象装进冰箱,只要原创 2020-12-23 14:22:42 · 1061 阅读 · 0 评论 -
Python调用父类__init__()初始化方法使用super()函数
子类自身若有__init__()初始化方法的话,子类会调用自身的初始化方法,并覆盖父类的初始化方法。如果子类还想保留父类的初始化方法,那应该如何做呢?——使用super()函数,在子类的初始化方法,用super()函数添加父类的初始化方法,例如:super().init(name)这样子类可以有自身的初始化方法,同时也保留了父类的初始化方法。程序实例:class Animal(object): age = 10 def __init__(self,name): se原创 2020-12-23 13:29:30 · 1072 阅读 · 0 评论 -
Python类方法的重写
子类会优先调用自身的方法,如果子类不存在这个方法,才回去调用父类的方法。——这叫做类方法重写,因为子类重写了父类的方法。为什么要重写呢?因为一般父类的方法是通用的方法,子类自身若有特殊需求,父类的方法并不一定满足其需求的情况下,则子类需要自行定义自身的方法。程序实例:class Animal(object): age = 10 def __init__(self,name): self.name = name def eat(self):原创 2020-12-23 13:18:17 · 2067 阅读 · 0 评论 -
Python类的继承
类的继承,类似于现实生活中的,财产继承,祖父穿给父辈财产;儿子可以继承父辈的财产。——子类,可以继承父类的方法和属性。如下图所示:如下图:dog和pig这两个子类,都可以继承Animal类的.eat()、.play()、.sleep()这三个方法。如何使用继承?程序实例:class Animal(object): age = 10 def __init__(self,name): self.name = name def eat(self):原创 2020-12-23 13:04:25 · 105 阅读 · 0 评论 -
Python实例属性
什么是实例属性?就是实例的变量。实例属性,可以在类的内部进行定义,也就是初始化__init__方法内部进行定义,也可以在外部进行定义。实例属性,可以在每个实例方法通过self.的形式来进行调用。self.name = nameself.age = age可以对实例对象进行赋值,并通过实例对象进行调用。我们可以通过print(dir(实例对象))查看实例对象的属性和方法。程序实例1:class Animal(object): def __init__(self,name,age):原创 2020-12-22 23:00:47 · 1060 阅读 · 0 评论 -
Python __init__初始化方法
Python __init__初始化方法。类在实例化对象的时候,就默认调用__init__初始化方法。程序实例1:class Animal(object): def __init__(self): print("我是动物") def eat(self, food): print(f"正在吃{food}") def play(self): print("正在玩") def sleep(self): s原创 2020-12-22 22:32:23 · 1698 阅读 · 0 评论 -
Python类方法self的作用
Python类方法self的作用是:实现类方法之间互相调用。class Animal(object): def eat(self, food): print(f"正在吃{food}") def play(self): print("正在玩") def sleep(self): self.eat('狗粮') print("正在睡觉")dog = Animal()dog.sleep()运行结果:正在吃狗原创 2020-12-22 22:08:04 · 1436 阅读 · 0 评论 -
Python创建类方法
dclass Animal(object): def eat(self): print("正在吃") def play(self): print("正在玩") def sleep(self): print("正在睡觉")dog = Animal()dog.eat()dog.play()dog.sleep()带参数的类方法。程序实例2:class Animal(object): def eat(self, food): print(f"正在吃{f原创 2020-12-22 21:43:03 · 659 阅读 · 0 评论 -
Python的类和实例
什么是类?什么是实例?类和实例的关系是怎样的?================================================类,就是一组相似实物的统称。class类,包含属性和方法!比如,摩托车和小汽车,站在都是交通工具的角度而言,它们就是同一类。那么,摩托车和小汽车,作为同一类,他们的属性和方法是那些呢?属性:有轮子,有方向盘,有油门,有后视镜等,这些可以成为交通工具类的属性。方法:可以启动,可以加速,可以刹车,可以转弯等,这些功能,就可以称之为交通工具类的方法。原创 2020-12-22 21:17:39 · 177 阅读 · 0 评论 -
Python创建类和实例
类是由方法和属性组成的。Python创建类和实例。使用关键字:class 类名(object):class Person(object): passlilei = Person()hanmeimei = Person()class Animal(object): pass1原创 2020-12-22 20:47:02 · 409 阅读 · 0 评论 -
Python综合实践案例【银行存取款操作及打印交易信息】
Python综合实践案例【银行存取款操作及打印交易信息】银行存取款操作及打印交易信息。先看实现功能。程序代码:import datetimebalance = 10000list_log = []def validate(func): def wrapper(*args,**kwargs): amount = str(args[0]) if len(amount)-amount.index(".")-1 > 2: pri原创 2020-12-22 20:36:08 · 570 阅读 · 0 评论 -
Python函数装饰器的嵌套
函数装饰器的嵌套,以及保持被装饰函数元信息的方法。@decorator1@decorator2def ……welcome(“welcome to www.manhuan.net”)等价于:new_welcom = decorator1(decorator2(welcome))new_welcom(“welcome to www.manhuan.net”)程序实例1:没有使用函数装饰器的情形下:import functoolsdef decorator1(func): @fun原创 2020-12-22 18:52:49 · 486 阅读 · 0 评论 -
Python保存被装饰函数元信息的方法functools.warps()
Python被函数装饰器装饰过的函数,会被改变元信息。通过导入import functools模块,在装饰器函数内部添加@functools.wraps(func),可以实现保存被装饰函数元信息。程序实例1:先确认被函数装饰器装饰过的函数,会被改变元信息的情况。import timedef my_decorator(func): def wrapper(*args,**kwargs): print("wrapper函数开始") start_time = ti原创 2020-12-22 00:54:56 · 256 阅读 · 0 评论 -
Python不定长参数的函数装饰器
Python不定长参数的函数装饰器。程序实例1:import timedef my_decorator(func): def wrapper(*args): print("wrapper函数开始") start_time = time.perf_counter() func(*args) end_time = time.perf_counter() print(f"函数运行时间:{end_time - start_原创 2020-12-22 00:30:24 · 258 阅读 · 0 评论 -
Python带有参数的函数装饰器
带有参数的函数装饰器。程序实例:import timedef my_decorator(func): def wrapper(number): print("wrapper函数开始") start_time = time.perf_counter() func(number) end_time = time.perf_counter() print(f"函数运行时间:{end_time - start_time}"原创 2020-12-21 23:12:44 · 215 阅读 · 0 评论 -
Python函数装饰器@
函数装饰器。使用@程序实例:import timedef my_decorator(func): def wrapper(): print("wrapper函数开始") start_time = time.perf_counter() func() end_time = time.perf_counter() print(f"函数运行时间:{end_time - start_time}") pri原创 2020-12-21 22:51:54 · 154 阅读 · 0 评论 -
Python函数式编程map()函数filter()函数reduce()函数
map()函数解析:参数列表的各个元素,经过cook处理后,对应生成列表元素。程序实例1:def doubler(x): x *= 2 return xlist_val = [1,2,3,4,5]result = map(doubler,list_val)print(result)print(list(result))程序实例2:map()函数经常与lambda表达式结合使用。def doubler(x): x *= 2 return xlist原创 2020-12-19 00:52:03 · 135 阅读 · 1 评论 -
Python函数式编程
非函数式编程。每调用一次函数,输出的结果不一样。这种就是非函数式编程。def doubler(l): for item in range(0,len(l)): l[item] *= 2 return llist_value = [1,2,3,4,5]print(doubler(list_value))print(doubler(list_value))函数式编程。使用一个空列表,用来中转,逐一添加处理过的元素到空列表。def doubler(l): .原创 2020-12-19 00:14:31 · 157 阅读 · 1 评论 -
Python匿名函数的应用场景
Python匿名函数的应用场景。原创 2020-12-18 22:36:15 · 404 阅读 · 1 评论 -
Python的匿名函数lambda表达式
Python的匿名表达式。lambda表达式创建匿名函数。lambda表达式的语法结构物。普通函数,改写成lambda表达式。def add(x,y): return x + yadd(5,3)将以上的add(x,y)函数,改写成lambda表达式匿名函数如下:(lambda x,y : x + y)(5,3)程序实例1:def add(x,y): return x + yprint(add(5,3))print(add)expression = lambda原创 2020-12-18 22:34:21 · 176 阅读 · 2 评论 -
Python的递归函数
Python的递归函数语法原理。递归函数,最经典的应用,是求阶层。递归函数的优点:定义简单,逻辑清晰。程序实:1:def fact(n): if n == 1: return 1 result = n * fact(n-1) return resultfact(3)使用递归函数的时候,要注意栈溢出。比如求阶层过大的时候,比如10000的阶层。...原创 2020-12-18 21:44:39 · 168 阅读 · 1 评论 -
Python函数的嵌套调用
函数的嵌套调用函数内部,调用其他函数。调用之后,又将程序控制权返回给调用者,接着继续运行。程序实例1:def create_building(): create_room() create_stair()def create_room(): print('开始创建房间') print('正在创建房间') print('创建房间完成')def create_stair(): print('开始创建电梯') print('正在创建电梯')原创 2020-12-18 21:37:30 · 1935 阅读 · 2 评论 -
Python函数的作用域
函数的作用域可以理解成变量的作用域。局部变量全局变量局部变量程序实例1:def test1(): a = 11 print(a)def test2(): a = 55 print(a)test1()test2()总结一下局部变量的特点:全局变量程序实例2:a = 0def test1(): a = 11 print(a)def test2(): a = 55 print(a)test1()test原创 2020-12-18 01:00:28 · 129 阅读 · 0 评论 -
Python函数的返回值
函数返回值语法简介。Python函数的返回值,使用return语句。函数输出一个返回值。程序实例:输出一个返回值的情况。pi = 3.14def area(r): return pi * (r**2)print(area(2))函数输出2个或以上返回值程序实例2:多个返回值,返回的是元祖类型数据。def transform_minute(minute): minutes = minute % 60 hours = minute // 60 retu原创 2020-12-18 00:33:25 · 500 阅读 · 0 评论 -
Python的函数参数:普通参数/默认参数/关键词参数/不定长参数
函数的参数与返回值简介。Python的函数参数与返回值,对应类似于数学上的自变量和因变量。普通参数。程序实例1:传递单个参数。def say_hi(name): print(f"hello,{name}") print("欢迎到www.manhuan.net 一起学习Python")say_hi('tuliyou')程序实例2:2个或多个参数。def create_window(width,high): print(f'窗户宽是{width};高是{hig原创 2020-12-18 00:18:23 · 284 阅读 · 0 评论 -
Python函数的作用
Python分为:内置函数和自定义函数。知识点1:原则上尽量先用内置函数,内置函数无法满足个性需求之际,才自定义满足自身需求的函数。知识点2:自定义函数,先定义,在使用。定义形式如下:函数组成:函数名+函数体def 函数名():函数体程序实例1:def say_hi(): print("hello") print("欢迎到www.manhuan.net 一起学习Python")say_hi()程序实例2:def say_hi(): print("hel原创 2020-12-17 23:25:36 · 1620 阅读 · 0 评论 -
Python常用数据类型的公共方法
Python常用数据类型通用的运算符:“+”运算符:程序实例1:连接两个列表合并,两个列表相加。list1 = [1,2,3]list2 = [4,5,6]list_val = list1 + list2print(list_val)程序实例2:连接两个元组合并,两个元组相加。tuple1 = (1,2,3)tuple2 = (4,5,6)tuple_val = tuple1 + tuple2print(tuple_val)程序实例3:连接三个字符串合并,三个字符串相原创 2020-12-17 20:53:34 · 179 阅读 · 0 评论 -
Python索引取值不在范围内的报错IndexError: string index out of range
str_val = "www.manhuan.net"print(str_val[30])运行结果报错:IndexError: list index out of range错误原因:对于有序序列: 字符串 str 、列表 list 、元组 tuple进行按索引取值的时候,默认范围为 0 ~ len(有序序列)-1,计数从0开始,而不是从1开始,最后一位索引则为总长度减去1。当然也可以使用 负数表示从倒数第几个,计数从-1开始,则对于有序序列,总体范围为 -len(有序序列) ~ len(有原创 2020-12-17 19:22:00 · 4574 阅读 · 0 评论 -
Python 使用“+”符号无法对两个变量进行操作产生类型错误TypeError: unsupported operand type(s) for +: ‘int‘ and ‘str‘
如下Python代码,运行会出现错误。num = int(input("请输入一个整数:"))message = "奇数" if num%2 !=0 else "偶数"print(num+"是"+message)运行结果(出现错误):错误分析:TypeError: unsupported operand type(s) for +: ‘int’ and 'str’**错误原因:**这是一个类型错误,Python无法对两个变量进行操作,Python发现你使用了一个int类型的变量要与str原创 2020-12-17 19:13:40 · 532 阅读 · 0 评论 -
Python 写文件中文乱码问题
Python写文件有中文字,会出现乱码的错误问题。那么如何分析解决呢?错误分析:文字乱码的问题基本都是由于编码格式不同导致的。简单来说,计算机起源于欧美国家,开始只支持asiic码,也就是英文字母和字符,那么汉字或者日文等语言就无法表示,后来对应的就出现了其他编码格式,比如汉字的gbk编码,可以将汉字转化为对应的英文编码,计算机可以识别。这时由于编码不同,经常会出现乱码的情况。最后,大家约定都统一使用unicode标准,其中utf-8编码就是这个标准中的通用的一个。解决方法:函数里添加一个e原创 2020-12-17 18:59:16 · 5329 阅读 · 2 评论 -
Python数据类型的可变与不可变总结
如下表:备注:集合Set本身是可变数据类型,但不能更改集合中不可变类型的元素。我们先看不可变类型数据。程序实例1:元组是不可变类型,切片索引操作后,其数据不变,不能更改它。tuple_val = (1,2,3)new_tuple = tuple_val[1:3] + (4,5,6)print(tuple_val)print(new_tuple)可变类型。程序示例2:列表是可变类型,增添元素等操作后,其数据会被改变。list_val = [1,2,3]new_list = li原创 2020-12-10 12:20:51 · 245 阅读 · 1 评论