python学习 —— 内置函数(一):divmod,open,staticmethod,all,enumerate,int,ord,any,eval,isinstance

本文深入讲解了Python中的十个内置函数,包括divmod()、open()、staticmethod()等,详细介绍了每个函数的语法、作用和使用场景,通过代码演示帮助读者更好地理解和掌握。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、divmod()

语法:

divmod(a, b)

作用 / 返回值:
计算 a 除以 b 的商和余数,并返回一个包含商和余数的元组;

代码演示:

# divmod(a, b)

res_tuple1 = divmod(5, 2)
print(res_tuple1)

res_tuple2 = divmod(6, 3)
print(res_tuple2)

在这里插入图片描述

2、open()

语法:

file = open(filepath,mode,encoding)

filepath文件路径:(必要)可以是绝对路径,或相对路径;

mode模式:(非必要,默认为只读模式 ‘r’)

模式操作
‘r’只读,文件指针放在文件开头;
‘r+’读写,文件指针放在文件开头;
‘rb’只读,以二进制格式打开,文件指针放在文件开头;
‘rb+’读写,二进制格式打开,文件指针放在文件开头;
‘w’只写,若文件存在,则删除原有内容,重新开始编辑;若文件不存在,创建文件;
‘w+’读写,若文件存在,则删除原有内容,重新开始编辑;若文件不存在,创建文件;
‘wb’只写,二进制格式打开,若文件存在,则删除原有内容,重新开始编辑;若文件不存在,创建文件;
‘wb+’读写,二进制格式打开,若文件存在,则删除原有内容,重新开始编辑;若文件不存在,创建文件;
‘a’追加,指针放在文件结尾,即新内容会写在已有内容之后;若文件不存在,创建文件;
‘a+’读写,指针放在文件结尾,即新内容会写在已有内容之后;若文件不存在,创建文件用于读写;
‘ab’追加,二进制格式打开,指针放在文件结尾,即新内容会写在已有内容之后;若文件不存在,创建文件;
‘ab+’读写,二进制格式打开,指针放在文件结尾,即新内容会写在已有内容之后;若文件不存在,创建文件用于读写;

encoding编码方式:以encoding=‘xxx’方式解码,打开文件,windows默认’gbk’解码,linux默认utf-8

作用 / 返回值:
根据文件路径打开文件,接下来可以根据指定模式使用file调用相关操作;
file对象可用的方法:

方法操作
file.read([size])未指定size则返回整个文件,读到文件结尾时返回空字符串;
file.readline()读取一行;
file.readlines([size])返回包含size行的列表,未指定size则返回全部行;
for line in file: print line迭代访问每一行;
file.write(‘hello\n’)写入数据;
file.tell()返回一个整数,表示当前文件指针的位置;
file.seek(偏移量,[起始位置])移动文件指针,单位为bit,偏移量可正可负;起始位置0(文件头,默认)、1(当前位置)、2(文件尾);
file.close()关闭文件。(所有打开的文件在所需操作完成后都需要关闭,所以编写代码时可以先将open和close都写好,再写中间部分)

代码演示:

f = open('namefile.txt', 'r')
print(f.read())
print('-' * 50)
f.close()

在这里插入图片描述

f = open('namefile.txt', 'r')
print(f.readline())
print(f.readlines())
print('-' * 50)
f.close()

在这里插入图片描述

3、staticmethod()

语法:

class Cla():
    
    @staticmethod
    def func1(a1, b1, ...):
        ...
    
    def func2(a2, b2, ...):
        ...

静态方法func1是否传递参数均可;

作用 / 返回值:
如上定义,则func1为静态方法;
类Cla实例化后可以使用 Cla().func1() 调用func1;
不实例化可以使用 Cla.func1() 调用func1;

代码演示:

class Cla():

    @staticmethod
    def func1(a1, b1, c1):
        print(a1 + b1 + c1)


Cla.func1(1, 2, 3)

cla = Cla()
cla.func1(4, 5, 6)

在这里插入图片描述

4、all()

语法:

all(iterable)

iterable:可迭代的参数(如元组、列表);

作用 / 返回值:
判断可迭代参数iterable中的所有元素是否都为True,若是,返回True;否则返回False;
除 0、’’、None、False 外,均为True;
注意:空元组、空列表返回值为Ture;

代码演示:

print('1、', all((1, 2, 3)))
print('2、', all((1, '', 3)))
print('3、', all([1, 2, False]))
print('4、', all(('a', 2, 3)))
print('5、', all((0, 2, 3)))
print('6、', all(('0', 2, 3)))
print('7、', all(()))
print('8、', all([]))

在这里插入图片描述

5、enumerate()

语法:

enumerate(sequence, [start =  0])

sequence:一个支持迭代的对象;
start:下标起始位置;

作用 / 返回值:
将一个可遍历的数据对象(列表、元组、字符串)组合为一个索引序列,同时列出数据和数据下标;
一般用在for循环中;
深度学习中有时可用于同时读取数据集的样本、标签;

代码演示:

a_list = ['a', 'b', 'c', 'd']
print('1、', list(enumerate(a_list)))

a_list = ['a', 'b', 'c', 'd']
print('2、', list(enumerate(a_list, 2)))

a_tuple = ('a', 'b', 'c', 'd')
print('3、', tuple(enumerate(a_list)))

a_tuple = ('a', 'b', 'c', 'd')
print('4、', tuple(enumerate(a_list, 5)))

a_dict = {'a': 'aa', 'b': 'bb', 'c': 'cc', 'd': 'dd'}
print('5、', dict(enumerate(a_dict['d'])))

a_dict = {'a': 'aa', 'b': 'bb', 'c': 'cc', 'd': 'qwe'}
print('6、', dict(enumerate(a_dict['d'], 3)))

print('-' * 50)

seq = ['lalala', 'xixixi', 'dododo']
for i, element in enumerate(seq):
    print(i, element)

在这里插入图片描述

6、int()

语法:

int(x, base=10)

x:字符串或数字;
base:进制(默认为10进制);
例如:int(‘12’, 8)表示12是8进制的数字,返回值为十进制数10;

作用 / 返回值:
将字符串或数字转化为整型数据;

代码演示:

print('1、', int())
print('2、', int(3))
print('3、', int('3'))
print('4、', int(3.6))
print('5、', int('12', 8))
print('6、', int('12', 16))
print('7、', int('0xe', 16))

在这里插入图片描述

7、ord()

语法:

ord(c)

c:长度为1的字符串;

作用 / 返回值:
ord() 函数 是 chr()函数(对于8位的ASCII字符串)或 unichr()函数(对于Unicode对象)的配对函数;
返回的是字符串的ASCII数值,或Unicode数值;(数值为十进制整数)

代码演示:

print('1、', ord('a'))
print('2、', ord('b'))
print('3、', ord('c'))
print('4、', ord('1'))
print('5、', ord('2'))
print('6、', ord('3'))
print('7、', ord(','))

在这里插入图片描述

8、any()

语法:

any(iterable)

iterable:可迭代的参数(如元组、列表);

作用 / 返回值:
判断可迭代参数iterable中的元素是否存在 Ture,若存在,返回Ture;否则返回False;
除 0、’’、None、False 外,均为True;
注意:空元组、空列表返回值为False;

代码演示:

print('1、', any((1, 2, 3)))
print('2、', any((1, '', 3)))
print('3、', any([0, 0, 0]))
print('4、', any(('', '', '')))
print('5、', any((0, '', False)))
print('6、', any(('0', 0, '')))
print('7、', any(()))
print('8、', any([]))

在这里插入图片描述

9、eval()

语法:

eval(expression)

作用 / 返回值:
执行一个字符串表达式,并返回表达式的值(计算结果);

代码演示:

print('1、', eval('1 + 3 * 2'))

print('2、', eval('pow(2, 3)'))

a = 5
print('3、', eval('1 + a * 2'))

b_str = '3 + 12'
print('4、', eval(b_str))

print('5、', eval('5/2'))

print('6、', eval('10/3'))

在这里插入图片描述

10、isinstance()

语法:

isinstance(object, classinfo)

object:实例对象;
classinfo:直接或间接类名、基本类型或由它们组成的元组;

作用 / 返回值:
判断对象是否为一个已知类型;(object与classinfo类型相同,或为classinfo中类型之一,则返回Ture,否则返回False)
判断两个类型是否相同时使用isinstance()更好;
isinstance()认为子类和父类是同一类型,而type()认为子类与父类类型不同;

代码演示:

print('1、', isinstance(1, int))

print('2、', isinstance(1, str))

print('3、', isinstance(1, (str, int, tuple)))

print('4、', isinstance((1, 2), (str, int, tuple)))

class A:
    pass
class B(A):
    pass
print('5、', isinstance(A(), A))
print('6、', isinstance(B(), A))
print('7、', type(A()) == A)
print('8、', type(B()) == A)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值