python内置函数

一、入门函数
1.input()
功能:
接受标准输入,返回字符串类型
语法格式:
input([提示信息])
 
实例:
# input 函数介绍
text = input("请输入信息:")
print("收到的数据是:%s" % (text))
#输出:
请输入信息: hello world
收到的数据是: hello world
 
2.print()
功能:
输出打印信息
语法格式:
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
# 参数说明:
sep : 在值之间插入字符串,默认为空格。
end : 在最后一个值之后附加的字符串,默认为换行符
flush: 是否强制刷新,这个参数一般和file一起使用 。
file : 输出到文件
 
实例:
# print 函数介绍
str1 = "hello"
str2 = "python"
# 1.打印第一个字符串
print(str1)
# 2.同时打印两个字符串
print(str1,str2)
# 3.sep示例 : 如果打印多个字符串的话,可以使用sep进行分割,不加sep默认为空格
print("加入字符串分隔符",str1,str2,sep="::")
#输出
hello
hello python
加入字符串分隔符::hello::python
 
3.help()
功能:
用来查看函数或模块的详细信息
语法格式:
help(对象)
# 参数说明:对象可以是一个具体的函数,也可以是一个数据类型
 
实例:
help('str')		#查看str模块的的详细信息
tp = (1,23,345)
help(tp)    #查看元祖的详细信息
 
二、数学函数
1.sum()
功能:
对序列进行求和计算。
语法格式:
sum(seq,[number])
# 参数说明:
seq : 代表一个序列 ,可以是列表 ,字符串 、集合等
number : 相加的参数值
 
实例:
sum([2,3,4])		# 输出 : 9
sum([2,3,4],6)		# 输出 : 15
 
2.max()
功能:
返回序列中的最大值。
语法格式:
sum(a,b,c,...)
# 参数说明:
a,b,c 需要是同一数据类型 
 
实例:
max(2,3,4,5)			# 输出 : 5
max('hello','world')	# 输出:world
max([2,3,4,5])			# 输出 :5
 
3.min()
功能:
返回给定参数的最小值。
语法格式:
sum(a,b,c,...)
# 参数说明:
a,b,c 需要是同一数据类型 
 
实例:
min(2,3,4,5)			# 输出 : 2
min('hello','world')	# 输出:hello
min([2,3,4,5])			# 输出 :2
 
4.divmod()
功能:
接受两个数字,返回商和余数的元祖(a//b , a%b)。
语法格式:
divmod(a,b)
# 参数说明:
a,b 是两个数字
 
实例:
divmod(10,2)			# 输出 :(5, 0)
divmod(9,2)				# 输出:(4, 1)
 
5.abs()
功能:
返回数字的绝对值。
语法格式:
abs(a)
 
实例:
abs(-2.3)			# 输出 : 2.3
 
6.pow()
功能:
返回 xy(x 的 y 次方) 的值。
语法格式:
pow(x,y)
 
实例:
pow(3,3)			# 输出 : 27
 
7.round()
功能:
返回浮点数x的四色五入的值
语法格式:
round( x ,[ n]  )
# 参数说明:
x 是一个浮点数 
n 是一个整数
 
实例:
round(3.326,2)			# 输出 : 3.33
 
三、数据类型函数
1.int()
功能:
将一个字符串或数字转换为整型
语法格式:
int(x)
# 参数说明:
x 是一个数字或者字符串 
 
实例:
int(4.5)	#输出: 4
int('3')	#输出: 3
 
2.str()
功能:
将其它数据类型转化为字符串
语法格式:
str(data) 
# 参数说明:
data 为具体的数据类型
 
实例:
str(12)			#输出: '12'
str([12,13])	#输出: '[12, 13]'
str({'a':1})	#输出: "{'a': 1}"
str(bool)		#输出: "<class 'bool'>"
 
3.bool()
功能:
将给定参数转换为布尔类型,如果没有参数,返回 False。
语法格式:
bool(x)
# 参数说明:
x 要转化的参数
 
实例:
bool(1)			#输出: True
bool('hello')	#输出: True
bool(1==1)		#输出: True
bool([12])		#输出: True
 
4.float()
功能:
用于将整数和字符串转换成浮点数。
语法格式:
float(x)
# 参数说明:
x 要转化的参数
 
实例:
float(32)		#输出: 32.0
float('32')		#输出 32.0
float(32.00)	#输出: 32.0
 
5.tuple()
功能:
将序列转化为元祖。
语法格式:
tuple(seq)
# 参数说明:
seq 要转化的序列
 
实例:
tuple(['a',1,3])	#输出: ('a', 1, 3)
tuple('abcd')		#输出: ('a', 'b', 'c', 'd')
tuple({'a':1,'b':2})	#输出: ('a', 'b')
tuple({'a','b','c'})	#输出: ('c', 'a', 'b')
 
6.list()
功能:
将序列转化为列表。
语法格式:
list(seq)
# 参数说明:
seq 要转化的序列
 
实例:
list((1,2,3,5))			#输出: [1, 2, 3, 5]
list("abcd")			#输出: ['a', 'b', 'c', 'd']
list({'a':1,'b':1})	  	#输出: ['a', 'b']
 
7.dict()
功能:
用于创建字典。
语法格式:
dict(**kwarg)
# 参数说明:
kwarg   一组或多组键值对
 
实例:
dict()				#输出: {}
dict(a=1,b=2)		#输出: {'a': 1, 'b': 2}
dict((('a',1),('b',2)))		#输出: {'a': 1, 'b': 2}
 
8.set()
功能:
创建一个无序不重复的集合。
语法格式:
set(seq)
# 参数说明:
seq 要转化的序列
 
实例:
set('hello')		#输出: {'e', 'h', 'l', 'o'}
set([1,2,33,3,2])		#输出: {1, 2, 3, 33}
 
四、序列迭代器函数
1.len()
功能:
返回序列的长度
语法格式:
len(seq)
# 参数说明:
seq   序列
 
实例:
len((1,2,3,4,5))		#输出: 5
len([1,2,3,4])			#输出: 4
len("helloworld")		#输出: 10
len({'a':1,"b":2})		#输出: 2
 
2.slice()
功能:
函数返回一个切片(slice)对象。slice对象用于指定如何对序列进行切片
语法格式:
slice(start, end, step)
# 参数说明:
start	一个整数,指定在哪个位置开始切片。 默认为0
end		一个整数,指定在哪个位置结束切片
step	一个整数,指定切片的步骤。 默认为1
 
实例:
tp = ("c", "c++", "java", "php", "go", "python", "c#")
x = slice(2, 4)
print(tp[x])
#输出 :('java', 'php')
 
3.sorted()
功能:
函数对所有可迭代的对象进行排序操作。
语法格式:
sorted(iterable, cmp=None, key=None, reverse=False)
# 参数说明:
iterable 	-- 可迭代对象。
cmp 	-- 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
key 	-- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse -	- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
 
实例:
sorted([3,7,23,4,9])		#输出: [3, 4, 7, 9, 23]
city = [('chongqin',3011),('beijing',2300),('shanghai',2600)]
sorted(city,key=lambda x:x[1])
#输出:   [('beijing', 2300), ('shanghai', 2600), ('chongqin', 3011)]
sorted(city,key=lambda x:x[1],reverse=True)
#输出: [('chongqin', 3011), ('shanghai', 2600), ('beijing', 2300)]
 
4.reverse()
功能:
用于反转列表中的元素。。
语法格式:
list.reverse()
 
实例:
lst = [3,45,6]
lst.reverse()
lst				#输出: [6, 45, 3]
 
5.filter()
功能:
用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
语法格式:
filter(function, iterable)
# 参数说明:
function 	 判断函数。
iterable 	可迭代对象。
 
实例:
def qos(n):
    return n % 2 == 0
it = filter(qos,[1,23,77,4,5,67,8,9])
print(it)				#输出 :<filter object at 0x03131230>
for x in it:
    print(x,)
    
    
#输出
<filter object at 0x03131230>
4
8
#实例2:
it1 = filter(lambda x:x%2==0,[1,23,77,4,5,67,8,9])
for x in it1:
    print(x)
    
    
#输出:
4
8
 
6.all()
功能:
用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。
其中 : 0、空、None、False 这几个值返回False外 ,其它的值都返回Ture
语法格式:
all(iterable)
# 参数说明:
iterable    元组或列表。
 
实例:
all((1,0,-1))		#输出: False  ,因为这里面有个0 ,0返回False
all(('a',''))		#输出: False   ,因为这里有个空 ,空返回False
all((True,False))	#输出: False  ,因为这里面有个False 
all((12,None))		#输出: False  ,因为这里面有个None 
 
7.any()
功能:
用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True。
这个函数跟all()正好相反
语法格式:
any(iterable)
# 参数说明:
iterable    元组或列表。
 
实例:
any([1,0,-1])		#输出: True
any(['a',''])		#输出: True
any([True,False])	#输出: True
 
8.iter()
功能:
用来生成迭代器。
语法格式:
iter(object)
# 参数说明:
object   一个迭代对象
 
实例:
it = iter(["java","python","go"])
print(it)		#输出 :<list_iterator object at 0x055CE710>
for x in it:
   print(x)
#输出 :
java
python
go
 
9.next()
功能:
返回迭代器的下一个元素
语法格式:
next(iterable,[default])
# 参数说明:
iterable		一个可迭代对象
default		如果迭代器已结束,则返回默认值。
 
实例:
lst = iter(["java","python","go"])
next(lst)	#输出: 'java'
next(lst)	#输出: 'python'
next(lst)	#输出: 'go'
next(lst,"c++")		#输出: 'c++'
 
10.range()
功能:
返回一个数字序列,默认情况下从0开始,然后递增,并以指定的数字结束。
语法格式:
range([start], end, [step])
# 参数说明:
start		一个整数,指定从哪个位置开始。 默认为0
end			一个整数,指定在哪个位置结束。
step		一个整数,指定增量。 默认为1
 
实例:
# 设置end=6 ,其它都走默认
for x in range(3):
    print(x,end=" ")
print()
print("="*30)
# 设置start=1,end=6
for y in range(1,6):
    print(y,end=" ")
print()
print("="*30)
#设置start=2,end=10,step=3
for z in range(2,10,3):
    print(z,end=" ")
    
    
#输出 :
0 1 2 
==============================
1 2 3 4 5 
==============================
2 5 8 
 
11.enumerate()
功能:
用于将一个可遍历的序列(如列表、元组或字符串)组合为一个索引序列,同时列出数据和对应的索引
语法格式:
enumerate(iterable)
# 参数说明:
iterable   可迭代对象
 
实例:
lst = ['java', 'go', 'php']
for index,value in enumerate(lst):
    print(index,"==",value)
    
#输出    
0 == java
1 == go
2 == php
 
12.zip()
功能:
用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表
语法格式:
zip([iterable})
# 参数说明:
iterable   迭代器
 
实例:
a = [1,2,3]
b = [4,5,6]
tuple(zp)	#输出: ((1, 4), (2, 5), (3, 6))
 
13.map()
功能:
为迭代器中的每个项目指定执行的函数。该项目将作为参数发送到函数。
语法格式:
map(function, iterables)
# 参数说明:
function	函数
iterable	序列,集合或迭代器对象。 
 
实例:
def sq(x):
   return x ** 2
 
map(sq,[1,2,3,4,5])		#输出: <map at 0x532e2d0>
mp = map(sq,[1,2,3,4,5])
list(mp)				#输出: [1, 4, 9, 16, 25]
 
五、对象函数
1.id()
功能:
返回对象的唯一标识符,标识符是一个整数。
语法格式:
id([object])
# 参数说明:
object		对象 
 
实例:
id('hello world')		#输出 : 85404512
id(10)					#输出: 1705170112
id('')					#输出: 12245088
 
2.type()
功能:
返回指定对象的类型
语法格式:
type(object)
# 参数说明:
object		对象
 
实例:
type([1,2,3,4])			#输出: list
type((1,2,3))			#输出: tuple
type("abc")				#输出: str
type({'a':1,'b':1})		#输出: dict
 
3.isinstance()
功能:
为迭代器中的每个项目指定执行的函数。该项目将作为参数发送到函数。
语法格式:
isinstance(object, type)
# 参数说明:
object		对象
type		类型
 
实例:
isinstance('abc', str)			#输出: True
isinstance([1,2], list)			#输出: True
isinstance((1,2), tuple)		#输出: True
isinstance({'a':1,'b':2}, dict)		#输出: True
 
4.issubclass()
功能:
对象是指定对象的子类,则该函数返回 True,否则返回False。
语法格式:
issubclass(object, subclass)
# 参数说明:
object		对象
subclass		对象的父类
 
实例:
class Person():
    pass
class Student(Person):
    name = "zhangsan"
    age = 21
res = issubclass(Student,Person)			#判断Student是Person的子类
print(res)
#输出 : True
 
5.staticmethod()
功能:
返回函数的静态方法。
语法格式:
staticmethod()
 
实例:
class Person():
    pass
class Student(Person):
    name = "zhangsan"
    age = 21
    @staticmethod
    def study(content):
        print("学生学习的内容是:{}".format(content))
Student.study('python')
 
6.super()
功能:
用于调用父类的一个方法。
语法格式:
super()
 
实例:
class Person():
    def study(self):
        print("人人都需要学习")
class Student(Person):
    name = "zhangsan"
    age = 21
    def study(self,content):
        super().study()         #调用父类的study方法
        print("学生学习的内容是:{}".format(content))
s = Student()
s.study('python')
 
六、对象操作函数
1.format()
功能:
字符串的格式化
语法格式:
"{}".format("字符串")
 
实例:
"hello {}".format("python")			#输出: 'hello python'
"{} {}".format("hello","python")		#输出: 'hello python'
"{1} {0}".format("python","hello")		#输出: 'hello python'
"{} {lg}".format('hello',lg="python")		#输出: 'hello python'
 
2.repr()
功能:
转化为供解释器读取的形式。
语法格式:
repr(object)
# 参数介绍
object      对象
 
实例:
>>>repr([0,1,2,3])
'[0,1,2,3]'
>>> repr('Hello')
"'Hello'"
>>> str(1.0/7.0)
'0.142857142857'
>>> repr(1.0/7.0)
'0.14285714285714285'
 
3.eval()
功能:
用来执行一个字符串表达式,并返回表达式的值。
语法格式:
eval(expression)
#参数
expression -- 表达式。
 
实例:
eval("3 * 2")			#输出: 6
eval("sum([2,3])")		#输出: 5
eval("isinstance([1,2,3],list)")		#输出: True
 
4.exec()
功能:
执行指定的Python代码。 exec() 函数接受较大的代码块,与 eval仅接受单个表达式的函数不同
语法格式:
exec(expression)
#参数
expression -- 表达式。
 
实例:
score = 63
def get_result(sc):
    if sc > 60:
        print("及格")
    else:
        print("不及格")
exec('get_result(score)')			#注意 : 这里传递的是一个字符串,而字符串其实就是上面的函数
 
5.open()
功能:
将打开一个文件,并将其作为文件对象返回。
语法格式:
open(file, mode)
# 参数说明
file		文件的路径和名称
mode		打开模式,具体打开包括如下几种:
	“r” - 读取-默认值。 打开文件进行读取,如果文件不存在,则报错
	“a” - 附加-打开文件进行附加,如果文件不存在,则创建该文件
	“w” - 写入-打开要写入的文件,如果文件不存在,则创建该文件
	“x” - 创建-创建指定的文件,如果文件存在则返回错误
	“t” - 文本-默认值。 文字模式
	“b” - 二进制-二进制模式(例如图像)
 
实例:
f = open('a.txt')       #打开a.txt
res = f.read()                #读取a.txt的内容
print(res)
# 输出:输出的是a.txt中的内容
hello world
 
七、对象属性函数
1.setattr()
功能:
用于设置属性值,该属性不一定是存在的
语法格式:
setattr(object, name, value)
#参数说明:
object 			 对象。
name 			 字符串,对象属性。
value 			 属性值。
 
实例:
class Student():
    name = "zhangsan"
s = Student()
setattr(s,'age',21)			#设置属性age
print(s.age)				#输出:21
 
2.getattr()
功能:
返回一个对象属性值。
语法格式:
getattr(object, name,[default])
#参数说明:
object  对象。
name 		 字符串,对象属性。
default 		默认返回值,如果不提供该参数,在没有对应属性时,将触发 AttributeError。
 
实例:
class Student():
    name = "zhangsan"
s = Student()
name = getattr(s,'name')
print(name)
age1 = getattr(s,'age',21)
print(age1)
age = getattr(s,'age')		# 如果获取的属性不存在,又没有默认值,则会报错 。
print(age)
#输出:
zhangsan
21
Traceback (most recent call last):
  File "E:/project/python_lx/ts_nz/ts_en.py", line 25, in <module>
    age = getattr(s,'age')
AttributeError: 'Student' object has no attribute 'age'
 
3.hasattr()
功能:
用于判断对象是否包含对应的属性。
语法格式:
hasattr(object, name)
#参数说明:
object 		 对象。
name 		 字符串,属性名。
 
实例:
class Student():
    name = "zhangsan"
s = Student()
# 判断是否存在name属性
print(hasattr(s,'name'))		#输出 :True
#判断是否存在age属性
print(hasattr(s,'age'))			#输出:False
#判断是否存在sex属性
print(hasattr(s,'sex'))			#输出:False
 
4.delattr()
功能:
用于删除属性。
语法格式:
delattr(object, name)
#参数说明:
object 			 对象。
name 			 必须是对象的属性。
 
实例:
class Student():
    name = "zhangsan"
s = Student()
# 判断是否存在name属性
print(hasattr(s,'name'))		#输出 :True
# 删除属性name
delattr(Student,'name')
# 再次判断是否存在name属性		# 输出 :False  ,这是因为name属性已经被删除了
print(hasattr(s,'name'))
 
5.property()
功能:
将类方法转换为类属性,可以用 对象 . 直接获取属性值或者对属性进行赋值
语法格式:
@property
def func():
    pass
 
实例:
class Student():
    def get_age(self):
        return self._age
    def set_age(self,value):
        if not isinstance(value,int):
            raise ValueError('age must be an integer!')
        if value < 0 or value > 120:
            raise ValueError('age must between 0 ~ 120!')
        self._age = value
s = Student()
s.set_age(23)			# 我们这里调用的是通过对象.方法的方式进行调用 
print(s.get_age())
s.set_age(180)
 
问题 : 如果说想要调用的方法像调用属性一样 ,也能完成同样的功能 ,是否也可以实现呢 ?答案就是使用property
接下来我们通过property来设置 ,看看该如何设置呢 ?
class Student():
    @property
    def age(self):
        return self._age
    @age.setter
    def age(self,value):
        if not isinstance(value,int):
            raise ValueError('age must be an integer!')
        if value < 0 or value > 120:
            raise ValueError('age must between 0 ~ 120!')
        self._age = value
s = Student()
s.age = 23				#这里的age调用明显就是一个属性方式的调用 ,但是也有函数上的功能 
print(s.age)			#输出 :23
s.age = 180				#同样会检查该属性是否符合业务
#输出:
23
Traceback (most recent call last):
  File "E:/project/python_lx/ts_nz/ts_en.py", line 30, in <module>
    s.age = 180
  File "E:/project/python_lx/ts_nz/ts_en.py", line 23, in age
    raise ValueError('age must between 0 ~ 120!')
ValueError: age must between 0 ~ 120!
 
6.vars()
功能:
返回对象object的属性和属性值的字典对象。
语法格式:
vars([object])
#参数说明
object 		 对象
 
实例:
class Student():
    name = "zhangsan"
    age = 23
    sex = '男'
    def get_age(self):
        return self.age
print(vars(Student))
#输出:以字典形式输出
{'__module__': '__main__', 'name': 'zhangsan', 'age': 23, 'sex': '男', 'get_age': <function Student.get_age at 0x032034B0>, '__dict__': <attribute '__dict__' of 'Student' objects>, '__weakref__': <attribute '__weakref__' of 'Student' objects>, '__doc__': None}
                


















