扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
Python 有很多有用的内置函数, 但还是不能满足程序员的需求, 所以需要 自定义函数 。
创新互联专业为企业提供凉山州网站建设、凉山州做网站、凉山州网站设计、凉山州网站制作等企业网站建设、网页设计与制作、凉山州企业网站模板建站服务,10多年凉山州做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
如何编写 自定义函数 , 需要用到 def语句, 函数名, 括号及参数, 冒号, 函数说明,内置缩进编码模块,return 语句 , 其中有一些也可省略不写,后面会慢慢介绍。
编写函数不可或缺的元素, 一定都要写。函数名尽量写得简单易懂。
一般是对函数的描述说明。
这是编写具体的 操作命令 的地方, 如果还未想好如何编写, 可以使用 pass 来占位,让程序可以运行起来,防止调试出错。
参数放在最后讲, 是因为这里面的东西还是很多的。首先看个例子。
如上的案例都是限制了参数个数的, 最多传三个参数 name/age/city , 但是如果有一些特例,需要传多个参数怎么办呢。 参数前面加个 * , 变成 可变参数 。
那如果想要传多个包含名称的参数,例如a=1,b=2,c=3......,那该怎么写呢。参数前面加个 ** , 变成 关键字参数 。
1.1 例如:print(hex(2))案例
1.2 输出函数:print(hex(2))
1.3 输出结果:0x2
1.4 解析说明:返回16进制的数。
2.1 例如:print(chr(10))案例
2.2 输出函数:print(chr(10))
2.3 输出结果:0o12
2.4 解析说明:返回当前整数对应的ASCll码
3.1 例如:print(ord("b"))案例
3.2 输出函数:print(ord("b"))
3.3 输出结果:98
3.4 解析说明:返回当前ASCll码的10进制数
4.1 例如:print(chr(97))
4.2 输出函数:print(chr(97))
4.3 输出结果:b
4.4 解析说明:返回当前ASCll码的10进制数。
案例一:给你一个字符串,s = 'hello kitty'
1.1 输出函数:print(s.capitalize())
1.2 输出结果:0x2
1.3 解析说明:返回16进制的数。
2.1输出函数:print(s.replace('kitty','kuang'))
2.2 输出结果:hello kuang
2.3 解析说明:替换功能,将kitty换成kuang。
2.4 输出函数:print(s.replace('4','KK'))
2.5 输出结果:12KK12KK
2.6 解析说明:所有的4都替换成KK
2.7 输出函数:print(s.replace('4','KK'))
2.8 输出结果:12KK12KK124
2.9 解析说明:将前两个的4替换成go
案例一:给你一个字符串,ip = '192.168.1.1'
3.1 输出函数:print(ip.split(','))
3.2 输出结果:['192.168.1.1']
3.3 解析说明:将字符串分割成列表
案例一:给你一个字符串,ip = '192.168.1.1'
3.3 输出函数:print(ip.split(',',2))
3.4 输出结果:['192.168.1.1']
3.5 解析说明:从第二个开始分割成列表
8个超好用内置函数set(),eval(),sorted(),reversed(),map(),reduce(),filter(),enumerate()
python中有许多内置函数,不像print那么广为人知,但它们却异常的强大,用好了可以大大提高代码效率。
这次来梳理下8个好用的python内置函数
1、set()
当需要对一个列表进行去重操作的时候,set()函数就派上用场了。
用于创建一个集合,集合里的元素是无序且不重复的。集合对象创建后,还能使用并集、交集、差集功能。
2、eval()之前有人问如何用python写一个四则运算器,输入字符串公式,直接产生结果。用eval()来做就很简单:eval(str_expression)作用是将字符串转换成表达式,并且执行。
3、sorted()在处理数据过程中,我们经常会用到排序操作,比如将列表、字典、元组里面的元素正/倒排序。这时候就需要用到sorted() ,它可以对任何可迭代对象进行排序,并返回列表。对列表升序操作:
对元组倒序操作:
使用参数:key,根据自定义规则,按字符串长度来排序:
根据自定义规则,对元组构成的列表进行排序:
4、reversed()如果需要对序列的元素进行反转操作,reversed()函数能帮到你。reversed()接受一个序列,将序列里的元素反转,并最终返回迭代器。
5、map()做文本处理的时候,假如要对序列里的每个单词进行大写转化操作。这个时候就可以使用map()函数。
map()会根据提供的函数,对指定的序列做映射,最终返回迭代器。也就是说map()函数会把序列里的每一个元素用指定的方法加工一遍,最终返回给你加工好的序列。举个例子,对列表里的每个数字作平方处理:
6、reduce()前面说到对列表里的每个数字作平方处理,用map()函数。那我想将列表里的每个元素相乘,该怎么做呢?这时候用到reduce()函数。
reduce()会对参数序列中元素进行累积。第一、第二个元素先进行函数操作,生成的结果再和第三个元素进行函数操作,以此类推,最终生成所有元素累积运算的结果。再举个例子,将字母连接成字符串。
你可能已经注意到,reduce()函数在python3里已经不再是内置函数,而是迁移到了functools模块中。这里把reduce()函数拎出来讲,是因为它太重要了。
7、filter()一些数字组成的列表,要把其中偶数去掉,该怎么做呢?
filter()函数轻松完成了任务,它用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象。filter()函数和map()、reduce()函数类似,都是将序列里的每个元素映射到函数,最终返回结果。我们再试试,如何从许多单词里挑出包含字母w的单词。
8、enumerate()这样一个场景,同时打印出序列里每一个元素和它对应的顺序号,我们用enumerate()函数做做看。
enumerate翻译过来是枚举、列举的意思,所以说enumerate()函数用于对序列里的元素进行顺序标注,返回(元素、索引)组成的迭代器。再举个例子说明,对字符串进行标注,返回每个字母和其索引。
python的常用内置函数
1.abs() 函数返回数字的绝对值
abs(-40)=40
2. dict() 函数用于创建一个字典
dict()
{} #创建一个空字典类似于u={},字典的存取方式一般为key-value
例如u = {"username":"tom", "age":18}
3. help() 函数用于查看函数或模块用途的详细说明
help('math')查看math模块的用处
a=[1,2,3,4]
help(a)查看列表list帮助信息
4.dir()获得当前模块的属性列表
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__']
5.min() 方法返回给定参数的最小值 /参数可以为序列
a= min(10,20,30,40)
a
10
6. next() 返回迭代器的下一个项目
it = iter([1, 2, 3, 4, 5])
next(it)
1
next(it)
2
7. id() 函数用于获取对象的内存地址
a=12
id(a)
1550569552
8.enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
a=["tom","marry","leblan"]
list(enumerate(a))
[(0, 'tom'), (1, 'marry'), (2, 'leblan')]
9. oct() 函数将一个整数转换成8进制字符串
oct(15)
'0o17'
oct(10)
'0o12'
10. bin() 返回一个整数 int 或者长整数 long int 的二进制表示
bin(10)
'0b1010'
bin(15)
'0b1111'
11.eval() 函数用来执行一个字符串表达式,并返回表达式的值
eval('2+2')
4
12.int() 函数用于将一个字符串会数字转换为整型
int(3)
3
int(3.6)
3
int(3.9)
3
int(4.0)
4
13.open() 函数用于打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写
f=open('test.txt')
14.str() 函数将对象转化为适于人阅读的形式
str(3)
'3'
15. bool() 函数用于将给定参数转换为布尔类型,如果没有参数,返回 False
bool()
False
bool(1)
True
bool(10)
True
bool(10.0)
True
16.isinstance() 函数来判断一个对象是否是一个已知的类型
a=5
isinstance(a,int)
True
isinstance(a,str)
False
17. sum() 方法对系列进行求和计算
sum([1,2,3],5)
11
sum([1,2,3])
6
18. super() 函数用于调用下一个父类(超类)并返回该父类实例的方法。super 是用来解决多重继承问题的,直接用类名调用父类方法
class User(object):
def__init__(self):
class Persons(User):
super(Persons,self).__init__()
19. float() 函数用于将整数和字符串转换成浮点数
float(1)
1.0
float(10)
10.0
20. iter() 函数用来生成迭代器
a=[1,2,3,4,5,6]
iter(a)
for i in iter(a):
... print(i)
...
1
2
3
4
5
6
21.tuple 函数将列表转换为元组
a=[1,2,3,4,5,6]
tuple(a)
(1, 2, 3, 4, 5, 6)
22.len() 方法返回对象(字符、列表、元组等)长度或项目个数
s = "playbasketball"
len(s)
14
a=[1,2,3,4,5,6]
len(a)
6
23. property() 函数的作用是在新式类中返回属性值
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
24.type() 函数返回对象的类型
25.list() 方法用于将元组转换为列表
b=(1,2,3,4,5,6)
list(b)
[1, 2, 3, 4, 5, 6]
26.range() 函数可创建一个整数列表,一般用在 for 循环中
range(10)
range(0, 10)
range(10,20)
range(10, 20)
27. getattr() 函数用于返回一个对象属性值
class w(object):
... s=5
...
a = w()
getattr(a,'s')
5
28. complex() 函数用于创建一个复数或者转化一个字符串或数为复数。如果第一个参数为字符串,则不需要指定第二个参数
complex(1,2)
(1+2j)
complex(1)
(1+0j)
complex("1")
(1+0j)
29.max() 方法返回给定参数的最大值,参数可以为序列
b=(1,2,3,4,5,6)
max(b)
6
30. round() 方法返回浮点数x的四舍五入值
round(10.56)
11
round(10.45)
10
round(10.45,1)
10.4
round(10.56,1)
10.6
round(10.565,2)
10.56
31. delattr 函数用于删除属性
class Num(object):
... a=1
... b=2
... c=3.
.. print1 = Num()
print('a=',print1.a)
a= 1
print('b=',print1.b)
b= 2
print('c=',print1.c)
c= 3
delattr(Num,'b')
print('b=',print1.b)
Traceback (most recent call last): File "", line 1, inAttributeError: 'Num' object has no attribute 'b'
32. hash() 用于获取取一个对象(字符串或者数值等)的哈希值
hash(2)
2
hash("tom")
-1675102375494872622
33. set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。
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中,字符串格式化操作通过format()方法或者f'string'实现。而相比于老版的字符串格式化方式,format()方法拥有更多的功能,操作起来更加方便,可读性也更强。该函数将字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号{}作为特殊字符代替%。
位置设定
默认位置
不指定格式化位置,按照默认顺序格式化
示例结果:
设置位置
设置数字顺序指定格式化的位置
示例结果:
设置关键字
设置关键字指定格式化的内容
示例结果:
参数传递
我们可以传入各种类型参数格式化字符串,即不限于字符串变量或数字等。
元组传参
利用元组传参,传参形式 *tuple
示例结果:
字典传参
示例结果:
列表传参
示例结果:
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流