精华内容
下载资源
问答
  • python 方法
    万次阅读 多人点赞
    更多相关内容
  • Python 方法重载

    万次阅读 多人点赞 2018-08-24 20:45:11
    python方法重载有些特殊,在python中,如下的代码并不能实现方法重载: def Aa():  pass def Aa(a):  print(1) def Aa(a,b):  print(2) # 这里想调用Aa的无参数版本,但是解释器会报错,提示找不到Aa...

    python的方法重载有些特殊,在python中,如下的代码并不能实现方法重载:

    def Aa():
    
        pass
    
    def Aa(a):
    
        print(1)
    
    def Aa(a,b):
    
        print(2)
    
    # 这里想调用Aa的无参数版本,但是解释器会报错,提示找不到Aa方法
    
    Aa()

     

    为什么会出现这种违法静态语言直觉的结果?因为,在python中,方法也是attribute,方法名就是Key,所以每个方法名只能有一个方法体,以上代码中,当Aa被定义了多次,每一次新的定义都会覆盖之前的定义,所以,可以在dir()中看到,Aa最终指向的函数体是Aa(a,b),但解释器发现调用Aa时却缺少两个参数,所以会报错。

     

    在Java中,方法重载有针对两个场景:

    1. 参数类型不同
    2. 参数个数不同

     

    而Python无法在语法层面上针对第一种情况实现重载,但支持对第二种情况的重载,对应的语法就是默认参数,所以,要实现以上的重载,在pytho中应该这么写:

    def Aa(a=1, b=1):
    
        print(2)
    
    
    # 无参数版本
    
    Aa()
    
    
    # 一个参数版本
    
    Aa(1)
    
    
    # 两个参数版本
    
    Aa(1, 2)

     

    那么,如果想实现java中的这种重载需求呢:

    public void Aa(int a, float b){
    
    System.out.print(1);
    
    }
    
    
    
    public void Aa(float a, int b){
    
    System.out.print(2);
    
    }

     

    python语法没法支持,只能用代码逻辑上实现:

    def Aa(a=1, b=1):
    
        if type(a) == int and type(b) == float:
    
            print(1)
    
        elif type(a) == float and type(b) == int:
    
            print(2)
    
    
    
    # Aa(int,float)
    
    Aa(1, 1.0)
    
    
    # Aa(float,int)
    
    Aa(1.0, 1)

     

    展开全文
  • python中类的方法有三种,分别为: 类方法,通过装饰器@calssmethod进行修饰。 静态方法,通过装饰器@staticmethod进行修饰。 实例方法,属于方法类型的函数。 为什么要分为三种不同的方法呢?他们之间有什么...

    目录

    1、python中类的方法类别

    2、各个方法之间的功能差异

    3、各个方法的调用格式

    4、使用举例


    1、python中类的方法类别

    python中类的方法有三种,分别为:

    1. 类方法,通过装饰器@calssmethod进行修饰。
    2. 静态方法,通过装饰器@staticmethod进行修饰。
    3. 实例方法,属于方法类型的函数。

    2、各个方法之间的功能差异

    为什么要分为三种不同的方法呢?他们之间有什么区别和差异呢?首先这三种方法的可以获取类的属性和变量范围不同,具体区别如下:

    1. 类方法:不能获取构造函数定义的变量,可以获取类的属性。
    2. 静态方法:不能获取构造函数定义的变量,也不可以获取类的属性。
    3. 实例方法:既可以获取构造函数定义的变量,也可以获取类的属性值。

    3、各个方法的调用格式

    除了三种方法可以获取的类的属性存在差异,具体在方法本身被调用的方式上也有所差异,具体如下:

    1. 类方法:有两种调用方式,a.类名.类方法名     b.实例化调用
    2. 静态方法:有两种调用方式,a.类名.静态方法名    b.实例化调用
    3. 实例方法:见名知意,也许命名就是告诉大家,它只能通过实例化进行调用,事实也是。

    4、使用举例

    基于以上理解,举个例子:

    class FunctionTest:
        fun = "test"
    
        def __init__(self):
            self.__name = "function"
            self.__age = 2
    
        @classmethod
        def execute_class(cls):
            logging.info("this is class method!")
    
        @staticmethod
        def execute_static(x):
            logging.info("this is static method!")
            logging.info(f"{x} is a num.")
    
        def execute_normal(self):
            logging.info("This is normal method!")
    
    
    if __name__ == '__main__':
    
        # 实例化调用
        FT = FunctionTest()
        # 只能通过实例化调用
        FT.execute_normal()
        # 实例化调用
        FT.execute_static(7)
        FT.execute_class()
        # 类.方法名 调用
        FunctionTest.execute_static(9)
        FunctionTest.execute_class()

    执行结果如下:

    2022-26-04 17:15:45:INFO:This is normal method!
    2022-26-04 17:15:45:INFO:this is static method!
    2022-26-04 17:15:45:INFO:7 is a num.
    2022-26-04 17:15:45:INFO:this is class method!
    2022-26-04 17:15:45:INFO:this is static method!
    2022-26-04 17:15:45:INFO:9 is a num.
    2022-26-04 17:15:45:INFO:this is class method!

    展开全文
  • python方法实现字符串反转

    千次阅读 多人点赞 2021-07-27 15:40:22
    python方法实现字符串反转

    方法一:反转列表法
    在这里插入图片描述
    Python中,列表可以进行反转,我们只要把字符串转换成列表,使用reverse()方法,进行反转,然后再使用字符串的join()方法遍历列表,合并成一个字符串。

    方法二:循环反向迭代法
    在这里插入图片描述
    字符串属于序列的一种,我们可以使用for循环遍历字符串,然后,不断反向赋值给变量b,最后输出变量b,就完成了字符串反转。

    方法三:反向循环迭代法
    在这里插入图片描述
    字符串本身就可以进行切片,当然也可以设置步长为-1,进行倒序。然后,再进行遍历,迭代变量b,也可以达到反转效果,逻辑和方法二相同。

    方法四:倒序切片法
    在这里插入图片描述
    方法二和方法三的终极版本,直接反转,一步到位。

    方法五:遍历索引法
    在这里插入图片描述
    字符串作为序列,可以进行索引,我们先遍历索引数字,然后倒序提取字母,然后合并成字符串。

    方法六:列表弹出法
    在这里插入图片描述
    列表有一种弹出的方法pop(),弹出其中某个元素,默认为最后一个元素。我们设置变量b,然后不断弹出字符串的最后一个字符,加入变量b中,最终使得字符串反转。

    方法七:列表解析式法
    在这里插入图片描述
    方法三的简便写法,使用列表解析式,简化代码书写。最后同样通过join()方法,反转合并字符串。

    方法八:反向遍历索引法
    range()函数有三个参数:start,end,step,且左闭右开,我们从最后一个索引开始,最开始的索引结束,倒序遍历索引,然后反向提取字符串,最后合并。是方法五的逆向思维。

    方法九:累积相加法
    在这里插入图片描述
    方法九的进阶版,使用lambda匿名函数创建字符串倒序相加函数,然后进行累积,得到字符串反转结果。

    方法十一:列表倒序法
    用列表的sort(reverse=True)方法,倒序排列,不过,这一方法有个弊端,它并不是按字符串的顺序进行升序或降序排列,而是按英语26个字母进行排序,所以,如果字符串不是按从小到大排列,那么运行后,排序会是错误的。

    方法十二:双向队列排序法
    在这里插入图片描述
    使用双向队列进行操作。解释下双向队列,这是一个数据结构,但可以方便的向序列的两边进行添加,删除元素。我们遍历字符串,向左添加入双向队列中,最后使用join()方法合并,使字符串反转。

    方法十三:双向队列反转法:
    在这里插入图片描述
    同样使用双向队列,把字符串转换成列表添加入队列中,然后整个进行反转,最后合并导出。

    方法十四:一维数组索引法
    在这里插入图片描述
    使用pandas的一维数组结构,对其倒序遍历,反转字符串。

    方法十五:函数递归法
    在这里插入图片描述
    使用递归的思想,建立函数,倒序添加字符串,直到字符串长度小于等于1以后停止。

    方法十六:对称交换法
    在这里插入图片描述
    这是最为销魂的一个方法大体思路是遍历字符串前一半的元素,然后和后一半对称的那个位置的元素进行交换,以达到字符串反转。过程非常讲究逻辑

    展开全文
  • java调用python方法总结

    万次阅读 2016-02-09 10:06:47
    转载自:http://blog.sina.com.cn/s/blog_64e467d60100uhls.htmlhttp://sourceforge.net/projects/jython/下载jython包,把...在java类中直接执行python语句import org.python.util.PythonInterpreter; public class
  • python获取方法名称

    千次阅读 2019-08-08 11:07:47
    python方法外获取方法名称可以调用__name__ 在内部获取当前方法名称: f_code和co_name可以参考python源码解析的pyc生成和命名空间章节。 获取注释直接调用__doc__即可,注意在方法内,用上述方法得到...
  • Java调用Python程序方法总结(最全最详细)

    万次阅读 多人点赞 2018-05-24 20:06:41
    如何使用Java调用Python程序本文为大家介绍如何java调用python方法,供大家参考。 实际工程项目中可能会用到Java和python两种语言结合进行,这样就会涉及到一个问题,就是怎么用Java程序来调用已经写好的python脚本...
  • Python中如何定义方法

    万次阅读 2018-11-26 19:48:44
    python中定义函数有两种方式: 第一种 def() 那么这种方式也是我们最经常遇到的,没有其他任何的限制,具体示例见代码 #这个函数的作用是对传入的值进行加2操作 def add2(x): y = x + 2 return y 那么我们...
  • 【Java】使用Java调用Python的四种方法

    万次阅读 多人点赞 2020-07-30 11:31:55
    为啥一个好好的岗位是Java开发工程师要去做写python呢?因为产品经理安排的(突然多少有点明白为啥程序员和产品经理会一直开撕)。由于在选择企业的时候没看清企业性质,看了要求以为就是互联网企业,现在看看初为社...
  • Python的注释快捷键方法

    千次阅读 2020-11-27 05:45:02
    方法1: 单行注释:在代码前面输入 Shift + # 多行注释:在代码前面输入 Shift + # 方式2: 单行和多行一样的方式:先选中要注释的内容 然后Ctrl + / 方式3: 输入’’’ ‘’'或者""" “”",将要注释的代码插...
  • Python中函数和方法的区别

    万次阅读 多人点赞 2019-04-28 21:48:23
    与类和实例有绑定关系的function都属于方法(method)。 首先摒弃错误认知:并不是类中的调用都叫方法 函数(FunctionType) 函数是封装了一些独立的功能,可以直接调用,能将一些数据(参数)传递进去进行处理...
  • python三种注释方法

    万次阅读 2018-12-30 17:27:20
    python三种注释方法 方式1: 单行注释:shift + #(在代码的最前面输入,非选中代码进行注释) 多行注释:同单行一样在每一行的前面输入shift + #(较麻烦了) 方式2: 单行和多行一样的方式:Ctr+ / (前提是...
  • 彻底搞懂Python类属性和方法的调用

    万次阅读 多人点赞 2020-03-29 15:22:35
    Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。 一、类、对象概述 在面向对象程序设计中,把数据以及对数据的操作封装在一起,组成一个整体(对象),不同对象...
  • Python静态方法

    千次阅读 2022-02-16 11:25:09
    Python静态方法 什么是静态方法?静态方法是干什么的?在Python里面静态方法和我们平时写的函数def是一样的。唯一不同之处就是它可以存在于类中,不同实例化类也可以调用。话不多说,通过例题看一下。 例题思路: 在...
  • VScode中Python常用注释方法

    千次阅读 2020-05-06 16:36:02
    单行注释 在语句前键入# 多行注释 在这段语句前后键入’’‘语句段’’’ 或者选中语句使用快捷键ctrl + / 即可在该段语句的每条语句前面加上#(单行注释变多行) ...
  • python中param函数的使用方法

    千次阅读 2020-12-18 23:52:53
    python中param函数的使用方法发布时间:2020-12-07 11:06:41来源:亿速云阅读:128作者:小新小编给大家分享一下python中param函数的使用方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!...
  • python几种注释方法

    万次阅读 2018-07-27 11:22:24
    1、单行注释 行首 # 号 2、多行注释 用三个单引号 或 三个双引号 包括要注释的内容 3、Windows下的IDLE的注释快捷键是Alt+3,取消注释是Alt+4 ...4、python中文注释方法 #coding=utf-8 或者: #coding=gbk...
  • Python调用外部程序的6种方法

    千次阅读 2020-11-03 11:58:40
    为了让更多的人看到本文,请各位读者动动小手,点击右上角【...】,将本文分享到朋友圈,thanks!我们知道,Python的API非常多,功能非常强大,而且非常易用。Python之所以...
  • Java之——调用python方法

    万次阅读 2016-03-17 17:29:24
    今天,给大家介绍下如何在java中调用python方法
  • Python的命名规范

    千次阅读 2022-03-01 22:40:06
    Python中常用的一些命名规范,遵守代码命名规范,使代码看起更优雅。
  • Python同个方法不同参数

    千次阅读 2019-05-05 02:20:35
    对于Python,我们知道它的多态是用鸭子类型来...而在这里,我做了一个实验,如果在Python的类中写了三个同名的方法,但参数不同,会出现什么样的情况? # 测试相同方法,不同参数 class Test: def get(self): prin...
  • Python变量、方法、类的命名规则

    万次阅读 多人点赞 2018-01-22 11:08:05
    1. 变量命名总结: - 1.单下划线开头变量:protected ...特殊方法(魔术方法):小写和两个前导下划线,两个后置下划线 - 3.函数参数:小写和下划线,缺省值等号两边无空格 3. 类名称命名: - 类总是使用驼
  • Effective Python摘录。 一. 培养Pythonic思维 1. 查询自己使用的python版本 import sys print(sys.version_info) print(sys.version) # 代码自动检查:https://pylint.org/ pip install pylint 2. 遵循PEP8风格...
  • Python中String方法的使用

    万次阅读 多人点赞 2018-08-28 23:03:38
    String方法的官方文档见以下链接: https://docs.python.org/3/library/stdtypes.html#string-methods 截取其开头的描述做一下说明: 大概意思就是说: String方法是用来处理代码中的字符串的,它几乎能搞定你...
  • Python最全学习路线

    千次阅读 多人点赞 2022-05-30 23:59:39
    Python学习路线
  • Python类和方法注释规范

    万次阅读 多人点赞 2018-06-19 14:55:50
    Python类和方法注释规范 注释风格 reStructuredText(PyCharm默认) def func(path, field_storage, temporary): '''基本描述 详细描述 :param path: The path of the file to wrap :type path: str :param field_...
  • 命令行退出python方法

    万次阅读 2015-11-13 14:01:10
    在Windows中,按Ctrl+Z,再按回车退出,或者按Ctrl+C直接退出; 在Linux中,按Ctrl+D退出
  • python获取函数参数个数的方法

    万次阅读 2018-11-22 10:22:29
    python获取函数参数个数的方法 def sum(a,b): return(a+b) print(sum.__code__.co_argcount) # 2 #输出的函数参数个数 print(sum.__code__.co_varnames) # ('a', 'b') #这里会输出函数用到的所有变量名,不只是...
  • INCLUDEPATH +=E:\Users\Administrator\Anaconda3\envs\python3env\include ############# python enviroment LIBS += -LE:\Users\Administrator\Anaconda3\envs\python3env\libs\ -l_tkinter\ -lpython3\ -lpython...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,354,480
精华内容 941,792
关键字:

python 方法