网站首页 > 文章中心 > 其它

python3动态函数

作者:小编 更新时间:2023-09-24 07:19:02 浏览量:468人看过

Python怎么根据不同的字符串动态选择函数?

#可以用函数字典,看看是否满足你的要求

def?text_func(self):

print?"this?is?text?func"

def?int_func(self):

python3动态函数-图1

print?"this?is?int_func"

gen_func={'text':text_func,?'int':int_func}

def?choose(a='text'):

return?gen_func[a]

太全了!Python3常用内置函数总结

数学相关

python3动态函数-图2

abs(a) : 求取绝对值.abs(-1)

sorted(list) : 排序,返回排序后的list.

类型转换

int(str) : 转换为int型.int('1') 1

float(int/str) : 将int型或字符型转换为浮点型.float('1') 1.0

str(int) : 转换为字符型.str(1) '1'

bool(int) : 转换为布尔类型. str(0) False str(None) False

enumerate(iterable) : 返回一个枚举对象.

相关操作

exec() : 执行python语句. exec('print("Python")') Python

type():返回一个对象的类型.

id(): 返回一个对象的唯一标识值.

help():调用系统内置的帮助系统.

isinstance():判断一个对象是否为该类的一个实例.

issubclass():判断一个类是否为另一个类的子类.

globals() : 返回当前全局变量的字典.

next(iterator[, default]) : 接收一个迭代器,返回迭代器中的数值,如果设置了default,则当迭代器中的元素遍历后,输出default内容.

reversed(sequence) : 生成一个反转序列的迭代器. reversed('abc') ['c','b','a']

「Python3基础」函数

表示一个功能,函数定义着是提供功能的人,函数调用者是使用功能的人.

print:打印功能,将括号中的内容,显示到终端.

将括号中的内容显示在控制台.

input:输入功能,从终端中获取输入的信息,存到程序变量当中

作用:将用户输入的内容赋值给变量

第一个字符必须是字母表中字母或下划线 _ .

标识符的其他的部分由字母、数字和下划线组成.

标识符对大小写敏感.

python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} .

缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数.实例如下:

python3--内置函数

python的常用内置函数

①abs() 函数返回数字的绝对值

dict()

{} ? ? ?#创建一个空字典类似于u={},字典的存取方式一般为key-value

help('math')查看math模块的用处

help(a)查看列表list帮助信息

dir(help)

['__call__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']

a

①.0

next(it)

id(a)

a=["tom","marry","leblan"]

list(enumerate(a))

oct(10)

①.0. bin() 返回一个整数 int 或者长整数 long int 的二进制表示

bin(10)

'0b1010'

'0b1111'

①.1.eval() 函数用来执行一个字符串表达式,并返回表达式的值

f=open('test.txt')

bool()

False

bool(1)

True

bool(10)

bool(10.0)

isinstance(a,int)

isinstance(a,str)

class ? User(object):

? ? def__init__(self):

class Persons(User):

? ? ? ? ? super(Persons,self).__init__()

float(1)

①0

float(10)

①.0.0

iter(a)

for i in iter(a):

... ? ? ? ? print(i)

...

tuple(a)

s = "playbasketball"

len(s)

len(a)

class User(object):

? ?def __init__(self,name):

? ? ? ? ? ? self.name = name

? def get_name(self):

? ? ? ? ? ? return self.get_name

? @property

? ?def name(self):

? ? ? ? ? ?return self_name

list(b)

range(10)

range(0, 10)

class w(object):

a = w()

getattr(a,'s')

complex(1)

(1+0j)

complex("1")

max(b)

python3动态函数-图3

class Num(object):

...? ? a=1

.. print1 = Num()

print('a=',print1.a)

a= 1

print('b=',print1.b)

print('c=',print1.c)

delattr(Num,'b')

Traceback (most recent call last):? File "", line 1, inAttributeError: 'Num' object has no attribute 'b'

hash("tom")

a= set("tom")

b = set("marrt")

a,b

({'t', 'm', 'o'}, {'m', 't', 'a', 'r'})

ab#交集

{'t', 'm'}

a|b#并集

{'t', 'm', 'r', 'o', 'a'}

a-b#差集

{'o'}

python3 定义函数

Python 有很多有用的内置函数, 但还是不能满足程序员的需求, 所以需要 自定义函数 .

如何编写 自定义函数 , 需要用到 def语句, 函数名, 括号及参数, 冒号, 函数说明,内置缩进编码模块,return 语句 , 其中有一些也可省略不写,后面会慢慢介绍.

编写函数不可或缺的元素, 一定都要写.函数名尽量写得简单易懂.

一般是对函数的描述说明.

这是编写具体的 操作命令 的地方, 如果还未想好如何编写, 可以使用 pass 来占位,让程序可以运行起来,防止调试出错.

参数放在最后讲, 是因为这里面的东西还是很多的.首先看个例子.

如上的案例都是限制了参数个数的, 最多传三个参数 name/age/city , 但是如果有一些特例,需要传多个参数怎么办呢. 参数前面加个 * , 变成 可变参数 .

python的类中怎么实现动态化函数?

给你这样一个例子吧,这个例子里面有动态增加类的函数.

声明一个类,类初始化的时候读取配置文件,根据配置列表加载特定目录下的模块下的函数,函数和模块同名,将此函数动态加载为类的成员函数.

代码如下所示:

class WinBAS(Bas):

def __init__(self):

self.__baslist = {}

self.__Init_Modules()

pass

def __Init_Modules(self):

import modplugs

for m in modplugs.__moduleset__:

mh = __import__('modules.' + m)# + '.' + m)

ma = getattr(mh, m)# + '.' + m)

ma = getattr(ma, m)

setattr(self.__class__, m, ma)

modplugs.py是模块配置文件如下:

__moduleset__ = [

'BAS_GetUserList',

]

然后建立目录modules下面建立一个空的__init__.py文件,把目录变为一个包,在modules目录下建立真正的BAS_GetUserList实现:BAS_GetUserList文件中有个BAS_GetUserList函数如下:

def BAS_GetUserList(self, strs):

return [0, strs]

这样WinBAS类就可以动态加入了BAS_GetUserList函数.

以上就是土嘎嘎小编大虾米为大家整理的相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章