Python学习笔记(4):Python如何设置类似C语言静态函数

介绍

模块封装时候,希望有一些函数不被外部直接调用。C语言通常采用static int function()形式以及头文件形式作为标识。而python不存在头文件,但可以通过修饰符@staticmethod进行代替。

@staticmethod
def your_function():# 你的代码print("your function work")

设置方法

设置方法:在函数上方添加@staticmethod

  1. 首先在test1.py输入如下两个函数
@staticmethod
def __a():print("a")def b():print("b")
  1. 在test2.py中导入test1.py 并调用
import test1test1.__a()
test1.b()
  1. 可以看到如下报错信息
    可以看出, __a()这个函数无法执行,但调用b()则不会有问题
Traceback (most recent call last):File "D:\Python_demo\demo2\ledaProgram\code\te2.py", line 3, in <module>te1.__a()
TypeError: 'staticmethod' object is not callable

staticmethod介绍

我们在类中写staticmethod修饰,其含义可以参考
https://www.runoob.com/python/python-func-staticmethod.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/526552.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c++ 字符串相等比较

介绍 在C 中比较字符串的技术 (Techniques to Compare Strings in C) Strings in C can be compared using either of the following techniques: 可以使用以下两种技术之一来比较C 中的字符串&#xff1a; String strcmp() function 字符串strcmp&#xff08;&#xff09;函…

ffmpeg下载安装 多段ts视频m3u8下载

如何下载多段ts视频 m3u8 ffmpeg ffmpeg使用教程 下载 Windows下载方法 step1. 官网下载地址 点此进入下载地址 step2. 选择 Windows EXE files 中的Windows builds by BtbN 这会跳转到github页面中。 step3. 选择对应的linux平台或者windows平台进行下载 安装 step1.…

linux环境下安装多个任意版本的python环境

linux环境下安装多个任意版本的python环境 安装方法可以归结为 [下载 编译 配置环境变量] 下载Python 参考链接&#xff1a; .任意python版本下载&#xff0c;所有python版本下载的FTP路径 Windows下载发送到linux上 step1. 下载linux版本的python 从Python官网进入 选择…

linux云服务器状态上报解决方案:外发个人邮箱

linux云服务器状态上报解决方案&#xff1a;外发个人邮箱 需求如下&#xff1a; #### 将一些服务器的关键日志实时发送到手机上一些案例&#xff1a; CPU状态检测 解决方案&#xff1a; #### 利用mailx命令外发邮件方法如下&#xff1a; 1. 用管理员打开mail配置文件 >…

Matplotlib画图教程:在QT界面中嵌入三维图片

Matplotlib画图教程&#xff1a;在QT界面中嵌入三维图片 需求&#xff1a; 做项目报告的时候&#xff0c;有这么一个想法&#xff0c;就是能通过UI随时调用matplotlib进行二维图和三维图的绘制。因此就诞生了做这么一个小模块的想法。 这里先上一下最终结果&#xff1a; 思…

Python工程笔记(1):轨迹与日志

轨迹记录模块&#xff08;Recorder&#xff09; 轨迹和日志是定位工程问题的备忘录和总结代码开发项目管理经验的基本素材&#xff0c;是工程交验收资料的重要组成部分 1.1 依赖表 包名含义安装方式系统包ostime 1.2 全局变量表 变量名含义初值log_file日志保存路径./recor…

Python代码优化(1):天气预报获取

天气预报获取模块 基于http://www.weather.com.cn/做了代码优化&#xff0c;每个函数功能更加明确&#xff0c;更加适合单独集成。接口也进行了优化&#xff0c;比网络上博主抄来抄去的源码要好一些。 改进点&#xff1a;获取天气拆成了多个函数&#xff0c;多次保存csv文件不…

proxy_pool开源项目攻克学习

开源项目攻克学习之proxy_pool 1. 学习背景 爬虫线程池&#xff0c;但是网络上付费的又很麻烦&#xff0c;于是在开源网站上找到一个版本进行学习。 https://github.com/jhao104/proxy_pool 本人操作系统deepin&#xff0c;有遇到一些问题&#xff0c;希望可以跟大家分享一…

pip 指定镜像源 指定版本 批量安装

要用 pip 安装指定版本的 Python 包&#xff0c;只需通过 操作符 指定 例如&#xff1a;pip install pycrypto2.6.1 将安装pycrypto2.6.1 版本。 要使用pip 批量安装&#xff0c;需要写requirements.txt文件&#xff0c;一行一个包 numpy matplotlib wxpypip install -r r…

Linux命令行下统计当前文件夹下的文件个数

统计某文件夹下文件的个数 ls -l |grep “^-”|wc -l 统计某文件夹下目录的个数 ls -l |grep “^&#xff44;”|wc -l 统计文件夹下文件的个数&#xff0c;包括子文件夹里的。 ls -lR|grep “^-”|wc -l 统计文件夹下目录的个数&#xff0c;包括子文件夹里的。 ls -lR|…

proxy_pool开源项目攻克学习2:服务器架设

proxy_pool开源项目攻克学习2&#xff1a;服务器架设 在这个文章proxy_pool开源项目攻克学习中&#xff0c;我们完成了本地的proxy_pool架设。现在我们将他转移到服务器上。 硬件环境准备 腾讯centos服务器。 软件环境准备 redispython3.7proxy_pool开源项目 安装过程 总…

python opencv安装

opencv安装 pip install opencv-python依赖安装 # libglvnd-1:1.3.2-1.tl3.x86_64 # libglvnd-glx-1:1.3.2-1.tl3.x86_64 # libxshmfence-1.3-2.tl3.x86_64 # mesa-libGL-20.3.3-2.tl3.x86_64 # mesa-libglapi-20.3.3-2.tl3.x86_64yum install libGL

nodejs轻量服务器后端

nodejs轻量服务器后端 搭建思路 server.js主函数 mine.js配置文件 index.html 测试网页 目录结构 __./|__ test1|__ index.html|__ mine.js|__ server.jsserver.js文件 var PORT 8080; //端口 var DIR test1; //用于存放html的目录var http require(http);…

[Leetcode713]乘积小于 K 的子数组

公司里偷偷刷题记录 做一下笔记 求解子数组方式&#xff1a; 两种方案&#xff1a; 通用方案就是前缀和查找 另一种是递增序列可用的滑动窗口 有些题目如果给出来的数字有正&#xff0c;负。那么一定就要转化成前缀和。 如果是全正数组&#xff0c;可以采用前缀和二分查找的…

[Leetcode15]三数之和

重刷一遍相向双指针 题目 leetcode15 https://leetcode.cn/problems/3sum/ 类似的题目还有leetcode16 leetcode16 解答思路 关键点 快排 双指针 1&#xff1a; 快速排序&#xff0c;之后使用双指针遍历对应的位置&#xff0c;求解 2&#xff1a; 主要是在确定了第一个值…

光学元件生产工艺流程

光学元件生产工艺流程 选胚料 – 开料(初步切割)- 清洗 - 上盘(批处理) – 切割 – 粗磨整平 – 粗检 – 细磨上盘 – 细磨 – 高速抛光 – 低速抛光 – 光胶 – 成片 – 上盘 – 成品切割 – 清洗 – 包装 粗磨阶段 选胚料: 选择光学元件的原材料,如K9,BK7玻璃等 开…

[leetcode933]最近的请求次数

每日偷偷刷题933和队列有关 思路 每来一次ping就记录时间&#xff0c;并返回3000s内ping的次数&#xff0c;本题数据量很大&#xff0c;正向暴力肯定是不行的。 初步思路&#xff1a;反向暴力&#xff0c;不删列表数据。从ping的下标往前推&#xff0c;并统计3000s的数据。 …

[leetcode]5. 最长回文子串 647. 回文子串

昨日刷题&#xff0c;今日补发 解题思路 中间扩展&#xff0c;遍历数组&#xff0c;以每一项为中心&#xff0c;或以每两项为中心&#xff0c;向外拓展。 学习一下pair概念&#xff0c;还有string的substr的用法 以下是leetcode第五题 C做法 class Solution { public:pair…

牛客网选择题刷题记录之C++

数据结构 顺序表 在一个长度为n的顺序表的任意位置插入一个新元素的渐进时间复杂度为&#xff08;&#xff09; A. O&#xff08;n&#xff09; B. O&#xff08;n/2&#xff09; C. O&#xff08;1&#xff09; D. O&#xff08;n的平方&#xff09; 答案&#xff1a; A 解析…

[剑指offer 24] 反转链表

题目复习反转链表 字节面试的一道面试考题。属于简单题&#xff0c;毕竟复杂的面试也不好判题对吧&#xff08;狗头&#xff09; 思路 思路不难&#xff0c;首先我们观察链表&#xff0c;一般链表指的都是单向链表 struct ListNode {int val;struct ListNode *next; };那么…