
Python
python学习和使用
Jiucheng18
这个作者很懒,什么都没留下…
展开
-
【即时通讯】轮询方式实现
django4.2、django-ninja、LayUI、jQuery通过轮询的方式实现一个简易的聊天室。原创 2024-09-08 21:56:35 · 667 阅读 · 0 评论 -
并发编程-进程
python多进程基本使用。原创 2023-03-04 20:00:36 · 711 阅读 · 0 评论 -
计算一段代码的执行时间(3种方式)
python高阶计算一段代码的执行时间原创 2022-12-07 21:44:50 · 936 阅读 · 0 评论 -
python逻辑运算符优先级
逻辑运算符: not、and、orPython 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)] on win32True or False and TrueTrue# True or (False and True)False or not FalseTrue# False or (not False)True or True and FalseTrue# True or (True原创 2021-11-25 21:20:45 · 1386 阅读 · 0 评论 -
pymysql建表+插入数据
需求:保存数据到MySQL安装pymysqlpip install pymysql保存数据模块from pymysql import connectfrom pymysql.cursors import DictCursor# 建立连接conn = connect( host="localhost", user="root", password="root", database="db_transmitter", port=3306, cur原创 2021-08-29 12:01:05 · 1371 阅读 · 0 评论 -
匹配括号算法(Stack)
Stack应用练习:判断括号串中的括号是否匹配在做括号匹配之前需要使用数据结构——栈(Stack)来完成请参照博客python实现Stack,当然,为了方便使用,我把以列表尾部作为栈顶的代码放在这边。class Stack(object): """以列表尾部为栈顶""" def __init__(self): self.items = [] def is_empty(self): # 是否为空 return self.items ==原创 2021-06-16 22:48:36 · 373 阅读 · 0 评论 -
python实现Stack
栈是线性数据结构,其特点是元素的增加和删除都是入栈和弹栈的形式(遵循先进后出或后进先出的原则)class Stack(object): def __init__(self): self.items = [] def is_empty(self): return self.items == [] def push(self, item): self.items.append(item) def pop(self):原创 2021-06-14 23:21:51 · 249 阅读 · 2 评论 -
python面试题汇总
title: python面试题date: 2021-04-07 20:12:03tags:top: 6持续更新中…python的特点 python是一种解释性语言 python是交互式语言 python是面向对象的语言 python易于学习,易于阅读 python可跨平台运行2.Python优缺点优点: 易于学习、易于维护、易于阅读 一个广泛的标准库 支持交互,在终端敲命令的形式得到运行的结果 可移植性 可扩展性【可以调用C或C++写的代码】原创 2021-04-13 20:53:31 · 951 阅读 · 10 评论 -
单例设计模式
什么是单例设计模式?单例:单个对象/实例程序在运行过程中,确保一个类只能创建一个对象,之后不管在程序的哪个地方获取该类的对象,获取到的都是同一个对象使用场景:商品仓库等,import导入模块就是一个单例设计模式,每个模块只能被导入一次使用类属性实现单例设计模式# 类属性实现单例设计模式class A(object): # 定义类属性 __instance = None # 重写构造函数__new__ def __new__(cls, *args, **kwarg原创 2021-04-09 19:17:30 · 131 阅读 · 1 评论 -
三种方式遍历磁盘目录
深度遍历递归import osdef get_files(path): # 判断路径是否存在,如果不存在,函数直接结束 if not os.path.exists(path): print('路径不存在') return # 判断路径是否为文件夹 if not os.path.isdir(path): print('路径是一个文件') return # 这时候,路径是一个文件夹 # 获取文原创 2021-03-31 20:59:36 · 995 阅读 · 3 评论 -
列表的切片深拷贝还是浅拷贝?
列表的切片是生成了一个新的列表原创 2021-03-31 19:38:02 · 2145 阅读 · 5 评论 -
闭包与装饰器
闭包概念:在一个函数内部定义了一个内部函数,在内部函数中访问了外部函数的变量,这样就构成了闭包。一般情况下,外部函数返回内部函数的引用def outer(): num = 10 def inner(): b = 20 return num + b return innerf = outer()print(f())30装饰器Decorator要想理解装饰器,首先得理解闭包的概念作用:在不改变原函数的情况下,在函数运行期间动态添加新的原创 2021-03-30 22:40:58 · 177 阅读 · 4 评论 -
搞定匿名函数与高阶函数
匿名函数匿名函数:是指不通过常规的def声明函数的方法创建函数,而是用lambda关键字创建函数,顾名思义,匿名函数没有函数名,但是也可以用变量接出来。创建语法lambda 形参列表: 函数体 返回值>>> fn = lambda x: x + 10>>> fn(20)30举例示范判断一个数是否是偶数>>> fn = lambda x: True if x % 2 == 0 else False>>> fn(18原创 2021-03-30 20:39:37 · 268 阅读 · 1 评论 -
字符串系统函数
1.转换eval(str)如果str是一个有效的python语句,eval()函数会当作真正的python语句执行>>> str1 = 'print("hello world !")'>>> eval(str1)hello world !.upper()、.lower()upper():将字符串中的小写字母转换为大写字母lower():将字符串中的大写字母转换为小写字母>>> str1 = 'abcdE'>>>原创 2021-03-25 21:04:15 · 165 阅读 · 0 评论 -
什么是字典?什么是集合?
字典定义字典是由一系列键(key)值(value)对组成的元素的容器,其中,字典的key只能是不可变数据类型(字符串,整型,浮点型,元组,布尔,字典的value可以是任意的数据类型。字典是可变的数据类型,其长度大小可变,可以任意增加、删除或者修改内部的元素字典不支持索引操作创建字典的5种方式第一种:创建的同时添加键值对dict1 = {'name':'jack','age':18'}第二种:先创建一个空字典,然后往里面添加键值对dict2 = {}dict2['name'] = 'jac原创 2021-03-24 21:03:45 · 3407 阅读 · 1 评论 -
python中的二分法查找元素
二分法查找指定元素二分法的前提是该列表必须是有序的,非有序列表需要排序后查找num_list = [30,11,23,24,35,77,2,13]list1 = num_list.copy()list1.sort()定义个变量,表示列表两边和中间的索引和要查找的元素key = 11left = 0right = len(list1) - 1middle = (left + right) // 2循环比较,查找出目标元素while left <= right: if key原创 2021-03-23 20:55:39 · 1139 阅读 · 0 评论 -
python中的冒泡排序和选择排序
冒泡排序每次比较相邻的两个元素,根据升序或者降序的规则,通过比较符合条件后两者进行位置交换num_list = [30, 11, 23, 35, 2, 13, 77, 34]# 外层循环控制比较的轮数,每次比较之后会有一个最值交换到边缘位置for i in range(len(num_list)-1): # 内层循环控制每一轮比较的次数,随着轮数的增加,确定的元素越来越多,比较的次数也随之减少 for j in range(len(num_list)-i-1): #原创 2021-03-23 20:25:31 · 174 阅读 · 0 评论 -
python列表相关函数
列表是有序的,可变的,可以存储不同数据类型,可以存储重复数据的容器列表增加元素相关的函数.append(obj)append(obj):在列表的末尾添加任意类型的数据类型,类似列表、元组之类的数据会当作一个整体添加>>> nums = [1,2,3]>>> nums.append(4)>>> nums[1, 2, 3, 4].insert(index,obj)insert(index,obj):在列表的指定索引处插入一个元素注意:原创 2021-03-22 20:36:50 · 173 阅读 · 0 评论 -
假设法求100~200之间素数个数
python基础:求素数个数count = 0for i in range(100,200): # 循环刚进来时假设i为素数 flag = True for j in range(2,i): if i % j == 0: flag = False if flag: count += 1print('100~200之间有{}个素数'.format(count))原创 2021-03-19 20:06:01 · 241 阅读 · 2 评论 -
python交换两个变量的值(四种方法)
方式一:使用第三个变量的常规交换方式a = 18b = 30temp = 0temp = aa = bb = temp方式二:python中特有的交换方式a = 18b = 30a, b = b, a方式三:使用加减法a = 18b = 30a = a + b - ab = b + a - b方式四:使用异或法python中一个数连续异或另一个数的结果还是这个歌数a = 18b = 30a = b ^ a ^ ab = a ^ b ^ b...原创 2021-03-17 19:34:03 · 21940 阅读 · 6 评论 -
python运算符及优先级
文章按照优先级由高到低的顺序对python运算符进行简单的示例求幂 **>>> a = 2 ** 3>>> a8按位取反 ~python中不支持一元运算(i++或i–类似的在python中不支持)>>> a = 0>>> ~a-1乘(*)、除(/)、取余(%)、取整除(//)>>> 2 * 36>>> 2 / 30.6666666666666666>>原创 2021-03-17 19:18:00 · 354 阅读 · 3 评论 -
python常用数据类型
整型 inta = 10print(type(a))结果:<class 'int'>浮点型 floatnum = 3.1print(type(num))结果:<class 'float'>复数 complex(不常用)x = a + bj的形式x = 1 + 2j# 访问实部x.real# 访问虚部x.imag>>> x = 1 +2j>>> x.real1.0>>> x.imag2原创 2021-03-16 20:33:55 · 522 阅读 · 2 评论 -
python连接和操作mongodb
1.pymongo不是python自带的库,需要使用pip安装pip install pymongo2.导入pymongo模块import pymongo# 导入pymongo中的mongodb的客户端类from pymongo import MongoClient3.创立连接# 27017是mongodb默认端口conn = MongoClient("localhost", 27017)4.连接目标数据库# mydb代表数据库名db = conn.mydb5.选择要操作的集原创 2020-12-05 19:57:37 · 229 阅读 · 0 评论 -
装饰器实现计算一段代码的执行时间
计算一段代码的运行时间# 导入时间模块import time# 书写装饰器# 被装饰的函数将被当做参数传入装饰器def get_cal_time(fun): # 内部函数 def inner(*args, **kwargs): # 获取代码开始运行的时间 start_time = time.time() # 调用需要计算运行时间的函数 fun(*args, **kwargs) # 获取函数运行结束时的时间 end_time = time.time() # 返回函数原创 2020-11-27 20:01:50 · 498 阅读 · 2 评论