#可以用函数字典,看看是否满足你的要求
def?text_func(self):
print?"this?is?text?func"
def?int_func(self):
print?"this?is?int_func"
gen_func={'text':text_func,?'int':int_func}
def?choose(a='text'):
return?gen_func[a]
数学相关
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']
表示一个功能,函数定义着是提供功能的人,函数调用者是使用功能的人.
print:打印功能,将括号中的内容,显示到终端.
将括号中的内容显示在控制台.
input:输入功能,从终端中获取输入的信息,存到程序变量当中
作用:将用户输入的内容赋值给变量
第一个字符必须是字母表中字母或下划线 _ .
标识符的其他的部分由字母、数字和下划线组成.
标识符对大小写敏感.
python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} .
缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数.实例如下:
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)
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'}
Python 有很多有用的内置函数, 但还是不能满足程序员的需求, 所以需要 自定义函数 .
如何编写 自定义函数 , 需要用到 def语句, 函数名, 括号及参数, 冒号, 函数说明,内置缩进编码模块,return 语句 , 其中有一些也可省略不写,后面会慢慢介绍.
编写函数不可或缺的元素, 一定都要写.函数名尽量写得简单易懂.
一般是对函数的描述说明.
这是编写具体的 操作命令 的地方, 如果还未想好如何编写, 可以使用 pass 来占位,让程序可以运行起来,防止调试出错.
参数放在最后讲, 是因为这里面的东西还是很多的.首先看个例子.
如上的案例都是限制了参数个数的, 最多传三个参数 name/age/city , 但是如果有一些特例,需要传多个参数怎么办呢. 参数前面加个 * , 变成 可变参数 .
给你这样一个例子吧,这个例子里面有动态增加类的函数.
声明一个类,类初始化的时候读取配置文件,根据配置列表加载特定目录下的模块下的函数,函数和模块同名,将此函数动态加载为类的成员函数.
代码如下所示:
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函数.
以上就是土嘎嘎小编大虾米为大家整理的相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!