09 2024 档案

摘要:练习1:请将user中的元素根据 _ 链接,并写入 'a1.txt' 的文件 """ user = ['alex','eric'] data = "_".join(user) file_object = open('a1.txt',mode='w',encoding='utf-8') file_ob 阅读全文
posted @ 2024-09-28 21:41 jhchena 阅读(6) 评论(0) 推荐(0) 编辑
摘要:如果以后读取一个特别大的文件 (**********) 推荐 for line in file_object: line = line.strip() print(line) file_object.close() 阅读全文
posted @ 2024-09-28 21:25 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:![](https://img2024.cnblogs.com/blog/1749876/202409/1749876-20240928151632192-1074847364.png) ![](https://img2024.cnblogs.com/blog/1749876/202409/1749876-20240928151639929-1088250005.png) ![](https:// 阅读全文
posted @ 2024-09-28 15:17 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:# 列举你了解的字典中的功能(字典独有)。 # keys values items update get # 列举你了解的集合中的功能(集合独有)。 a = set() b = set() a.intersection(b) # 交集 a.union(b) # 并集 a.difference(b) 阅读全文
posted @ 2024-09-28 12:00 jhchena 阅读(16) 评论(0) 推荐(0) 编辑
摘要:# 没有安装 requests模块 ,需要安装此模块 pip3 install requests import json import requests res=requests.get( url='https://movie.douban.com/j/search_subjects?type=tv 阅读全文
posted @ 2024-09-28 08:53 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:json:本质是一个特定结构的字符串 意义 :打通不同编程语言之间进行相互通信 时的数据格式问题。 序列化(python数据类型 转换成 JSON格式化字符串) # python数据类型 转换成 JSON格式化字符串 序列化 import json # python数据类型 info = {"cod 阅读全文
posted @ 2024-09-28 08:52 jhchena 阅读(12) 评论(0) 推荐(0) 编辑
摘要:问题:无法反向解密时,我们 知道密码明文吗 用户注册 import hashlib # 1、用户注册 user = input("请输入用户名:").strip() pwd = input("请输入密码:").strip() # 2、加密 obj = hashlib.md5('testaa'.enc 阅读全文
posted @ 2024-09-28 08:51 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:此模块用于实现加密,例如:md5加密 import hashlib def run(): data = '中国联通' obj = hashlib.md5() obj.update(data.encode('utf-8')) ret = obj.hexdigest() print(ret) 为什么要加 阅读全文
posted @ 2024-09-28 08:50 jhchena 阅读(9) 评论(0) 推荐(0) 编辑
摘要:年会抽奖案例 把向向过程编程函数实现时:可读性+重用性,print时,能不使用“”号时,尽量不使用 - 各部门统计员工的姓名 => 部门名称.txt - 读取用户信息 - 根据特定的奖项配置来进行抽奖 data_list = [ ("三等奖",5,"空气净化器"), ("二等奖",3,"ipad") 阅读全文
posted @ 2024-09-28 08:50 jhchena 阅读(18) 评论(0) 推荐(0) 编辑
摘要:生成公司所有员工的信息,放在一个列表里面 import random # 生成公司所有员工的信息,放在一个列表里面,随机选择一个员工 user_list = [] for item in range(1,301): user_list.append(f"工号-{item}") lucky_user 阅读全文
posted @ 2024-09-28 08:49 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:# 1、随机整数 v1 = random.randint(10, 20) # 2、随机小数 v2 = random.uniform(10, 20) # 3、随机选择成员 v2 = random.choice([10, 20, 3, 40]) # 4、随机取样 # 2表示随机取多少个,当前表示取2个 阅读全文
posted @ 2024-09-28 08:49 jhchena 阅读(8) 评论(0) 推荐(0) 编辑
摘要:成员和冲突 #如果导入的方法存在冲突时,进行取别名 import db as d1 from utils.db import db as d2 #也支持下面的方法导入 from utils.db import x1,x3,x3 from utils.db import * #此方式不推荐 def r 阅读全文
posted @ 2024-09-28 08:45 jhchena 阅读(1) 评论(0) 推荐(0) 编辑
摘要:主文件和__name__ 主文件:启动的程序 #以前写法 def run(): pass run() #主文件写法,是可以直接右键进行运行的 def run(): pass if __name__ == "__main__": run() name 是什么? #表示当前运行的这个文件名 print( 阅读全文
posted @ 2024-09-28 08:45 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:模块导入规则 在python内部导入模块时,必须要遵循他的规则,必须去指定的目录中找py文件。 寻找模块一般就三个位置 优先在当前运行脚本的同级目录 【一般问题比较多】 python的安装目录 【内置模块】 python的安装目录+site-packages 【第三方模块】没有的使用 pip ins 阅读全文
posted @ 2024-09-28 08:41 jhchena 阅读(33) 评论(0) 推荐(0) 编辑
摘要:基本使用 编写代码 utils - my.py - encrypt.py db.py app.py (主程序) 导入模块 import db from utils import my from utls import encrypt #导入后调用方法 db.xx() my.xx() encrypt. 阅读全文
posted @ 2024-09-28 08:38 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:自定义模块 模块:py文件 +文件夹 +py文件 模块:别人帮忙我们写好的一大堆的功能代码。 模块: - 自定义模块 - 功能简,一个py文件就能实现功能 - 功能多or 负责,一个py文件的功能拆分到多个py文件 - 内置模块,python内部已经携带 import ost import re - 阅读全文
posted @ 2024-09-28 08:37 jhchena 阅读(2) 评论(0) 推荐(0) 编辑
摘要:模拟导入原则 # 模块导入遵循规则,内置模块放在最上面,内置模块与第三方模块,通过空行分隔下,为了美观,短的放上面,长的 import re # 如果全是第三方模块,为了美观,长的放下面,短的放上面 import requests from bs4 import BeautifulSoup # 用来 阅读全文
posted @ 2024-09-28 08:36 jhchena 阅读(7) 评论(0) 推荐(0) 编辑
摘要:增加重试版本-未使用装饰器 # 未增加重试版本-未使用装饰器 def download(url): for i in range(5): try: res = requests.get(url) print(res.status_code) if res.status_code == 200: re 阅读全文
posted @ 2024-09-28 08:36 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:8.1第二回合-引入装饰器-案例 有某个函数,我希望你帮忙我实现这个函数计算下他得执行时间 def outer(func): def inner(*args,**kwargs): start = time.time() v = func(*args,**kwargs) end = time.time 阅读全文
posted @ 2024-09-28 08:35 jhchena 阅读(6) 评论(0) 推荐(0) 编辑
摘要:8.1第一回合-引入闭包 def send_emial(to,subject,conent): print('发邮件',to,subject,conent) send_emial("chenjinhua@053.com",'发工资','本月:1200') 接下来,想要实现一个功能,在发送短信之前 做 阅读全文
posted @ 2024-09-28 08:34 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:案例 有某个函数,我希望你帮我实这个函数计算下得执行时间 import time def fun(func): def inner(*args,**kwargs): start = time.time() res = func(*args,**kwargw) end = time.time() re 阅读全文
posted @ 2024-09-28 08:33 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:使用配置文件+反射实现 需要遵守:开放封闭原则 开放,针对配置开放 封闭,针对功能代码 目录结构 unicom - app.py - settings.py - utils - sms.py - wechat.py #seetings.py里面代码 MESSAGE_LIST =[ "utils.sm 阅读全文
posted @ 2024-09-28 07:53 jhchena 阅读(10) 评论(0) 推荐(0) 编辑
摘要:案例:三个人做项目开发 # 案例:三个人做项目开发 # test1,业务逻辑开发 # test2 发短信消息 # test3 发wechat消息 传统的实现 def run(): from utils import sms,wechat msg = "cpu报警了" sms.send(msg) we 阅读全文
posted @ 2024-09-28 07:52 jhchena 阅读(6) 评论(0) 推荐(0) 编辑
摘要:字面意思理解反射 反射本质上就是通过字符的形式去操作对象/模块中的成员。 # 基于三个内置函数实现反射相关的功能 : # 反射本质上就是通过字符的形式去操作对象/模块中的成员。 # getattr() # 使用最高 # setattr() # 使用较少 # hasattr() # 其次使用 from 阅读全文
posted @ 2024-09-28 07:52 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要://项目目录 结构 unicom - app.py - templates - xxx.html - static 1.png 2.png // 图片需要目录下的staitc目录 下 <div> <h2> 中国联通 </h2> <img src = "/static/v1.png"> </div> 阅读全文
posted @ 2024-09-28 07:50 jhchena 阅读(6) 评论(0) 推荐(0) 编辑
摘要:from flask import Flask, render_template from datetime import datetime app = Flask(__name__) # 访问地址:http://127.0.0.1:9999/home @app.route("/home") # 写 阅读全文
posted @ 2024-09-28 07:50 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:from flask import Flask, render_template from datetime import datetime app = Flask(__name__) # 访问地址:http://127.0.0.1:9999/home @app.route("/home") # 写 阅读全文
posted @ 2024-09-28 07:50 jhchena 阅读(7) 评论(0) 推荐(0) 编辑
摘要:基本框架 from flask import Flask, render_template from datetime import datetime app = Flask(__name__) # 访问地址:http://127.0.0.1:9999/home @app.route("/home" 阅读全文
posted @ 2024-09-28 07:49 jhchena 阅读(6) 评论(0) 推荐(0) 编辑
摘要:HTML标签 title 头部设置页签标题 h1 设置标题 div 比较素的标签 div/span span a a 标签创建超链接 img img 显示图片链接 ul li ol li 无序与有序 table 表示 thead 设置表头。tr 表示行 th 表头列,,td 表格列 - 块级标签:霸 阅读全文
posted @ 2024-09-28 07:48 jhchena 阅读(2) 评论(0) 推荐(0) 编辑
摘要:前端概述 HTML 裸体的人 CSS 空上漂亮衣服 JavaScript,编程语言+浏览器 框架,别人帮忙我们写好一些CSS+JavaScript,在他的基础上进行开发。 HTML学习流程 - 其他:标签是干什么的。 - 课程:HTML就像模板中有些动态的数据{{}} {%%} 给他进行替换,替换完 阅读全文
posted @ 2024-09-28 07:48 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:# 模块,对象=包裹 from utils import db # 函数,对象=包裹 func = db.show # 类, 对象=包裹 db.Info # 类对象,对象=包裹 obj = db.Info() db.show.__doc__ ret = getattr(db.show, "__doc 阅读全文
posted @ 2024-09-28 07:47 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:第三方模块 pyinstaller 【打包文件成exe文件,可以打包多个、或者单个文件】 requests 【模拟浏览器发送网络请求,步骤:网络请求 + 分析请求 + 伪造】 #获取放假节日信息接口 https://timor.tech/api/holiday/year/2024-10 bs4 【进 阅读全文
posted @ 2024-09-28 07:46 jhchena 阅读(9) 评论(0) 推荐(0) 编辑
摘要:内置模块 random 生成随机数 hashlib md5加密 json 序列化与反序列化转换 time/datetime 时间戳、 os模块 路径拼接 import os # 后面可以接很多个 path = os.path.join("xxx","xxxx",'xxx.txt') 上级目录 imp 阅读全文
posted @ 2024-09-28 07:45 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:文件夹和文件(扩展) py文件 -> 模块 文件夹 -> 包 py2的包:内部必须一个__init__.py 文件 py3的包:无限制 导入模块 去哪里导入? import sys sys.path 当前运行脚本所在目录 python的安装目录 python的安装目录/site-packages 注 阅读全文
posted @ 2024-09-28 07:43 jhchena 阅读(10) 评论(0) 推荐(0) 编辑
摘要:模块分类 - 自定义模块 - 内置模块 - 第三方模块 自定义模块 关于拆分 crm - utils - encrypt.py - db.py - message.py - app.py 阅读全文
posted @ 2024-09-28 07:43 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:函数 - 基础:定义、参数、返回值 - 进阶: - 默认参数如果是可变类型 : {} [] 集合 内部元素可以被修改的类型 有坑,不建议使用 - 作用域 py: if 1==1: name = 'test' # 等于: test 没有问题 print name for i in range(10): 阅读全文
posted @ 2024-09-28 07:42 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:数据类型 整形 int - 在python2: int long - 在python3中只有 int - 数据直接支持:+ - * / 比较等 - 特别的: 8 * 'x' -> 表示生成 8个x -> xxxxxxx print(f'{20 * "*"}"欢迎使用XXX 系统"{20 * "*"} 阅读全文
posted @ 2024-09-28 07:42 jhchena 阅读(2) 评论(0) 推荐(0) 编辑
摘要:python解释器编码(python读取代码文件时) -python3:utf-8编码 -python2:ascii编码 输入、输出 变量 python常用关键字:if else elif while break for continue def return 条件语句 -if 值: pass 循环 阅读全文
posted @ 2024-09-28 07:41 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:- 编码 -ascii 只包含英文、字母,不含中文 -gbk 只包含亚洲等国家一些文字 -unicode 万国码,包含所有国家,所有发现的一些文字,总共可以表达:2的32次方 -utf-8 实际上是对unicode进行压缩,能尽可能少的占据内存、网络传输使用更多的编码格式:utf-8 关于中文 -g 阅读全文
posted @ 2024-09-28 07:39 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:环境搭建 -python解释器 c:\pyton39 -python.exe -Scripts -pip.exe -pip3.exe -pip3.9.exe(下载第三方模块) -Lib -re.py -os.py -site-packages -openpyxl pip install openpy 阅读全文
posted @ 2024-09-28 07:38 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:class Student: def __init__(self, name, age): self.name = name self.age = age s1 = Student('s1', 29) s2 = Student('s2', 29) s3 = Student('s3', 26) # s 阅读全文
posted @ 2024-09-28 07:31 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:__? 表示是私有,私有得,只能内部才能访问 class Info: city = 'sc' __xx = 'xxx' # __表示私有成员 def __init__(self, name, age): self.name = name self.__age = age def show(self) 阅读全文
posted @ 2024-09-28 07:31 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:# __add__ class Info: def __init__(self, number): self.number = number def __add__(self, other): # return self.number + other.number # self.number 表示o 阅读全文
posted @ 2024-09-28 07:31 jhchena 阅读(2) 评论(0) 推荐(0) 编辑
摘要:# __enter__、__exit__ 用来对上下文管理 class content: def __init__(self, filepath, mode): self.filepath = filepath self.mode = mode self.encoding = 'utf-8' sel 阅读全文
posted @ 2024-09-27 06:24 jhchena 阅读(2) 评论(0) 推荐(0) 编辑
摘要:# __getitem__、__setitem__、__delitem__ class content: def __init__(self, name, age): self.name = name self.age = name def __getitem__(self, item): pass 阅读全文
posted @ 2024-09-27 06:24 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:class content: def __init__(self, name, age): self.name = name self.age = name def __str__(self): return f"{self.name}-{self.age}" obj = content('test 阅读全文
posted @ 2024-09-27 06:23 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:# # __dict__ class content: def __init__(self, name, age): self.name = name self.age = name obj = content('test', 19) # 将数据封装到类中 # 可以通过对象.方式,获取里面的变量 p 阅读全文
posted @ 2024-09-27 06:23 jhchena 阅读(2) 评论(0) 推荐(0) 编辑
摘要:call class foo: # __int__ 初始化方法 def __init__(self, name): # 2、在去执行:__init__ 方法,做初始化 self.name = name def ff(self): print(self.name) def __call__(self) 阅读全文
posted @ 2024-09-27 06:23 jhchena 阅读(2) 评论(0) 推荐(0) 编辑
摘要:# __new__ 构造方法,创建对象 class foo: def __init__(self, name, age): # 2、在去执行:__init__ 方法,做初始化 self.name = name self.age = age def __new__(self): # 1、先创建空对象 阅读全文
posted @ 2024-09-27 06:22 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:class goods: def __init__(self, name, age): # __int__ 初始化方法 self.name = name self.age = age obj = goods('test', 11) print(obj.name, obj.age) 阅读全文
posted @ 2024-09-27 06:22 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:class Pagination: def __init__(self, total_count, per_page_count, page_num): """ :param total_count: 数据总条数 :param per_page_count: 每页数据显示的条数 :param pag 阅读全文
posted @ 2024-09-27 06:21 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:属性方法写法 # 属性方法写法1 class Info: @property # 变成属性方法 def get_name(self): return '123' @get_name.setter # 给属性方法,增加一个setter方法,setter 表示设置 def get_name(self, 阅读全文
posted @ 2024-09-27 06:21 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:class Info: def __init__(self, name): self.name = name # 实例变量 @classmethod def fetch(cls): print(cls) Info.fetch() # 调用静态方法,不需要创建对象,也不需传self参数 阅读全文
posted @ 2024-09-27 06:20 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:class Info: def __init__(self, name): self.name = name # 实例变量 @staticmethod def fetch(): print(123) Info.fetch() # 调用静态方法,不需要创建对象,也不需传self参数 阅读全文
posted @ 2024-09-27 06:20 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:class Info: def __init__(self, name): self.name = name # 实例变量 def fetch(self): print(123, self.name) @staticmethod def push(): pass @classmethod def p 阅读全文
posted @ 2024-09-27 06:19 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:绑定方法 静态方法 类方法 class Info: def __init__(self, name): self.name = name # 实例变量 def fetch(self): # 绑定方法,必须先创建对象再调用,至少有个self参数,self 表示当前执行的这个对象 pass @stati 阅读全文
posted @ 2024-09-27 06:19 jhchena 阅读(10) 评论(0) 推荐(0) 编辑
摘要:python内部一般三类成员: 变量(类、实例变量) # 各种变量 class Info: city = '北京' # 类变量 def __init__(self, name): self.name = name # 实例变量 self.age = 19 # 实例变量 obj = Info("tes 阅读全文
posted @ 2024-09-27 06:18 jhchena 阅读(8) 评论(0) 推荐(0) 编辑
摘要:# java class Info { public void getName(string v1){ } } Info obj = new Info(): obj.getName=("sdfasdfa") obg.getName=(123412) # java 支持多态,也叫支持多种数据类型 cl 阅读全文
posted @ 2024-09-27 06:17 jhchena 阅读(6) 评论(0) 推荐(0) 编辑
摘要:继承 一定时刻知道,self是哪个类的对象。只要知道是哪个类的对象,就从哪个类开始进行查找 class base: # 父类,也可称为基类 pass class Info(base): # 子类,也可称为派生类 pass class base: # 父类,也可称为基类 def f1(self): p 阅读全文
posted @ 2024-09-27 06:17 jhchena 阅读(6) 评论(0) 推荐(0) 编辑
摘要:# 将数据封装到对象,方便后续使用 class user(): def __init__(self, name, age): self.name = name self.age = age obj1 = user('李四', 18) obj1 = user('李四', 18) # 也可以按下面的进行 阅读全文
posted @ 2024-09-27 06:15 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:三大特性: 封装:将数据打包放到对象里面 继承:类是可以进行继承,有父类,子类,子类没有的方法可以去父类中找 多态:默认支持多态 阅读全文
posted @ 2024-09-27 06:15 jhchena 阅读(2) 评论(0) 推荐(0) 编辑
摘要:# 字符串 v1 = 'test' v2 = 'root' res = v1.upper() res = v2.lower() # 列表 v1 =[] v1.append =("vvvvv") # 字符串,本身是一个类,继承object类 class str(object): def upper(s 阅读全文
posted @ 2024-09-27 06:14 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:# 用户注册案例:未封装场景 """ user_list = [ {"name":"test","password":"1234}, {"name":"taaa","password":"1234}, ] """ user_list = [] while True: user = input("请输 阅读全文
posted @ 2024-09-27 06:10 jhchena 阅读(9) 评论(0) 推荐(0) 编辑
摘要:def send_email(to,subject,content): pass def send_dingding(to,subject,content): pass def send_wechat(to,subject,content): pass send_email('xxx@qq.com' 阅读全文
posted @ 2024-09-27 06:09 jhchena 阅读(8) 评论(0) 推荐(0) 编辑
摘要:小结 编写面向对象代码时,方法扣self是什么? 本质就是一个参数 在执行方法时,由Python内部进行传递值 对象,方法,该方法的self就是哪个对象 __init__方法 初始化方法,创建对象时,自动会执行,对象 = 类名() 用于给对象进行数据的初始化 类中的方法调用 - 创建对象 - 由对象 阅读全文
posted @ 2024-09-27 06:08 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:特殊方法__init__(self) class MessageInfo: # 初始化方法 def __init__(self, city): self.city = city self.company = '联通' # 方法 def send_email(self, to, body): msg 阅读全文
posted @ 2024-09-27 06:08 jhchena 阅读(7) 评论(0) 推荐(0) 编辑
摘要:对象到底是个啥? # 2. 基于面向对象的方式实现上述功能 # 定义类 class MessageInfo: # 方法 def send_email(to, body): msg = f'给{to}发送邮件,内容:{body}' print(msg) # 方法 def send_dingding(t 阅读全文
posted @ 2024-09-27 06:07 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:初始 # 1. 初始 def send_email(to, body): msg = f'给{to}发送邮件,内容:{body}' print(msg) 基于面向对象的方式实现上述功能 # 2. 基于面向对象的方式实现上述功能 class MessageInfo: # 方法 def send_ema 阅读全文
posted @ 2024-09-27 06:05 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:一定时刻知道,self是哪个类的对象。只要知道是哪个类的对象,就从哪个类开始进行查找 函数【重用性】【可读性】->【推荐】完成90%的功能 # 2.函数【重用性】【可读性】 def load_config(): pass def run(): status, config_dict = load_c 阅读全文
posted @ 2024-09-27 06:05 jhchena 阅读(1) 评论(0) 推荐(0) 编辑
摘要:面向过程 # 1.面向过程 print(f"{'*' * 20}欢迎登录大保健系统{'*' * 20}") print("新店业务,可为您提供得服务:A.洗脚 B.洗头 C.洗脸") text = input('请输入选择').strip() if text == 'A': print('洗脚了') 阅读全文
posted @ 2024-09-27 06:04 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:总结 函数高级 5* 嵌套 装饰器 模块分类和定义 4* 内置模块 os sys 第三方 requests xlrd 自定义模块 文件 文件夹 + init.py【包】 导入模块 sys.path 导入 import from xx.xxx import xx 异常处理 try: pass exce 阅读全文
posted @ 2024-09-27 06:03 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:练习题 # 1. 写函数,函数接受一个列表,请将列表中的元素每个都 +100 def func(arg): result = [] for item in arg: if item.isdecimal(): result.append(int(item) + 100) return result # 阅读全文
posted @ 2024-09-27 06:02 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:4.5 异常处理 p185 try: val = input('请输入数字:') num = int(val) except Exception as e: print('操作异常') # import requests # # try: # ret = requests.get('http://w 阅读全文
posted @ 2024-09-27 06:02 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:aa 阅读全文
posted @ 2024-09-27 06:01 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:logging [欠] 阅读全文
posted @ 2024-09-26 23:04 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:UTC/GMT:世界时间 本地时间:本地时区的时间。 全球总共:24个时区 东12 + 西12 区 4.3.1 time模块p180 time.time() ,时间戳:1970-1-1 00:00 当前经历的秒数 time.sleep(10),等待秒数。 time.timezone 得到相差的秒数, 阅读全文
posted @ 2024-09-26 23:04 jhchena 阅读(6) 评论(0) 推荐(0) 编辑
摘要:4.2 shutil 模块 文件操作 运维时会使用此模块 import shutil # 删除目录 常用 返回值为None # shutil.rmtree('test') # 重命名 常用 # shutil.move('test','ttt') # 压缩文件 # shutil.make_archiv 阅读全文
posted @ 2024-09-26 23:03 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:json,优点:所有语言通用;缺点:只能序列化基本的数据类型 list/dict/int... pickle,优点:python中所有的东西都能被他序列化(socket对象);缺点:序列化的内容只有python认识。 pickle 得到的数据类型是:字节 dumps 得到的数据类型是:字符串 imp 阅读全文
posted @ 2024-09-26 23:02 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:# json支持的类型: 爬虫场景使用的比较多。 + + + | Python | JSON | + + + | dict | object | + + + | list, tuple | array | + + + | str | string | + + + | int, float | num 阅读全文
posted @ 2024-09-26 22:59 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:dump 使用最多 import json # 序列化,将python的值转换为json格式的字符串。 v = [12,3,4,{'k1':'v1'},True,'asdf'] #外层必须是一个列表,内部字符串:必须得是双引号 v1 = json.dumps(v) # '[]' print(v1) 阅读全文
posted @ 2024-09-26 22:59 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:import json # 反序列化,将json格式的字符串转换成python的数据类型 v2 = '["alex",123]' #json格式是一个字符串 # print(type(v2)) v3 = json.loads(v2) #由json字符串转换成列表 print(v3,type(v3)) 阅读全文
posted @ 2024-09-26 22:59 jhchena 阅读(2) 评论(0) 推荐(0) 编辑
摘要:字典或列表中如有中文,序列化时想要保留中文显示: v = {'k1':'alex','k2':'李杰'} import json val = json.dumps(v,ensure_ascii=False) # ensure_ascii=False 保存中文 print(val) json是一个特殊 阅读全文
posted @ 2024-09-26 22:57 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:练习1: client 飘红可以导入原因:因为当前运行的run.py文件,此时当前目录下面的所有文件都会自动增加到sys.path里面,此时bin目录 下面的所有模块都可以导入 重点。练习2: #在排除pycharm 操作下,此场景下在终端运行run.py文件中,不能导入x方法。原因:s21test 阅读全文
posted @ 2024-09-26 22:55 jhchena 阅读(7) 评论(0) 推荐(0) 编辑
摘要:可执行脚本只有一个时,使用类型二 可执行脚本有多个时,使用类型一 阅读全文
posted @ 2024-09-26 22:53 jhchena 阅读(2) 评论(0) 推荐(0) 编辑
摘要:import sys print(sys.path ) #打印当前sys.path的所有路径 import page 导入不成功,一般原因page.py所在的目录没有在sys.path 路径里 #其中import page 表示从根目录导入page模块, #解决方法有: #方法1:此时我们可通过 f 阅读全文
posted @ 2024-09-26 22:52 jhchena 阅读(8) 评论(0) 推荐(0) 编辑
摘要:导入模块种类: import 模块 模块.函数() from 模块 import 函数 函数() 【as起别名 / *】 from 模块 import 函数 as 别名 别名() 3.3.2 示例二 lizohng - jd.py - pdd.py - tb.py 包.py import lizho 阅读全文
posted @ 2024-09-26 22:51 jhchena 阅读(8) 评论(0) 推荐(0) 编辑
摘要:P174/175 模块的调用 避免导入方法重名,对导入的方法进行取别名 from lizhongwei import func as f 3.3.1 示例一 # lizhongwei.py #!/usr/bin/env python # -*- coding:utf-8 -*- def show() 阅读全文
posted @ 2024-09-26 22:51 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:对于包的定义注意事项 py2:文件见中必须有 _ _init _ _.py 。 py3:不需要 _ init _.py . 推荐大家以后写代码时,都要加上此文件。 阅读全文
posted @ 2024-09-26 22:50 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:自定义模块 xxxx.py def f1(): print('f1') def f2(): print('f2') x1.py # 调用自定义模块中的功能 import xxxx xxxx.f1() xxxx.f2() 运行 python x1.py 定义模块 定义模块时可以把一个py文件或一个文件 阅读全文
posted @ 2024-09-26 22:49 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:列举常用内置模块:json / time / os/ sys 内置模块回顾与补弃 p177 haslib random getpass shutil copy os sys time 阅读全文
posted @ 2024-09-26 22:49 jhchena 阅读(6) 评论(0) 推荐(0) 编辑
摘要:sys.argv sys.path ,默认Python去导入模块时,会按照sys.path中的路径挨个查找。 # import sys # sys.path.append('D:\\') # import oldboy 阅读全文
posted @ 2024-09-26 22:48 jhchena 阅读(2) 评论(0) 推荐(0) 编辑
摘要:os.rename 重命名 import os os.rename('db','sb') 阅读全文
posted @ 2024-09-26 22:48 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:os.makedirs 创建目录和子目录 import os file_path = r'db\xx\xo\xxxxx.txt' file_folder = os.path.dirname(file_path) if not os.path.exists(file_folder): os.maked 阅读全文
posted @ 2024-09-26 22:47 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:path = '20190409_192149.mp4' # D:\code\s21day14\20190409_192149.mp4 import os v1 = os.path.abspath(path) print(v1) 阅读全文
posted @ 2024-09-26 22:47 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:补充: 转义 v1 = r"D:\code\s21day14\n1.mp4" (推荐) print(v1) v2 = "D:\\code\\s21day14\\n1.mp4" print(v2) 阅读全文
posted @ 2024-09-26 22:47 jhchena 阅读(2) 评论(0) 推荐(0) 编辑
摘要:os.listdir查看一个目录下所有的文件【第一层】 import os result = os.listdir(r'D:\code\s21day14') for path in result: print(path) 阅读全文
posted @ 2024-09-26 22:46 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:os.walk 查看一个目录下所有的文件【所有层】 import os result = os.walk(r'D:\code\s21day14') #反回gentor 生成器对象 for a,b,c in result: # a,正在查看的目录 b,此目录下的文件夹 c,此目录下的文件 for it 阅读全文
posted @ 2024-09-26 22:46 jhchena 阅读(6) 评论(0) 推荐(0) 编辑
摘要:os.path.join 路径的拼接 import os path = "D:\code\s21day14" # user/index/inx/fasd/ v = 'n.txt' result = os.path.join(path,v) print(result) result = os.path 阅读全文
posted @ 2024-09-26 22:45 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:os.path.dirname 获取路径的上级目录 import os v = r"D:\code\s21day14\20190409_192149.mp4" # r只要有出现转义符,自动在前面加一个\ print(os.path.dirname(v)) 阅读全文
posted @ 2024-09-26 22:45 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:os.makedirs 创建目录和子目录 import os file_path = r'db\xx\xo\xxxxx.txt' file_folder = os.path.dirname(file_path) if not os.path.exists(file_folder): os.maked 阅读全文
posted @ 2024-09-26 22:43 jhchena 阅读(8) 评论(0) 推荐(0) 编辑
摘要:2.2 os p159 和操作系统相关的数据。 os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False os.stat('20190409_192149.mp4').st_size 获取文件大小 os.path.abspath() 获取一个文件的 阅读全文
posted @ 2024-09-26 22:43 jhchena 阅读(14) 评论(0) 推荐(0) 编辑
摘要:待更新 阅读全文
posted @ 2024-09-26 22:41 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:import shutil shutil.rmtree(path) # 删除目录 阅读全文
posted @ 2024-09-26 22:41 jhchena 阅读(6) 评论(0) 推荐(0) 编辑
摘要:sys.argv 运维使用比较多 获取用户执行脚本时,传入的参数,将执行空格后的路径,进行append到一个列表 让用户执行脚本传入要删除的文件路径,在内部帮助用完后将目录删除 #!/usr/bin/env python # -*- coding:utf-8 -*- """ 让用户执行脚本传入要删除 阅读全文
posted @ 2024-09-26 22:41 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:import os # 1. st_size 读取文件大小(字节) file_size = os.stat('20190409_192149.mp4').st_size # 2.一点一点的读取文件 read_size = 0 with open('20190409_192149.mp4',mode= 阅读全文
posted @ 2024-09-26 22:39 jhchena 阅读(7) 评论(0) 推荐(0) 编辑
摘要:sys.getrecursionlimit python默认支持的递归数量 sys.stdout.write #打印进度条 p157 sys.stdout.write --> print (进度) #输入输出,默认不换行,print内部会使用stdout \n 换行 \t 制表符 \r 打印后,回到 阅读全文
posted @ 2024-09-26 22:38 jhchena 阅读(16) 评论(0) 推荐(0) 编辑
摘要:获取一个值的引用计数器,写代码时不会使用到 a = [11,22,33] b = a print(sys.getrefcount(a)) #a引用3次 阅读全文
posted @ 2024-09-26 22:37 jhchena 阅读(6) 评论(0) 推荐(0) 编辑
摘要:py2: xrange,不会在内存中立即创建,而是在循环时。边循环边创建。 range ,在内存立即把所有的值都创建。 py3: range ,不会在内存中立即创建,而是在循环时。边循环边创建。 list(range(10)) """ 阅读全文
posted @ 2024-09-26 22:37 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:总结 p156 基本装饰器(更重要)占比80% def x1(func): def inner(*args,**kwargs): data = func(*args,**kwargs) # 执行原函数并获取返回值 return data return inner @x1 def index(): p 阅读全文
posted @ 2024-09-26 22:36 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:# 写一个带参数的装饰器,实现:参数是多少,被装饰的函数就要执行多少次,把每次结果添加到列表中,最终返回列表。 def xxx(counter): print('x函数') def wrapper(func): print('wrapper函数') def inner(*args,**kwargs) 阅读全文
posted @ 2024-09-26 22:36 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:1.5 带参数的装饰器p155 # 第一步:执行 ret = xxx(index) # 第二步:将返回值赋值给 index = ret @xxx #不带参加装饰器 def index(): pass @uuu(9) # 带有参数:9,会 优先进行执行 def index(): pass # 第一步: 阅读全文
posted @ 2024-09-26 22:35 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:装饰器建议写法: def x1(func): def inner(*args,**kwargs): data = func(*args,**kwargs) return data return inner 1.4 关于前后 def x1(func): def inner(*args,**kwargs 阅读全文
posted @ 2024-09-26 22:35 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:def x1(func): def inner(*args,**kwargs): data = func(*args,**kwargs) return data return inner @x1 def f1(): print(123) v1 = f1() print(v1) def x1(func 阅读全文
posted @ 2024-09-26 22:34 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:如果给好几个函数写一个统一的装饰器,怎么办? def x1(func): def inner(*args,**kwargs): return func(*args,**kwargs) return inner @x1 def f1(): pass @x1 def f2(a1): pass @x1 d 阅读全文
posted @ 2024-09-26 22:34 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:1.1 基本格式 def x(func): def inner(): return func() return inner @x def index(): pass 1.2 关于参数 def x(func): def inner(a1): return func(a1) return inner @ 阅读全文
posted @ 2024-09-26 22:33 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:33333day13内容回顾 函数 写代码的方式:面向过程 --> 函数式编程(多) --> 面向对象编程。 1.1 函数基础 def func(a1,a2): pass result = func(1,2) 1.2 参数 补充:对于函数的默认值慎用可变类型。 # 如果要想给value设置默认是空列 阅读全文
posted @ 2024-09-26 22:32 jhchena 阅读(10) 评论(0) 推荐(0) 编辑
摘要:面试题: def func(a,b=[]) 有什么陷阱? 因为b是可变类型,如果不传递参数时,默认使用的同一个内存地址 看代码写结果 def func(a,b=[]): b.append(a) return b l1 = func(1) l2 = func(2,[11,22]) #先打印:[11,2 阅读全文
posted @ 2024-09-26 06:31 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:day13内容回顾 函数 写代码的方式:面向过程 --> 函数式编程(多) --> 面向对象编程。 1.1 函数基础 def func(a1,a2): pass result = func(1,2) 1.2 参数 补充:对于函数的默认值慎用可变类型。 # 如果要想给value设置默认是空列表 # 不 阅读全文
posted @ 2024-09-26 06:29 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:今日总结 装饰器 (6**)重点 编写格式:双层嵌套函数 应用格式:@外层函数 理解: 变量赋值 def func(): print(1) v1 = func func = 666 看看到底return的是什么? 自己 > 上级作用域 背会: @xx # index = xx(index) def 阅读全文
posted @ 2024-09-26 06:29 jhchena 阅读(7) 评论(0) 推荐(0) 编辑
摘要:集合推导式 v1 = { i for i in 'alex' } 字典的推导式 v1 = { 'k'+str(i):i for i in range(10) } 阅读全文
posted @ 2024-09-26 06:20 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:列表推导式 基本格式 """ 目的:方便的生成一个列表。 格式: v1 = [i for i in 可迭代对象 ] v2 = [i for i in 可迭代对象 if 条件 ] # 条件为true才进行append """ v1 = [ i for i in 'alex' ] v2 = [i+100 阅读全文
posted @ 2024-09-26 06:20 jhchena 阅读(6) 评论(0) 推荐(0) 编辑
摘要:编写装饰器 和应用 # 装饰器的编写 def x(func): def y(): # 前 ret = func() # 后 return ret return y # 装饰器的应用 @x def index(): return 10 @x def manage(): pass # 执行函数,自动触发 阅读全文
posted @ 2024-09-26 06:19 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:装饰器= def func(arg): def inner(): print('before') v = arg() print('after') return v return inner def index(): print('123') return '666' # 示例一 """ v1 = 阅读全文
posted @ 2024-09-26 06:18 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:day13 .装饰器 v = 1 v = 2 # ######################## def func(): pass v = 10 v = func # ########################## def base(): print(1) def bar(): print( 阅读全文
posted @ 2024-09-26 06:17 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:总结 自定义函数 基本函数结构(98%) 高级 参数 闭包 函数的参数传递的是什么? 【内存地址=引用 or 值】 v = [11,2,33,4] def func(arg): print(id(arg)) # 列表内存地址 print(id(v)) # 列表内存地址 func(v) # 传递的是内 阅读全文
posted @ 2024-09-26 06:15 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:应用:用户注册与登录 import hashlib USER_LIST = [] def get_md5(data): obj = hashlib.md5("12:;idrsicxwersdfsaersdfsdfresdy54436jgfdsjdxff123ad".encode('utf-8')) 阅读全文
posted @ 2024-09-26 06:13 jhchena 阅读(7) 评论(0) 推荐(0) 编辑
摘要:模块 md5 无法进行解密(只能撞库) 3. 模块 md5 无法进行解密(只能撞库) 将指定的 “字符串” 进行加密。 import hashlib def get_md5(data): obj = hashlib.md5() obj.update(data.encode('utf-8')) #转换 阅读全文
posted @ 2024-09-26 06:13 jhchena 阅读(34) 评论(0) 推荐(0) 编辑
摘要:2. 面试题: 常用的内置函数有哪些? filter/map/reduce是什么意思? 什么是匿名函数? def func(): pass v = [lambda x:x+100,] 阅读全文
posted @ 2024-09-26 06:11 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:闭包 def func(name): def inner(): print(name) return inner #不加表示,表示将inner函数内存地址进行返回 v1 = func('alex') #开僻内存空间:V1 v1() v2 = func('eric') #开僻内存空间:V2 v2() 阅读全文
posted @ 2024-09-26 06:10 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:面题 P127 128 info = [] def func(): print(item) for item in range(10): info.append(func) info[0]() #for 循环后 item的值为: 9 info = [] def func(i): def inner( 阅读全文
posted @ 2024-09-26 06:08 jhchena 阅读(2) 评论(0) 推荐(0) 编辑
摘要:重点:记函数是由哪个创建的,函数就从哪里开始找 # 第一题 name = 'alex' def base(): print(name) # name = alex def func(): name = 'eric' base() # base中没有name,会从func函数中进行查找 func() 阅读全文
posted @ 2024-09-26 06:07 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:函数可以做返回值–进行返回 视频p125 def func(): print(123) def bar(): return func v = bar() # 将func函数名进行, 此时v = func v() name = 'oldboy' def func(): print(name) def 阅读全文
posted @ 2024-09-26 06:04 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:函数内部的数据是否会混乱。 函数内部执行相互之间不会混乱 每个函数调用时,会进行单独进行开僻内存空间,函数执行完与内部元素无其他使用,开僻内存会进行销毁 执行完毕 + 内部元素不被其他人使用 => 销毁 阅读全文
posted @ 2024-09-26 06:02 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:无返回值 v = [11,22,33] v.append(99) # 无返回值 很少会进行return 仅有返回值: 基本为字符串 v = "alex" result = v.split('l') v = {'k1':'v2'} result1 = v.get('k1') #返回值,内部元素不修改 阅读全文
posted @ 2024-09-26 06:01 jhchena 阅读(8) 评论(0) 推荐(0) 编辑
摘要:# 第一题 for item in range(10): #不报错,没有函数,所有操作在全局作用域里面执行,item最后赋值为:9,此时item在缩进与全局都可以使用 pass print(item) # 第二题 item = 10 def func(): for item in range(10) 阅读全文
posted @ 2024-09-26 05:59 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:循环每个元素(第二个参数),然后让每个元素执行函数(第一个参数),将每个函数执行的结果保存到新的列表中,并返回。 v1 = [11,22,33,44] result = map(lambda x:x+100,v1) print(list(result)) # 返回特殊,如果想看返回的内容,Pytho 阅读全文
posted @ 2024-09-25 23:10 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:应用:随机生成验证码 import random def get_random_code(length=6): data = [] for i in range(length): v = random.randint(65,90) data.append(chr(v)) return ''.join 阅读全文
posted @ 2024-09-25 23:08 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:编码相关 chr,将十进制数字转换成 unicode 编码中的对应字符串。 v = chr(99) print(v) ord,根据字符在unicode编码中找到其对应的十进制。 num = ord('中') 阅读全文
posted @ 2024-09-25 23:07 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:进制转换相关 bin,将十进制转化成二进制 num = 13 v1 = bin(num) print(v1) oct,将十进制转换成八进制 num = 8 v1 = oct(num) print(v1) int,将其他进制转化成十进制 # 二进制转化成十进制 v1 = '0b1101' result 阅读全文
posted @ 2024-09-25 23:06 jhchena 阅读(41) 评论(0) 推荐(0) 编辑
摘要:-其他 需背会 len 获取长度 open range 随机生成数 id 是比较内存地址 is /== 是进行比较 type 获取数据类型 输入输出 print input 强制转换 dict() list() tuple() int() str() bool() set() 数学相关 abs,绝对 阅读全文
posted @ 2024-09-25 23:05 jhchena 阅读(1) 评论(0) 推荐(0) 编辑
摘要:第六组(10个) len print input open, 文件 range py2: v1= rang(10) #会生成 列表[0....9] 立即创建 v1= xrang(10) #生成对象 不会立即创建,只有使用循环时,进行创建,用一个进行创建一个,更节省内存 py3: v1= rang(1 阅读全文
posted @ 2024-09-25 22:55 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:第五组 9个,强制转换 int v1 = int('123') v1 = int('0b010101', base =2) #2进制转换成10进制 v1 = int('0o123456', base =8) #8进制转换成10进制 v1 = int('0xABC313', base =16) #16 阅读全文
posted @ 2024-09-25 22:54 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:unicode码点 A 对应的二进制 010000 中 对应的二进制 .... 国 对应的二进制 ..... ord 根据文本获取十进制数 v1 = ord("A") v2 = ord("中") print(v1, hex(v1),''.join(hex(v1)[2:].rjust(4, '0')) 阅读全文
posted @ 2024-09-25 22:53 jhchena 阅读(10) 评论(0) 推荐(0) 编辑
摘要:md5实现注册 import hashlib def md5(data_string): obj = hashlib.md5() obj.update(pwd.encode('utf-8')) return obj.hexdigest() #密文 line = f'{user},{encrypt}\ 阅读全文
posted @ 2024-09-25 22:52 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:关于md5加密 假设你有一个用户注册程序 wupeiqi,123 eric,123 tony,123 加密密码 wupeiqi,asdfasfwwer eric,asdfasfwwer tony,asdfasfwwer python md5加密密码 import hashlib obj = hash 阅读全文
posted @ 2024-09-25 22:52 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:字节的处理 字符串 name = '中国联通' # unicode UTF-8 字节 name = '中国联通' byte_data = name.encode('utf-8') # byte b'\xe4\xb8\xad\xe5\x9b\xbd\xe8\x81\x94\xe9\x80\x9a' p 阅读全文
posted @ 2024-09-25 22:51 jhchena 阅读(16) 评论(0) 推荐(0) 编辑
摘要:进制转换:二进制,十六进制、八进制、十进制 bin 二进制 oct 8进制 hex 十六进制 int 10进制 二进制 和十进制 #10进制转二进制 v1 = bin(48) print(v1) #二进制转10进制 v1 = '0b1010101' v2 = int(v1, base=2) 八进制 阅读全文
posted @ 2024-09-25 22:50 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:第二组 (4个,min,max,all,any) min 最小值 number_list = [11,22,33,1,0,19,18] ret = min(number_list) print (ret) #0 max 最大值 number_list = [11,22,33,1,0,19,18] r 阅读全文
posted @ 2024-09-25 22:49 jhchena 阅读(8) 评论(0) 推荐(0) 编辑
摘要:第一组 (abs,pow,sum,divmod ,round) 会用就行 abs ,绝对值 v1 = abs(-1) v2 = vbs(1) pow, 次方 ret = pow (2, 5) print (ret) sum , 求和 num_list = [11,22,33,44] ret = su 阅读全文
posted @ 2024-09-25 22:49 jhchena 阅读(1) 评论(0) 推荐(0) 编辑
摘要:**```py 练习题1 USER_LIST = [] def func0(x): v = USER_LIST.append(x) #列表.append没有返回值 v= None,insert/extend也没有返回值 return v # 将None进行返回 result = func0('ale 阅读全文
posted @ 2024-09-25 22:48 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:lambda表达式本质是函数 +未执行则内部代码不会调用+ 参数 size = 10 func_list = [lambda x: x + 1 + size, lambda x: x + 2 + size, lambda x: x + 3 + size] ret = func_list[1](100 阅读全文
posted @ 2024-09-25 22:47 jhchena 阅读(8) 评论(0) 推荐(0) 编辑
摘要:去上级查找-案例1 size = 19 func_list = [lambda: 1 + size, lambda: 2 + size, lambda: 3 + size] # 此时函数体中没有size,会去上层或者全局变量里面查找,然后将 2+ size的值进行返回 ret = func_list 阅读全文
posted @ 2024-09-25 22:46 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:要看函数执行时上级作用域此时的值。当看到代码时是没有执行的,只有去执行时,他才会去查找他里面的这个值 lambda表达式本质是函数 +未执行则内部代码不会调用 # 推导式+ lamdba 表达式(编程时不使用,面试使用) # lambda表达式本质是函数 +未执行则内部代码不会调用 func_lis 阅读全文
posted @ 2024-09-25 22:45 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:对字符进行切割并获取局部数据,定义函数接收参数,处理获得到的后辍名并返回 def func(data_str): return data_str.split(".")[-1] name = '01 python基础入门.mp4' ext = func(name) print(ext) # 方式2 通 阅读全文
posted @ 2024-09-25 22:45 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:lambda表达式,也称为:匿名函数。用于表示简单的函数。 左边为入参 : 右边为:返回值 lambda a1,a2 : a1+x2 创建简单的函数(一行表示+内置return) def f1(a1): return a1 + 10 ret = f1(100) print (ret) #lambda 阅读全文
posted @ 2024-09-25 22:44 jhchena 阅读(2) 评论(0) 推荐(0) 编辑
摘要:#示例一 def func(arg): print(arg) func(1) func([1,2,3,4]) def show(): return 999 func(show) #将show 函数当作参数进行传递 #示例二 def func(arg): # arg 为show函数内存地址 v1 = 阅读全文
posted @ 2024-09-25 22:44 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:没有return时,函数返回为None 一般让函数当作字典的vaule 函数名当作变量来使用 a = 123 name = '老男孩好' nums = [11,22,33,44] def func(): pass # 100行代码 func() #函数赋值 def func(): print(123 阅读全文
posted @ 2024-09-25 22:43 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:函数基本结构 参数 形参 基本参数:def func(a1,a2):pass 默认值:def func(a1,a2=123):pass 注意: 默认值如果是不可变类型,随便玩。 可变类型:有坑 无敌:*args,**kwargs 实参 位置传参 关键字传参 返回值 默认返回:None 特殊情况 de 阅读全文
posted @ 2024-09-25 22:42 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:#!/usr/bin/env python # -*- coding:utf-8 -*- # x = 10 # def func(): # x = 9 # print(x) # def x1() # x = 999 # print(x) # x1() # # func() # x = 10 # de 阅读全文
posted @ 2024-09-25 22:41 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:全局变量命名规则 #全部变量以后必须全部是大写 USER_LIST = [11,22,3] def func(): name = 'asdf' USER_LIST.append(12) USER_LIST.append(name) func() print(USER_LIST) 阅读全文
posted @ 2024-09-25 22:40 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:global/nonlocal强制修改全局变量 子作用域中只能 找到父级中的值 ,默认无法重新为父级的变量进行赋值。(global/nonlocal可以强制做) # ##################### name = 'oldboy' def func(): name = 'alex' # 在 阅读全文
posted @ 2024-09-25 22:40 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:py文件:全局作用域 函数:局部作用域 a = 1 def s1(): x1 = 666 print(x1) print(a) print(b) b = 2 print(a) s1() a = 88888 def s2(): print(a,b)#此时a为8888 s1() #此时s1中的a为:88 阅读全文
posted @ 2024-09-25 22:39 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:综合应用:无敌 + 无敌 => 真无敌 def func(*args,**kwargs): print(args,kwargs) # func(1,2,3,4,5,k1=2,k5=9,k19=999) func(*[1,2,3],k1=2,k5=9,k19=999) func(*[1,2,3],** 阅读全文
posted @ 2024-09-25 22:38 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:3、函数参数-详解 p104 105 函数参数不能设置成可变类型,有坑 基本参数知识 任意个数 任意类型 def func(a1,a2,a3): print(a1,a2,a3) func(1,"asdf",True) 位置参数(位置传参) 位置传参(调用函数并传入参数)【执行】 def func(a 阅读全文
posted @ 2024-09-25 22:38 jhchena 阅读(7) 评论(0) 推荐(0) 编辑
摘要:函数基本结构 def func(name,age,email): #函数体(保持缩进一致) a = 123 print (a) return 1111 #return后面的语句不会执行 b = 456 result = func(1,2,3) #函数默认返回值:None 函数参数 def func( 阅读全文
posted @ 2024-09-25 22:37 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:8、练习题2 P94 # 1. 写函数,计算一个列表中有多少个数字,打印: 列表中有%s个数字。 # 提示:type('x') == int 判断是否是数字。 """ # 方式一: def get_list_counter1(data_list): count = 0 for item in dat 阅读全文
posted @ 2024-09-25 22:36 jhchena 阅读(2) 评论(0) 推荐(0) 编辑
摘要:6、函数返回值 P93 def func(arg): # .... return 9 # 返回值为9 默认:return None val = func('adsfadsf') # 1. 让用户输入一段字符串,计算字符串中有多少A字符的个数。有多少个就在文件a.txt中写多少个“李邵奇”。 def 阅读全文
posted @ 2024-09-25 22:32 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:5、函数练习题 # 1. 请写一个函数,函数计算列表 info = [11,22,33,44,55] 中所有元素的和。 def get_sum(): info = [11,22,33,44,55] data = 0 for item in info: data += item print(data) 阅读全文
posted @ 2024-09-25 22:31 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:4、函数参数 形参、实参、 def get_list_first_data(aaa): # aaa叫形式参数(形参) v = [11,22,33,44] print(v[aaa]) get_list_first_data(1) # 2/2/1调用函数时传递叫:实际参数(实参) get_list_fi 阅读全文
posted @ 2024-09-25 22:31 jhchena 阅读(2) 评论(0) 推荐(0) 编辑
摘要:3、对于函数编程 本质:将N行代码拿到别处并给他起个名字,以后通过名字就可以找到这段代码并执行。 场景: 代码重复执行。 代码量特别多超过一屏,可以选择通过函数进行代码的分割。 3、函数的基本结构 # 函数的定义 def 函数名(): # 函数内容 pass # 函数的执行 函数名() def ge 阅读全文
posted @ 2024-09-25 22:31 jhchena 阅读(7) 评论(0) 推荐(0) 编辑
摘要:2、函数式编程-邮件发送 def send_email(): import smtplib from email.mime.text import MIMEText from email.utils import formataddr msg = MIMEText('老板,我想演男一号,你想怎么着都 阅读全文
posted @ 2024-09-25 22:30 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:1、面向过程编程 # 面向过程编程 user_input = input('请输入角色:') if user_input == '管理员': import smtplib from email.mime.text import MIMEText from email.utils import for 阅读全文
posted @ 2024-09-25 22:30 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:1、三元运算 (三目运算) v = 前面 if 条件 else 后面 if 条件: v = '前面' else: v = '后面' 三目运算示例 # 让用户输入值,如果值是整数,则转换成整数,否则赋值为None data = input('>>>') value = int(data) if dat 阅读全文
posted @ 2024-09-25 22:29 jhchena 阅读(7) 评论(0) 推荐(0) 编辑
摘要:练习 #!/usr/bin/env python # -*- coding:utf-8 -*- # ######################## 读取:r,只读不能写 + 文件不存在报错 ########################## """ # 打开文件 file_object = op 阅读全文
posted @ 2024-09-25 22:28 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:with open('a.txt',mode='r',encoding='utf-8') as f1: data = f1.read() new_data = data.replace('飞洒','666') with open('a.txt',mode='w',encoding='utf-8') 阅读全文
posted @ 2024-09-25 22:27 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:### 4.4 关闭文件 文艺青年 ```python v = open('a.txt',mode='a',encoding='utf-8') v.close() 二逼 with open('a.txt',mode='a',encoding='utf-8') as v: data = v.read( 阅读全文
posted @ 2024-09-25 22:19 jhchena 阅读(10) 评论(0) 推荐(0) 编辑
摘要:### 4.3 实际操作 > read() , 全部读到内存 ##### 1、表示一个字符 ```python obj = open('a.txt',mode='r',encoding='utf-8') data = obj.read(1) # 1个字符 obj.close() print(data 阅读全文
posted @ 2024-09-25 22:19 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:### 4.2 打开模式 - r / w / a 【只读只写字符串】 - r+ / w+ / a+ 【可读可写字符串】 - rb / wb / ab 【只读只写二进制】 - 字符串转二进制 ```py v = ‘你好’ data = v.encode(‘utf-8’) ``` - 二进制转字符串 ` 阅读全文
posted @ 2024-09-25 22:18 jhchena 阅读(15) 评论(0) 推荐(0) 编辑
摘要:### 4.1 文件基本操作 #### 1、打开 - r,只能读。 【**】 - w,只能写,写之前清空。 【**】 - a,只能追加。【*】 - r+ - 读:默认从0的光标开始读,也可以通过 seek 调整光标的为位置。 - 写:从光标所在的位置开始写,也可以通过 seek 调整光标的位置。 - 阅读全文
posted @ 2024-09-25 22:18 jhchena 阅读(14) 评论(0) 推荐(0) 编辑
摘要:1. 写出你常用的git命令。 2. 你们公司是怎么用git做开发的? 1. 在码云或GitHub等代码托管的网站创建自己仓库,创建完之后码云会给我一个仓库地址,如:https://gitee.com/old_boy_python_stack_21/190326032.git 2. 自己写代码... 阅读全文
posted @ 2024-09-25 22:15 jhchena 阅读(23) 评论(0) 推荐(0) 编辑
摘要:git status 查看当前目录状态。 git add . 收集当前目录下所有问题。 git commit -m '第三天作业' 写入提交记录 git push origin master #进行初始化命令 创建代码仓库第一次时,需要进行 git init git config --global 阅读全文
posted @ 2024-09-25 22:15 jhchena 阅读(10) 评论(0) 推荐(0) 编辑
摘要:访问网站根据提示进行注册即可 https://gitee.com/ 新建仓库 注册后,进行登录,在右上角 查看创建的代码仓库 如果要分享别人,进行上传代码,将:https://gitee.com/jhchena/test.git 分享给别人即可 欢乐马 / test 中的test 表示在码云上面,创 阅读全文
posted @ 2024-09-25 22:14 jhchena 阅读(38) 评论(0) 推荐(0) 编辑
摘要:安装git 注意:根据向导进行,默认安装即可 安装后,在文件夹中,右键,看下面选项表示安装成功 阅读全文
posted @ 2024-09-25 22:12 jhchena 阅读(19) 评论(0) 推荐(0) 编辑
摘要:常见数据类型转换 # 字符串转数字 # 数字转字符串 # 列表转元组 # 元组转列表 # 其他转bool时,只有:0 “” [] () 数据类型转换-练习题 # 练习题 nums = [11,22,33,44] for i in range(0,len(nums)): nums[i] = str(n 阅读全文
posted @ 2024-09-25 21:57 jhchena 阅读(11) 评论(0) 推荐(0) 编辑
摘要:1、str v = "Python全栈21期" if "全栈" in v: print('含敏感字符') 2、list/tuple v = ['alex','oldboy','藏老四','利奇航'] if "利奇航" in v: print('含敏感') 3、dict v = {'k1':'v1', 阅读全文
posted @ 2024-09-25 21:54 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:可变数据 列表(list) 字典(dict) 集合(set) 不可变数据 str tuple 阅读全文
posted @ 2024-09-25 21:50 jhchena 阅读(7) 评论(0) 推荐(0) 编辑
摘要:浅拷贝:只拷贝第一层。 深拷贝:拷贝嵌套层次中的所有可变类型。 特殊情况 # 特殊情况 """ v1 = (1,2,3,4) import copy v2 = copy.copy(v1) # 地址不变 print(id(v1),id(v2)) v3 = copy.deepcopy(v1) # 地址不 阅读全文
posted @ 2024-09-25 21:49 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:""" # 可变 - 浅拷贝:拷贝第一层 - 深拷贝:拷贝所有数据 """ """ # 应该每次都拷贝一份(但由于小数据池,未拷贝) v1 = 'alex' import copy v2 = copy.copy(v1) print(id(v1),id(v2)) v3 = copy.deepcopy( 阅读全文
posted @ 2024-09-25 21:49 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:嵌套场景才有意义 深拷贝,找到所有可变类型,都进行拷贝一次,不可变类型不进行拷贝(不拷贝原因:因为小数据池原因) 浅拷贝,只拷贝第一层 阅读全文
posted @ 2024-09-25 21:47 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:list /set /dict 如果只有一层 深浅拷贝,拷贝层次内可变类型,此时,只有列表空壳是可变类型 阅读全文
posted @ 2024-09-25 21:46 jhchena 阅读(2) 评论(0) 推荐(0) 编辑
摘要:深浅拷贝 list /set /dict 一层 阅读全文
posted @ 2024-09-25 21:45 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:此情况V1未进行修改,V1还是指向原来的 阅读全文
posted @ 2024-09-25 21:42 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:![](https://img2024.cnblogs.com/blog/1749876/202409/1749876-20240925213956199-434431375.png) 阅读全文
posted @ 2024-09-25 21:40 jhchena 阅读(4) 评论(0) 推荐(0) 编辑
摘要:data_list = [] for i in range(10): data = {} data['user'] = i data_list.append(data) print(data_list) #每个字典都 不一样 字典,列表内存指向图 data = {} for i in range(1 阅读全文
posted @ 2024-09-25 21:39 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:""" v1 = [1,2,3] v2 = [1,2,3] v1 = [1,2,3] v2 = v1 v3 = v1 v1.append(999) #v2 、V3指向 V1内存地址,如果V1 改变,V2/V3也会改变 v1 = [1,2,3] v2 = v1 v3 = v1 v1 = [1,] #v 阅读全文
posted @ 2024-09-25 21:37 jhchena 阅读(3) 评论(0) 推荐(0) 编辑
摘要:== 用于比较值是否相等。 is 用于比较内存地址是否相等。 阅读全文
posted @ 2024-09-25 21:37 jhchena 阅读(5) 评论(0) 推荐(0) 编辑
摘要:""" v1 = [1,2,3] v2 = v1 #指向同一个内存地址 v1.append(999) print(v1,v2) print(id(v1),id(v2)) """ """ v1 = [1,2,3] v2 = v1 #指向同一个内存地址 print(id(v1),id(v2)) v1 = 阅读全文
posted @ 2024-09-25 21:36 jhchena 阅读(30) 评论(0) 推荐(0) 编辑
摘要:示例一: v1 = [11,22,33] v2 = [11,22,33] v1 = 666 v2 = 666 v1 = "asdf" v2 = "asdf" #以上数据都不是同一个内存地址 # 按理 v1 和 v2 应该是不同的内存地址。特殊: 1. 整型: -5 ~ 256 2. 字符串:"ale 阅读全文
posted @ 2024-09-25 21:36 jhchena 阅读(15) 评论(0) 推荐(0) 编辑
摘要:要确认是进行赋值,还是找到其中, 有赋值为:重新开辟内存空间 python 将:-5~ 256为常用的数字(如果在范围类使用同一内存空间,这叫:python小数据池) 如果大于这个数值,会重新 进行开僻内存空间 字符串:如果A1 = ‘’alex A2= ‘alex , A1/A2等于同一个字符串 阅读全文
posted @ 2024-09-25 21:34 jhchena 阅读(7) 评论(0) 推荐(0) 编辑
摘要:# 1. 列表/字典/集合 -> 不能放在集合中+不能作为字典的key(unhashable) # info = {1, 2, 3, 4, True, "国风", None, (1, 2, 3)} # print(info) # 2. hash -> 哈希是怎么回事? # 因为在内部会将值进行哈希算 阅读全文
posted @ 2024-09-25 21:32 jhchena 阅读(4) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示