当前位置: 首页 > news >正文

Python范例总结

一、基础功能

  1、操作符
  • and 拥有更高优先级,会先行运算。
  • 优先级顺序为 NOT、AND、OR。
  2、列表
    1)列表拼接
l1 = [1,2,3]
l2 = [4,5,6]# 方法1
# l1 = l1 + l2# 方法2
# l1[len(l1):len(l1)] = l2# 方法3
l1.extend(l2)
print(l1)
   3、函数
    1)范例1
def greetPerson(*name):print('Hello', name)greetPerson('Runoob', 'Google')
##结果为Hello ('Runoob', 'Google')
    2)范例2

  加了星号 * 的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。

x = True
def printLine(text):print(text, ' Runoob')
printLine('Python')
##Python  Runoob
    3)范例3
def Foo(x):if (x==1):return 1else:return x+Foo(x-1)#n+n-1+1
print(Foo(100)) 
##结果是5050
   4、类
    1)私有字段/方法

  在Python中,属性和方法的访问权限只有两种:公开的和私有的。如果希望是私有的,在命名时可以用两个下划线作为开头。

  Python并没有从语法上严格保证私有属性或方法的私密性,它只是给私有属性和方法换了一个名字来“妨碍”对它们的访问,事实上如果你知道更换名字的规则仍然可以访问到它们。

  不建议将属性设置为私有的,因为这会导致子类无法访问。所以大多数Python程序员会遵循一种命名惯例就是让属性名以单下划线开头来表示属性是受保护的,本类之外的代码在访问这样的属性时应该要保持慎重。这种做法并不是语法上的规则,单下划线开头的属性和方法外界仍然是可以访问的,所以更多的时候它是一种暗示或隐喻

class JustCounter:__secretCount = 0  # 私有属性,前缀两个下划线publicCount = 0def count(self):self.__secretCount += 1  # 类内部调用私有属性self.publicCount += 1print(self.__secretCount)def __print1(self):  # 私有方法,前缀两个下划线print('This is a private method!')def print2(self):self.__print1()  # 类内部调用私有方法counter = JustCounter()print(counter.publicCount)# print counter.__secretCount  # 报错,实例不能访问私有属性
print(counter._JustCounter__secretCount) # 可以通过( 对象名._类名__私有属性名 )访问私有属性
counter.count()
# counter.__print1()  # 报错,实例不能访问私有方法
counter._JustCounter__print1()  # 可以通过( 对象名._类名__私有方法名 )访问私有方法
counter.print2()

二、进阶功能

  1、函数
    1)偏函数
import functools
def func(a1,a2):print(a1,a2)new_func = functools.partial(func, 666) ##666 传给第一个参数
new_func(999)
##结果 
666 999
    2)__开头的函数有很多

  当把面向对象中的所有__函数__实现时,对象做任何操作时,都会执行其中对应的方法

  举例1__add__

class Foo(object):def __init__(self, num):self.num =  numdef __add__(self, other):data = self.num + other.numreturn Foo(data)obj1 = Foo(1)
obj2 = Foo(2)v = obj1.num + obj2.numprint(v)
## 结果是3
    3)链chain

  将每个列表的函数(功能)拼接到一个大的列表中,依次执行

from itertools import chaindef f1(x):return x + 1func1_list = [f1,lambda x:x-1]def f2(x):return x + 10new_fun_list = chain([f2], func1_list)
for func in new_fun_list:print(func)

  列表也可以直接使用chain

from itertools import chainl1 = [11,22,33]
l2 = [44,55,66]new_list = chain(l1,l2)
for item in new_list:print(item)
     4)python命令行传参
  使用sys.argv传参

  sys模块是很常用的模块, 它封装了与python解释器相关的数据,例如sys.modules里面有已经加载了的所有模块信息,sys.path里面是PYTHONPATH的内容,而sys.argv则封装了传入的参数数据。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import sys
gpus = sys.argv[1]
#gpus = [int(gpus.split(','))]
batch_size = sys.argv[2]
print(gpus, type(gpus))
print(batch_size, type(batch_size))

  执行python argv_test.py 1,0,2 10

  使用argparse传参
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import argparse
parser = argparse.ArgumentParser(description='manual to this script')
parser.add_argument('--gpus', type=str, default = None)
parser.add_argument('--batch-size', type=int, default=32)
args = parser.parse_args()
print(args.gpus, type(args.gpus))
print(args.batch_size, type(args.batch_size))

 执行:python argv_test.py --gpus=0,1,2 --batch-size=20

  2、类
    1)继承字典
class MyDict(dict):def __init__(self, *args, **kwargs):super(MyDict,self).__init__(*args, **kwargs)self['modify'] = Trueobj = MyDict()
print(obj)
    2)打开/关闭实现:with方法
class SQLHelper(object):def open(self):passdef fetch(self, sql):passdef close(self):pass
### 方法1
# obj = SQLHelper()
# obj.open()
# obj.fetch('selcet * from table1')
# obj.close()### 方法二
with SQLHelper() as obj: #自动调用类中的__enter__方法,obj就是__enter__返回值obj.fetch('selcet * from table1')# 当执行完毕后,自动调用类__exit__方法

  3、web框架的本质
    1)werkzeug
from werkzeug.wrappers import Request, Response@Request.application
def hello(request):return Response('Hello World!')if __name__ == '__main__':from werkzeug.serving import run_simplerun_simple('127.0.0.1', 40000, hello)
 
    2)wsgi

  WSGI(Web Server Gateway Interface)是一种规范,它定义了使用python编写的web app与web server之间接口格式,实现web app与web server间的解耦。

  python标准库提供的独立WSGI服务器称为wsgiref。

from wsgiref.simple_server import make_serverdef RunServer(environ, start_response):start_response('200 OK', [('Content-Type', 'text/html')])return [bytes('<h1>Hello, web!</h1>', encoding='utf-8'), ]if __name__ == '__main__':httpd = make_server('', 8000, RunServer)print("Serving HTTP on port 8000...")httpd.serve_forever()

相关文章:

Python范例总结

一、基础功能 1、操作符 and 拥有更高优先级&#xff0c;会先行运算。优先级顺序为 NOT、AND、OR。 2、列表 1&#xff09;列表拼接 l1 [1,2,3] l2 [4,5,6]# 方法1 # l1 l1 l2# 方法2 # l1[len(l1):len(l1)] l2# 方法3 l1.extend(l2) print(l1) 3、函数 1&#xff09;范…...

若依生成主子表

一、准备工作 确保你已经部署了若依框架&#xff0c;并且熟悉基本的开发环境配置。同时&#xff0c;理解数据库表结构对于生成代码至关重要。 主子表代码结构如下&#xff08;字表中要有一个对应主表ID的字段作为外键&#xff0c;如下图的customer_id&#xff09; -- ------…...

dotnet4.0编译问题

因为最近在写cobaltstrike的execute-assembly内存加载的c#项目 用visual studio2022编译&#xff0c;最低net只能用6.0版本的&#xff0c;并且execute-assembly不支持 我想使用4.x版本进行编译&#xff0c;因为visual studio不支持&#xff0c;那么使用命令行进行编译 因为要用…...

研一奖学金计划2024/9/23有感

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、需要认真上课的1.应用数理统计&#xff08;开卷考试&#xff09;2.最优化方法&#xff08;开卷考试&#xff09;3.跨文化交际&#xff08;主题演讲20课堂讨…...

html知识点框架

一、HTML基础 HTML简介 HTML是一种超文本标记语言&#xff0c;用于创建网页和网页应用。HTML5是公认的下一代Web语言&#xff0c;极大地提升了Web在富媒体、富内容和富应用等方面的能力。HTML基本结构 基本的HTML文档结构包括<!DOCTYPE html>, <html>, <head&g…...

SpringBoot的应用

目录 一、springboot的应用 1、创建springboot项目 2、乱码问题配置 3、springboot日志配置 4、springboot整合mybatis 二、配置文件讲解及测试 1、全局配置文件参数读取 1.1 全局配置文件的位置 1.2 配置文件的读取 1.2.1 导包 1.2.2 编写配置对象Bean 1.2.3 编写配置文件 1.2…...

Spring源码学习:SpringMVC(3)mvcannotation-driven标签解析【RequestMappingHandlerMapping生成】

目录 前言mvc:annotation-driven标签概述mvc:annotation-driven标签解析【RequestMappingHandlerMapping生成】AnnotationDrivenBeanDefinitionParser#parse &#xff08;解析入口&#xff09;RequestMappingHandlerMapping的实例化类图afterPropertiesSetAbstractHandlerMetho…...

2024 Redis 全部

1. 单机部署 1.1 检查环境&#xff0c;创建目录。 # 本地运行&#xff0c;不需要考虑安装的原因&#xff0c;可以卸载防火墙 # 关闭防火墙 systemctl stop firewalld.service# 查看防火强状态 firewall-cmd --state# redis 是基于gcc 环境的&#xff0c;查看是否有 gcc 环境 …...

[SDX35+WCN6856]SDX35 + WCN6856 WiFi可以up起来之后无法扫描到SSID

SDX35 SDX35介绍 SDX35设备是一种多模调制解调器芯片,支持 4G/5G sub-6 技术。它是一个4nm芯片专为实现卓越的性能和能效而设计。它包括一个 1.9 GHz Cortex-A7 应用处理器。 SDX35主要特性 ■ 3GPP Rel. 17 with 5G Reduced Capability (RedCap) support. Backward compati…...

VisualStudio如何卸载Resharper插件?

本来按理说&#xff0c;卸载插件应该就是在扩展下的已安装插件中&#xff0c;找到该插件&#xff0c;点一下就会出现卸载的按钮的。 没想到这个Resharper这么吊&#xff0c;卸载按钮居然是个灰色的&#xff0c;意思就是此路不通&#xff0c;有特权的。 那么这种情况下&#x…...

Unity Debug时出现请选择unity实例

Unity Debug时出现请选择unity实例 问题描述 出现请选择unity实例&#xff0c;并且选择框里为空。 出现原因 你打开了两个Unity工程&#xff0c;在附加时&#xff0c;不知道加在哪个Unity工程上。 解决方法 在调试窗口中点击“附加Unity调试程序”&#xff0c;然后在弹出…...

国庆出行新宠:南卡Pro5骨传导耳机,让旅途不再孤单

国庆长假即将来临&#xff0c;对于热爱旅行和户外运动的朋友们来说&#xff0c;一款适合旅行使用的耳机无疑是提升旅途体验的神器。今天&#xff0c;我要向大家推荐一款特别适合国庆出行的耳机——南卡Runner Pro5骨传导耳机。作为一名热爱旅游的体验者&#xff0c;我强烈推荐南…...

2024.09.18 leetcode 每日一题

二进制求和 给你两个二进制字符串 a 和 b &#xff0c;以二进制字符串的形式返回它们的和。 https://leetcode.cn/problems/add-binary/description/ 代码一&#xff0c;尝试使用笨办法&#xff0c;会造成溢出 class Solution { public:string addBinary(string a, string …...

快递物流短信API接口代码

官网&#xff1a;快递鸟 API参数 用户信息类 一.短信模版 1.接口说明 使用快递鸟短信功能时&#xff0c;预先设置好短信模板和对应的发送规则&#xff0c;快递鸟短信API将根据设置的好的模板和规则&#xff0c;进行短信的发送和反馈。 (1)仅支持Json格式。 (2)请求指令810…...

人工智能-机器学习-深度学习-分类与算法梳理

目前人工智能的概念层出不穷&#xff0c;容易搞混&#xff0c;理清脉络&#xff0c;有益新知识入脑。 为便于梳理&#xff0c;本文只有提纲&#xff0c;且笔者准备仓促&#xff0c;敬请勘误&#xff0c;不甚感激。 请看右边目录索引 。 人工智能 三大派系 符号主义(Symbolists…...

Xinference:深度学习模型推理与优化指南

目录 1. 什么是 Xinference&#xff1f; 2. 使用 Xinference 进行模型推理 2.1 安装 Xinference 2.2 模型推理示例 3. 提高模型推理的效率和性能 3.1 模型量化 3.2 并行处理 3.3 批量处理 4. 启用网页端&#xff08;如果支持&#xff09; 5. 在 CPU 中的注意事项 6. …...

Windows 2003系统的防护技巧,禁止IPC$空连接

一、修改管理员帐号和新建“陷阱”帐号 多年以来&#xff0c;微软一直在强调建议重命名Administrator账号并禁用Guest账号&#xff0c;提高计算机的安全性。Windows Server 2003系统&#xff0c;Guest 账号是默认禁用的&#xff0c;管理员账号默认是Administrator&#xff0c;…...

Kubernetes 深入浅出系列 | 容器剖析之容器基本实现原理

一、容器基本实现原理 Docker 主要通过如下三个方面来实现容器化&#xff1a; ① 使用操作系统的 namespace 隔离系统资源技术&#xff0c;通过隔离 网络、PID 进程、系统信号量、文件系统挂载、主机名和域名&#xff0c;来实现在同一宿主机系统中&#xff0c;运行不同的容器&…...

【学习笔记】TLS/SSL握手

前言&#xff1a;本篇将介绍TLS握手的实际握手过程&#xff0c;TLS握手创建了Client和Server之间“被保护的通道”&#xff0c;2个单向通道用来保护批量数据的传输&#xff08;通过Confidentiality、Integrity和Authentication&#xff09;&#xff0c;一个通道是从Client到Ser…...

ESP32-TFT_eSPI.h文件的使用心得(包含画图相关函数)

目录 前言 环境&#xff1a;arduino 芯片&#xff1a;ESP32 一、Arduino中的使用 #include <TFT_eSPI.h> TFT_eSPI tft TFT_eSPI();tft.init();//初始化tft.setRotation(0); //屏幕旋转方向tft.fillScreen(TFT_BLACK);//底色tft.setTextSize(2); …...

保利商旅诺雅品牌首作,长沙保利橘洲诺雅酒店开业

美通社消息&#xff1a;5月15日&#xff0c;由保利发展湖南公司投资兴建、保利商旅产业发展有限公司运营管理的豪华城市度假品牌——诺雅(ORYARD)首店&#xff1a;长沙保利橘洲诺雅酒店&#xff0c;于湘江之畔正式盛大开业。该项目自2026年2月试营业以来&#xff0c;历经数月的…...

【电影研究者的AI护城河】:NotebookLM深度定制教程——仅限高校影视实验室内部流传的6大高阶技巧

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;NotebookLM电影研究辅助的底层逻辑与范式迁移 NotebookLM 并非传统意义上的“AI笔记工具”&#xff0c;而是一个以语义理解为核心、以用户自有资料为知识边界的可验证推理引擎。其在电影研究领域的应用&#…...

listmonk CI/CD安全扫描集成:在部署前发现漏洞

listmonk CI/CD安全扫描集成&#xff1a;在部署前发现漏洞 邮件营销系统作为企业与用户沟通的重要渠道&#xff0c;其安全性直接关系到用户数据保护和品牌声誉。根据行业统计&#xff0c;超过68%的邮件系统漏洞是在生产环境中被发现的&#xff0c;而此时修复成本已增加10倍以上…...

3分钟学会Charticulator:零代码制作专业数据图表的终极指南

3分钟学会Charticulator&#xff1a;零代码制作专业数据图表的终极指南 【免费下载链接】charticulator Interactive Layout-Aware Construction of Bespoke Charts 项目地址: https://gitcode.com/gh_mirrors/ch/charticulator 还在为制作专业图表而头疼吗&#xff1f;…...

嵌入式音频开发避坑指南:如何用一颗模组搞定AEC、ANS与啸叫抑制

摘要&#xff1a;在智能门禁、会议终端、车载语音等嵌入式产品中&#xff0c;回声消除&#xff08;AEC&#xff09;、噪声抑制&#xff08;ANS&#xff09;和啸叫抑制&#xff08;AFC&#xff09;是三大“硬骨头”。本文将深入解析A-59F多功能语音处理模组的架构与特性&#xf…...

基于RAG的智能文档问答系统:从原理到实践

1. 项目概述与核心价值如果你是一名开发者&#xff0c;或者经常需要处理各种技术文档、API参考、项目说明&#xff0c;那么你一定对“信息孤岛”深有体会。代码在一个仓库里&#xff0c;设计文档在另一个云盘&#xff0c;会议记录在Notion&#xff0c;而临时的讨论和决策可能散…...

对比直接使用官方API体验Taotoken在用量透明上的优势

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 对比直接使用官方API体验Taotoken在用量透明上的优势 在集成大模型能力到实际项目时&#xff0c;开发者通常会面临一个共同的挑战&…...

基于Go与Croc构建Telegram文件传输机器人:原理、部署与优化

1. 项目概述&#xff1a;一个基于Go的轻量级文件传输机器人 如果你经常需要在不同的设备、服务器或者聊天群组之间快速分享文件&#xff0c;并且对安全性、速度和便捷性有一定要求&#xff0c;那么你很可能已经厌倦了那些需要注册账号、上传到第三方服务器、或者操作繁琐的命令…...

终极指南:3步彻底解决腾讯游戏ACE-Guard卡顿,免费提升游戏性能

终极指南&#xff1a;3步彻底解决腾讯游戏ACE-Guard卡顿&#xff0c;免费提升游戏性能 【免费下载链接】sguard_limit 限制ACE-Guard Client EXE占用系统资源&#xff0c;支持各种腾讯游戏 项目地址: https://gitcode.com/gh_mirrors/sg/sguard_limit 你是否在玩《英雄联…...

ESP32-S2物联网实战:IPv6配置与Adafruit IO双向通信

1. 项目概述与核心价值如果你手头有一块ESP32-S2开发板&#xff0c;并且已经厌倦了仅仅让它连上Wi-Fi、点个灯&#xff0c;想让它真正“活”起来&#xff0c;成为一个能融入现代互联网、能与云端自由对话的智能节点&#xff0c;那么这篇文章就是为你准备的。我们将深入两个在物…...