Python
Python学习
一边学习一边哭
被虐千百遍的小小运维工程师。
展开
-
Linux tarball安装Python3.10.4
Centos 安装 Python3.10.4原创 2022-04-20 16:30:55 · 1787 阅读 · 0 评论 -
Python-正则表达式-贪婪模式和非贪婪模式
Python中的数量词默认是贪婪模式,会尽可能地去匹配更多的字符。非贪婪模式则相反,尽可能少地匹配字符。原创 2022-01-29 16:07:01 · 1620 阅读 · 0 评论 -
Python3-正则表达式-(?(id/name)yes|no)详细示例
python3正则表达式-(?(id/name)yes|no),详细示例。原创 2022-01-29 15:21:19 · 1401 阅读 · 0 评论 -
Python-正则表达式
python正则表达式re模块使用详解。原创 2022-01-29 11:33:02 · 1232 阅读 · 0 评论 -
Python-hashlib模块
hashlib主要提供一些加密算法应用场景:用于密码存储时,将密码加密。md6、sha1、sha256,这些加密算法都是不可逆的。示例import hashlibmsg = 'liqi'md5 = hashlib.md5(msg.encode('utf-8'))print(md5.hexdigest())sha1 = hashlib.sha1(msg.encode('utf-8'))print(sha1.hexdigest())sha256 = hashlib.sha25原创 2022-01-12 22:42:51 · 175 阅读 · 0 评论 -
Python-random模块
常用import randomrandom.random() #0-1之间的随机小数random.randrange(start, stop, step) #在range生成的列表中随机,支持步长设置,范围[start,stop) random.randint(start,stop) #随机生成范围内整数,范围[start,stop]random.choice(list) ..原创 2022-01-11 18:36:36 · 162 阅读 · 0 评论 -
Python-time&datetime模块
python的time模块和datetime模块原创 2022-01-10 23:07:09 · 408 阅读 · 0 评论 -
Python-接受命令行参数-sys.argv
python命令行传参类似与shell脚本,获取命令行传参的时候使用$1,$2,...,$@获取命令行参数python脚本使用sys.argv获取命令行参数示例脚本get-args.py#输入参数:#172.1.1.1,172.1.1.2,172.1.1.3 admin liqi-------------------#python示例import sysprint(sys.argv)-------------------#输出:['get-args.py',原创 2022-01-10 17:34:50 · 963 阅读 · 0 评论 -
Python-模块加载搜索顺序
当导入一个模块,Python解释器对模块位置的搜索顺序是:1.搜索当前目录2.如果不在当前目录,Python则搜索在shell变量PYTHONPATH下的每个目录3.如果都找不到,Python会查看默认路径。UNIX下,默认路径一般为/usr/local/lib/python。模块搜索路径存储在systm模块的sys.path变量中。...原创 2022-01-09 22:51:05 · 874 阅读 · 0 评论 -
Python-__new__-单例模式
__new__魔术方法的作用1.单例模式原创 2022-01-09 17:48:18 · 420 阅读 · 0 评论 -
Python-super()的用法
super()的用法入门和super()与直接调用父类类名的区别原创 2022-01-09 16:53:22 · 1518 阅读 · 0 评论 -
Python-包和__init__.py
包的调用和__init__.py的作用。原创 2022-01-06 23:48:34 · 485 阅读 · 0 评论 -
Python中if __name__ == ‘__main__‘的含义
自定义模块,不希望模块被调用时,模块自身的代码逻辑也被执行。可以使用:if __name__ == '__main__'原创 2022-01-05 22:55:12 · 2398 阅读 · 0 评论 -
Python-自定义模块&导入和使用
自定义模块自定义模块其实就是写一个.py的文件,里面包含一些可以公用的变量、函数、类。导入格式:import 模块名原创 2022-01-04 23:33:48 · 863 阅读 · 0 评论 -
Python-面向对象编程-多态&鸭子类型
多态概念多态性在现实生活中很普遍。动物都有交生,虽然都是“叫”,但叫声是多种多样的,列如,狗、猫、鸟、狼、狮子等叫声各不相同,即“叫”这个动作效果不同;又如,计算面积,但是长方形、圆、三角形的面积计算公式也不相同。这就是多态。示例我们先定义一个类Animal,然后Cat和Dog类继承Animal。class Animal(): def whoami(self): print('我是一只动物')class Cat(Animal): ...原创 2021-12-27 23:39:11 · 736 阅读 · 0 评论 -
Python-面向对象编程-继承
继承、多重继承原创 2021-12-27 01:18:18 · 521 阅读 · 0 评论 -
Python-has a & is a
has a含义:一个类中使用了另外一种自定义类系统类型&自定义类型系统类型 int()、str()、list().... 自定义类型 自定义类,就是一个自定义类型。 类的实例的类型,就是自定义类的类名。class Animal(): def whoami(self): print('我是一只动物')animal1 = Animal()print(isinstance(animal1, Animal))--------------原创 2021-12-24 17:24:49 · 468 阅读 · 0 评论 -
Python-面向对象编程-限制访问/私有化/@property
属性私有化@property装饰器原创 2021-12-19 18:20:40 · 667 阅读 · 0 评论 -
Python-面向对象编程-类和对象
类定义类所有类名首字母要求大写,多个单词时遵循驼峰命名法 所有未定义父类的类都继承object格式:class 类名[(父类)]:#两种方式意思相同class Person: passclass Person(object): pass定义类和属性name、age、subject就是类属性class Student: #类属性 name = '' age = 0 subject = []类中方法对象方法(.原创 2021-12-12 23:04:20 · 603 阅读 · 0 评论 -
Python-异常处理机制
什么是异常?def num(a, b): a = int(a) b = int(b) result = a / b print(result)上面是一个很简单的除法的函数,语法上没有任何问题。但是如果调用函数的时候,传入字符串。则会抛出异常ValueError。且后续代码不会执行再比如除数是0。那也将抛出异常ZeroDivisionError。且后续代码不会执行异常处理格式try: #程序代码exce...原创 2021-12-07 22:34:27 · 574 阅读 · 0 评论 -
Python-文件操作
open()实现文件的读写操作。读文件-readread读取文件全部内容open_file = open('E:/python练习/test-file.txt')read_container = open_file.read()print(read_container)-------------输出:file test1file test2readline独去文件行内容。如果不做循环,只会读取第一行。o..原创 2021-12-05 19:47:49 · 677 阅读 · 0 评论 -
Python-匿名函数&高阶函数
匿名函数&高阶函数。它们俩有啥不可告人的关系?!原创 2021-11-30 22:21:38 · 650 阅读 · 0 评论 -
Python-递归函数
如果一个函数内部调用的不是其他函数,而是调用自己本身。这个函数就是递归函数。递归写一个阶乘def factorial(num): if num == 1: return 1 return num * factorial(num - 1) num -= 1print(factorial(6))-----------输出:720使用递归函数需要防止栈溢出。递归调用次数过多的话,会导致栈溢出。def factorial(num):原创 2021-11-27 23:25:52 · 381 阅读 · 0 评论 -
Python-装饰器
概述在讲装饰器之前,要引入一个面向对象的核心原则——“开发封闭原则”。开放封闭原则主要体现在两个方面:对扩展开放,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况。 对修改封闭,意味着类一旦设计完成,就可以独立完成其工作,而不要对类进行任何修改。对于python中的已经完成的函数。我们应该不要对已有函数本身直接进行修改,但是我们仍然在需要新的功能时对其进行扩展。装饰器的格式在需要被装饰的函数上一行添加:@decorator_name一个简单的装饰器可以原创 2021-11-24 22:31:03 · 935 阅读 · 0 评论 -
Python-函数的高级注释
注释不需要给大家多解释。不仅是对于别人,自己写的代码太长时间没有看过也容易遗忘。注释能有效提高我们代码的可读性。写一个有高级感的函数注释格式:"""***函数的描述和注释***:param xxx: 对于参数xxx的注释:return: 对于返回值的注释"""...原创 2021-11-21 21:42:02 · 697 阅读 · 1 评论 -
Python-全局变量和局部变量
什么是全局变量和局部变量?局部变量:在函数内部申明的变量,只能在函数内部调用,超过使用范围就会报错。全局变量:就是在整个python文件中申明的变量,可以在全局使用。正常情况下:# 什么是全局变量和局部变量?a = 100def sum_num(num): total = a + num print('局部变量打印:') print('num:{};total:{}'.format(num, total)) print('全局变量打印:')原创 2021-11-17 23:34:39 · 3490 阅读 · 0 评论 -
Python-可变和不可变类型
不可变类型:当改变变量值时,地址也发生改变。int 整型 float 浮点型 str 字符串型 tuple 元组 bool 布尔型可变类型:当改变变量值时,地址不发生改变。list 列表 dict 字典 set 集合...原创 2021-11-17 23:10:15 · 568 阅读 · 0 评论 -
Python-函数
函数解决了复用的问题,比如一段代码需要在多个地方复用。本文介绍了各种参数定义、函数的装包和拆包、函数返回值-return、嵌套函数、闭包。原创 2021-11-21 23:27:51 · 653 阅读 · 0 评论 -
Python-推导式、生成器、迭代器
列表推导式、字典推导式、集合推导式生成器迭代器原创 2021-11-14 23:18:08 · 659 阅读 · 0 评论 -
Python-字符串常见操作
常见操作获取长度:len 查找内容:find、index、rfind、rindex 判单:startswith、endswith、isalpha、isdigit、isalnum、isspace 计算出现次数:count 替换内容:replace 切割字符串:split、rsplit、splitlines、partition、rpartition 修改大小写:capitalize、titile、upper、lower 空格处理:ljust、rjust、center、lstrip、rstrip原创 2021-11-09 11:49:47 · 290 阅读 · 0 评论 -
Python-各种循环
while循环必备:1.初始值、2.条件、3.初始值的自增n =1 #初始值while n <= 5: #n <= 5 为条件 print('---%d' % n) n += 1 #初始值的自增while...else如果上面的for循环没有出现中断,执行到最后就会进入elsefor循环#一般格式for i in range(n): 循环体内容for...else如果上面的for循环没有出现中断,一直执...原创 2021-11-07 22:50:14 · 565 阅读 · 0 评论 -
Python-进制转换
n=222#十进制转二进制result_binary = bin(n)print("二进制:" , result_binary)#二进制转十进制result_decimal_system = int(result_binary,2)print("二进制转十进制:" , result_decimal_system)#十进制转八进制result_octal_number_system = oct(n)print("八进制:" , result_octal_number_system)#.原创 2021-11-04 11:53:37 · 69 阅读 · 0 评论 -
Python-类型转换
类型转换str ---> int/floatint(str)float(str)如果字符串类型的带小数点的数,不可以转成int类型。但是float类型可以转成int类型,小数点后会被抹掉。int/float ---> strstr(int/float)int <---> floatint(float)float(int) float小数点后的会被抹掉。bool类型转换int(bool)float(bool)...原创 2021-11-03 22:51:21 · 66 阅读 · 0 评论 -
Python-if判断
单分支ifbudget = input("输入预算:")budget = int(budget)# 单分支if budget > 1000: print('很多预算')双分支if..elsebudget = input("输入预算:")if budget.isdigit(): budget = int(budget)else: print('输入的不是数字') exit()if budget > 1000: .原创 2021-11-03 14:43:02 · 518 阅读 · 0 评论 -
Python-命令行读取用户指令
语法:input()name = input("Your name:")age = input("Your age:")job = input("Your job:")msg = f'''----------{name}----------Name: {name}age: {age}job: {job}----------end----------'''print(msg)原创 2021-11-03 11:02:19 · 186 阅读 · 0 评论 -
Python-常用运算符
常用运算符算术运算符 + 、- 、* 、/、%、**、//比较运算符 > 、< 、!= 、>= 、<= 、==、<>复制运算符 += 、-+ 、/=逻辑运算符 and 、or 、not成员运算符 in 、not in身份运算符 type(x)位运算 2进之运算算数运算符运算符 描述 + 两数相加 - 两数相减 * 两数相乘 / 除以 % 取模,返回除法的余数 ** 幂原创 2021-11-02 22:55:06 · 118 阅读 · 0 评论 -
Python-数据类型
主要数据类型数字类型:int、long、float字符串类型str列表list、元组布尔bool集合set字典dict字节bytes查看数据类型tpye(data)数字类型int(整型)64位的机器上,整数的位数为64位。取值范围在,即 -9223372036854775808 ~ 923372036854775807long(长整型)理论上可以无限大,但是由于机器内存有限,所以也不可能无限大。自从python3开始,就没有long了,原创 2021-11-02 22:25:10 · 304 阅读 · 0 评论 -
Python-变量与内存
什么是变量?变量:name = "xiaoming"变量名:name变量值:xiaoming内存地址:id(name) 获取内存地址变量名定义规则字母、数字、下划线的组合 变量名第一个字符不能是数字 以下关键字不能声明为变量:【and、as、assert、break、class、continue、def、elif、else、except、exec、finally、for、from、global、if、import、in、is、l...原创 2021-10-29 18:05:13 · 175 阅读 · 0 评论