Python基础
初识Python
煮面要加牛奶
一只小白的自我修炼
展开
-
033_Python知识点_内存管理机制
文章目录Python内存管理机制1. 内存池机制2. 垃圾回收机制2.1 引用计数机制2.2 标记-清除机制2.3 分代回收机制Python内存管理机制Python中内存管理机制:由于Python中万物皆对象,内存管理机制就是对象的存储问题,Python会分配一块内存空间去存储对象。对于整数和短小的字符等,Python会执行缓存机制,即将这些对象进行缓存,不会为相同的对象分配多个内存空间...原创 2020-01-23 02:17:58 · 283 阅读 · 0 评论 -
025_Python知识点_模块与包
模块与包1. 模块1.1 模块导入方式1.2 常见的模块内置属性2. 包3. 模块的制作与发布4. 模块的安装与使用1. 模块模块:即工具包,单个Python文件就是一个模块,想要使用这个工具包中的工具(就好比函数),就需要导入这个模块。1.1 模块导入方式导入模块的过程实质是执行文件 (.py) 的过程# 方式 1:import 模块名1, 模块名2# 方式 2:import ...原创 2019-12-25 17:06:15 · 346 阅读 · 0 评论 -
024_Python知识点_高级特性
Python的高级特性1. 生成式1.1 列表生成式示例1.2 集合生成式示例1.3 字典生成式示例2. 生成器2.1 生成器应用案例_智能聊天机器人2.2 return关键字和yield关键字的区别3. 生成器、迭代器与可迭代对象4. 闭包5. 装饰器5.1 装饰器通用模板5.2 装饰器的典型应用场景5.3 有参装饰器6. 内置高阶函数6.1 map 函数6.2 reduce 函数6.3 fil...原创 2019-12-24 22:09:17 · 248 阅读 · 0 评论 -
023_Python装饰器_案例_多装饰器_权限验证
利用装饰器实现用户的权限验证,逻辑关系:如果用户出现购买行为,调用buy 函数,则对用户进行权限验证对用户进行登陆权限验证2.1 用户已登陆,跳转至 step32.2 用户未登录,进行用户登录对用户进行用户权限验证3.1 用户权限为 1,可进行购买操作3.2 用户权限不是1,不可进行相应的购买操作from functools import wraps# 系统中的用户信息;...原创 2019-12-24 20:49:02 · 646 阅读 · 0 评论 -
022_Python装饰器_案例_Fib数列缓存
在推导Fib数列过程中利用Python装饰器的实现缓存,解决利用递归实现Fib数列的过程中,出现的大量重复计算,进而影响性能的问题ps:不借助Python中自带的解决缓存问题的解释器from functools import lru_cachefrom functools import wrapsimport time# 官方自带的缓存装饰器,可结合场景使用# from funct...原创 2019-12-24 20:18:12 · 196 阅读 · 0 评论 -
021_Python装饰器_案例_插入日志
利用装饰器将被装饰函数的运行结果及其执行时间、用户等信息写入log日志中import loggingfrom functools import wraps# 日志文件的配置logging.basicConfig( level=logging.DEBUG, filename="message.log", filemode="a", format="%(a...原创 2019-12-21 21:23:28 · 316 阅读 · 0 评论 -
020_Python装饰器_案例_事务处理_JSON格式转换
利用装饰器将被装饰函数的返回值全部转换为JSON格式import jsonfrom functools import wrapsdef json_converter(func): """将被装饰函数的返回结果转换成JSON格式""" @wraps(func) def wrapper(*args, **kwargs): """闭包函数""" ...原创 2019-12-21 20:59:13 · 233 阅读 · 0 评论 -
019_Python装饰器_案例_性能测试
利用装饰器完成对被装饰函数的性能测试,具体指该函数的总的运行时间是多少?import timefrom functools import wrapsdef performanceTest(func): """计算被装饰的函数运行时间的装饰器""" # @wraps(func),用来保留func函数原有的函数名和帮助文档 @wraps(func) de...原创 2019-12-21 20:31:33 · 236 阅读 · 0 评论 -
018_Python知识点_异常处理
1. 什么是异常Exception(异常):表示程序还可以进行处理的“异常”,可以捕获且可能恢复,更加程序的稳定性、健壮性。遇到这类异常,应该尽可能处理异常,使程序恢复运行,而不应该随意终止异常。( 还有能救… (⊙︿⊙))2. 异常的处理机制Python 的异常机制主要依赖try 、except 、else、finally 和 raise 五个关键字。try 关键字后面缩进的代码块简称...原创 2019-12-18 20:23:13 · 106 阅读 · 0 评论 -
017_Python知识点_文件操作 & os & json & pickle模块
1. 认识文件操作默认数据是加载到内存中,结果也是保存到内存中, 程序执行结束,所有的数据释放。为了长久存储数据,故而引入文件操作。文件操作的主要步骤有:打开或创建文件读取文件中的数据到内存或者将数据写入到打开的文件中关闭文件代码示例:f = open('/etc/passwd') # 打开文件/etc/passwd, 默认的打开模式是'r'content = f.read()...原创 2019-12-18 18:09:30 · 264 阅读 · 0 评论 -
016_Python知识点_认识函数及变量&匿名函数&递归函数
认识Python的函数1. 概述为了提高编写的效率以及代码的重用,把具有独立功能的代码块组织为一个小模块,这就是函数。从实现函数的角度来看函数包括以下三点:如果函数需要几个关键的动态变化的数据,那么这些数据应该被定义为函数的参数。如果函数需传出几个重要的数据(就是调用该函数的人希望得到的数据),那么这些数据应该被定义成返回值。函数的内部实现过程,即需要函数完成的某个功能,因为函数的使...原创 2019-12-16 17:28:37 · 153 阅读 · 0 评论 -
015_Python知识点_[最常用方法]Python数据类型总结
Python数据类型总结Python数据类型有序序列拥有的特性: 索引、切片、连接操作符、重复操作符以及成员操作符等特性。非序列1). 数值型intfloatcomplex2). 布尔类型TrueFalsee序列1). 有序数列字符串列表元组2). 无序数列集合字典...原创 2019-12-14 22:00:00 · 132 阅读 · 0 评论 -
014_Python知识点_序列数据类型_无序数列_集合&字典
Python数据类型之无序列数据类型序列数据类型可进行for遍历的数据类型,同时,无序列数据类型,也就是说,该数据类型还不可进行索引;不可切片;不可使用连接操作符、重复操作符以及成员操作符。以列表和集合为例:列表作为有序数据数列如果为其追加元素,那么,追加的元素势必在列表的最右边;而集合作为无序数列,添加的元素不一定会在集合的最右边。>>> a = [99, 12, 1,...原创 2019-12-14 21:49:49 · 1888 阅读 · 0 评论 -
013_Python知识点_序列数据类型_有序数列_字符串&列表&元组
Python数据类型之有序列数据类型序列数据类型可进行for遍历的数据类型,同时,有序列数据类型,也就是说,该数据类型还可进行索引;切片;使用连接操作符、重复操作符以及成员操作符。以列表和集合为例:列表作为有序数据数列如果为其追加元素,那么,追加的元素势必在列表的最右边;而集合作为无序数列,添加的元素不一定会在集合的最右边。>>> a = [99, 12, 1,88]&...原创 2019-12-14 17:44:46 · 1321 阅读 · 0 评论 -
012_Python知识点_非序列数据类型_数值型&布尔类型
Python数据类型之非序列数据类型非序列数据类型即不可进行for遍历的,也就是说,该数据类型不可索;不可切片;不可使用连接操作符、重复操作符以及成员操作符。int(有符号整数),整数一般以十进制表示,但是 Python也支持八进制(0o开始)或十六进制(0x开始)来表示整数。转换方法:十进制转换成二进制 bin(10)十进制转换成八进制 oct(10)十进制转换成十六进制 hex...原创 2019-12-13 16:21:06 · 770 阅读 · 0 评论 -
011_Python字典_项目_MD5在线加密解密工具
相信学习原创 2019-12-07 23:46:27 · 598 阅读 · 0 评论 -
010_Python知识点_is|== & copy(浅拷贝)|deepcopy(深拷贝)
is和==两种运算符在应用上的本质区别Python中对象的三个基本要素,分别是:id(身份标识)、type(数据类型)和value(值)。is和==都是对对象进行比较判断作用的,并返回True|False,但对对象比较判断的内容并不相同。==用来比较判断两个对象的value(值)是否相等,(type和value)is也被叫做同一性运算符, 会判断id是否相同,(id, type 和val...原创 2019-12-06 18:56:16 · 211 阅读 · 0 评论 -
009_Python命名元组_案例_云主机管理系统
命名元组的利弊益处:命名元组避免在频繁使用索引定位元素(eg: nums[1], nums[5]) 的过程中,致使代码可读性差的问题,可利用key 值直接定位数据。弊端:类比于字典(可变数据类型),字典同样支持通过key 值定位元素,不同之处在于命令元组数据类型仍为元组不支持修改(不可变数据类型),虽可利用namedtuple类方法_replace实现修改,但本质是新开辟一片内存创建数据来实现...原创 2019-12-06 18:00:34 · 209 阅读 · 0 评论 -
008_Python列表练习_案例_旋转数组
给定一个数组,将数组中的元素向右移动 k 个位置,k 是非负数示例:输入:[1, 2, 3, 4, 5, 6, 7],k = 3输出:[5, 6, 7, 1, 2, 3, 4]# 分析:即将后 k 个放置在nums的最前面nums = [1, 2, 3, 4, 5, 6, 7]k = 3# 从左边开始数,将剩余的len(nums)-k 个放在最后面(nums[:len(nums)...原创 2019-12-06 14:50:22 · 125 阅读 · 0 评论 -
007_Python列表练习_案例_删除数组中连续的重复项
给定一个排序数组,你需要原地删除重复出现的元素,使得每个元素仅出现一次,返回移除后数组的新长度,不要使用额外的数组空间,必须在原地修改输入数组并使用o(1)额外空间下完成...原创 2019-12-06 12:23:40 · 681 阅读 · 1 评论 -
006_Python列表练习_案例_两数之和
给定:一个整数数组nums = [2, 7, 11,15], 目标值target = 9因为:在该数组中找出和为目标值的两个整数–>mums[0] + nums[1] = 9输出:返回它们的数组下标 [0, 1]方法1:分支流程控制、循环流程控制 + 常用方法s.index 方法 + 列表遍历for num in nums + 注意: 不要使用双层for 循环实现, 可以成功, 但...原创 2019-12-05 17:41:48 · 318 阅读 · 0 评论 -
005_Python字符串练习_[吉比特校招编程题]字母数字混合排序
输入:一串字符串,包含数字[0-9]和字母[‘a’-‘z’]输出:一串字符串,按数字从小到大字母a-z排序,并且所有数字排在字母后面方法1:字符串的for 循环 + 字符串的常用判别函数: isdigit()、isalpha() + 分支流程控制 + sorted 内置方法实现排序# 1. 用户输入user_str = input()# 2. 定义仅存储字母或数字的字符串变量alp...原创 2019-12-05 16:43:26 · 426 阅读 · 0 评论 -
004_Python字符串练习_n种方法_[爱奇艺校招]删除重复的字符串
输入:一个字符串s,s的长度(1<=s<=1000),s中的每个字符都是小写字母(‘a’-‘z’)输出:一个字符串,对于同一个字符,只保留第一次出现并删除后面出现的字母方法1:字符串的for 循环 + 字符串的成员操作符 + 分支流程控制# 1. 用户输入user_str = input()# 2. 定义列表,并存储只出现过一次的元素str_list = []for ...原创 2019-12-05 14:48:32 · 278 阅读 · 0 评论 -
003_Python字符串练习_案例_最后一个单词的长度
给定一个仅包含大小写字母和空格的字符串,返回最后一个单词的长度,如果不存在最后一个单词,返回 0。示例:输入:hello world返回:5def last_word_length(user_tr): # 判断输入的字符串长度,如果为空不存在最后一个单词,直接返回0,退出程序 if len(user_str) == 0: return 0 # 将...原创 2019-12-05 11:48:09 · 207 阅读 · 0 评论 -
002_PyInstaller_打包Python代码为exe文件
Python带包工具PyInstaller,以防代码被盗等安装第三方包 PyInstaller$ pip install PyInstaller准备.icon图标,首先,可在阿里巴巴矢量图表库自行检索下载www.iconfont.cn;然后,利用图片转换工具https://www.easyicon.net/covert/,将图片转换为16*16的Microsoft icon格式Py...原创 2019-12-04 21:26:07 · 130 阅读 · 0 评论 -
001_Windows&Linux系统下Python开发环境的搭建
0. 环境准备Python3.7解释器 + Anaconda包管理器 + Pycharm编辑器1. Windows系统下的Python开发环境搭建1.1 (win) Python3.7解释器的安装登陆Python的官方下载网址:https://www.python.org/.选择一Windows下的稳定版的Python进行下载,如下图所示双击运行可执行程序python-3.7.5-...原创 2019-12-04 20:32:37 · 303 阅读 · 0 评论