内置函数与自定义函数(第三章python基础)

本文详细介绍了Python中的内置函数,包括数字、序列和类型相关的函数,如`abs()`、`divmod()`、`all()`、`any()`、`range()`等,并展示了如何使用这些函数。接着讲解了自定义函数的定义、调用、参数和返回值,包括带默认值的参数、不定数目的参数。最后提到了模块的概念和导入方式。

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

编程语言的函数都可以分为两类:内置函数和自定义函数。

#内置函数分为

数字相关的内置函数

 

# abs(x) 求绝对值

print(abs(-10))  #10

"""

  divmod(x,y)  (x//y)商和(x%y)余数,同时输出商和余数

   x//y  整除  向下取整

   x%y  余数=被除数-除数*商  10%-3=-2

"""

x = 10

y = 3

print(divmod(10,3)) #(3, 1)

"""

  pow(x,y) 幂 x的y次方 -------x**y

  pow(x,y,z) 先求x的y次方  得到的结果和z进行取余----x**y%z

"""

print(pow(x,y)) #1000

print(pow(x,y,3)) #1

print(pow(2,5,10)) #2**5 = 32  32%10=2

#round(x,f) 四舍五入保留小数

print(round(3.1415926,4))  #3.1416

#max(x1,x2,..........,xn) 返回最大值

print(max(4,6,9,1,0,10)) #10

"""

 int(x) 将x转换成整数,舍弃小数部分

   可以把字符串转成整数,但是你的字符串必须是数字字符串 比如"123"

"""

print(int(3.92)) #3

print(int("123")) #123

#print(int("hello"))

"""

 float(x) 将x转换成小数,增加小数部分

   可以把字符串变成小数,但是字符串必须是数字字符串 比如"123" "22.9"

"""

print(float(12)) #12.0

print(float("22")) #22.0

#print(float("hello"))

"""

 complex(x) 将x变成复数,增加虚数部分

   x可以是整数 、小数、数字类型的字符串

"""

print(complex(10)) #(10+0j)

print(complex(3.14)) #(3.14+0j)

print(complex("4.56")) #(4.56+0j)

#complex("hello")

  • 进制的转换:bin(),oct()和hex()函数

"""

•进制的转换:

 bin() 转换成二进制(0b) 返回一个字符串

 oct() 转换成八进制(0o)  返回一个字符串

 hex() 转换成十六进制(0x) 返回一个字符串

"""

a = bin(100)

print(a) #0b1100100

print(type(a)) #<class 'str'>

ASCII码与字符的转换:∞

"""

  chr(x) 把十进制转换成ASCLL编码字符

  ord(x) 把ASCLL编码字符转换成十进制

"""

print(ord("∞")) #8734

print(chr(64)) #@

序列相关的内置函数

"""

  all(序列)  all()接受一个序列 

    当序列中所有的元素都计算为真时,返回True,否则为False

  []  ()  {}  set()都是Flase

All(“张三”,12.5,3e10,())

"""

a = ["hello",3.14,4+3j,{"张三":18,"李四":20}]

print(all(a)) #True

b = ["hello",3.14,4+3j,{"张三":18,"李四":20},[]]

print(all(b)) #False

"""

 any(x)  any()则在序列中的任意一个元素为真时返回True,否则为False

Any(“张三”,[],(),{})

"""

c = [{},(),set()]

print(any(c)) #False

"""

   range(start,stop,step)  返回一个迭代对象

    左开右闭 迭代对象(需要list转换才能输出)

    start:开始数值

    stop:结束数值

    step:步长,和间隔不一样

  1.省略开始数值,开始数值会被默认成0

  2.不能省略结束数值

  3.步长可以省略,如果步长不写,默认是1

     步长是2,间隔是1

     步长是3,间隔是2

"""

a = range(10)

print(a) #range(0, 10)

print(list(a)) #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

c = range(1,10,2)

print(list(c)) #[1, 3, 5, 7, 9]

d = range(1,10,3)

print(list(d)) #[1, 4, 7]

Sorted(x) 排序,升序排序

Reversed(x)  反序,

List.sort(reverse = Ture)

"""

 sorted(x) 升序排序 返回一个新的序列

"""

a = [1,7,3,5,8,2]

print(sorted(a)) #[1, 2, 3, 5, 7, 8]

"""

 reversed(x) 反序排序 返回迭代器

"""

b = reversed(a)

print(list(b)) #[2, 8, 5, 3, 7, 1]

c = [1,2,3,4,5,6]

print(reversed(c)) #<list_reverseiterator object at 0x0000026D0B74C7C8>

>>> x = [1,5,3,6,2,7,8,0,9]

>>> a = sorted(x)

>>> a

[0, 1, 2, 3, 5, 6, 7, 8, 9]

>>> b = reversed(a)

>>> b

<list_reverseiterator object at 0x000002663F248BC8>

>>> list(b)

[9, 8, 7, 6, 5, 3, 2, 1, 0]

"""

  slice(start,stop,step)  切片,返回一个切片对象

    左开右闭  返回一个切片对象

    start:开始数值

    stop:结束数值

    step:步长

    1.步长可以省略,默认是1

"""

a = slice(5,15)

print(a) #slice(5, 15, None)

#把a换成一个迭代对象

b = range(20)[a]

print(b) #range(5, 15)

print(list(b)) #[5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

enumerate(x)   可以迭代序号和值:返回一个迭代对象

 """

  enumerate(x)  输出序号(下标)和值

    返回值是一个枚举对象,利用for循环输出

"""

a = enumerate(['a','b','c','d','e'])

print(a) #<enumerate object at 0x000001FFA3DC3AE8>

for xiabiao,zhi in a:

    print(xiabiao,zhi)

"""

0 a

1 b

2 c

3 d

4 e

类型相关的内置函数

"""

 int(x) 将x转换成整数,舍弃小数部分

   可以把字符串转成整数,但是你的字符串必须是数字字符串 比如"123"

"""

print(int(3.92)) #3

print(int("123")) #123

#print(int("hello"))

"""

 float(x) 将x转换成小数,增加小数部分

   可以把字符串变成小数,但是字符串必须是数字字符串 比如"123" "22.9"

"""

print(float(12)) #12.0

print(float("22")) #22.0

#print(float("hello"))

"""

 complex(x) 将x变成复数,增加虚数部分

   x可以是整数 、小数、数字类型的字符串

"""

print(complex(10)) #(10+0j)

print(complex(3.14)) #(3.14+0j)

print(complex("4.56")) #(4.56+0j)

#complex("hello")

"""

   isinstance(变量,类型)  类型判断,如果变量和类型一致是true,不一致是false

     变量:自定义变量

     类型:Str int float list stuple dict set

     [1,2,3,4] --list列表

     {"张三":18,"李四":20}----dict字典

     {1,2,3} ---set集合

     (1,2) --tuple元组

"""

a = [1,2,3,4]

print(isinstance(a,list)) #True

print(isinstance(a,int)) #False

#自定义函数

定义

  • 使用关键字def引导;

  • def后面是函数的名称,括号中是函数的参数,不同的参数用逗号“,”隔开,参数可以为空,但括号不能省略;

  • 函数的代码块要缩进;

  • 用一对"""包含的字符串作为函数的说明,用来解释函数的用途,可省略,在查看函数帮助时会显示;

  • 使用关键字 return返回一个特定的值,如果省略,返回None。

def  函数名称(参数1,参数2):

       代码块

        return 

调用

>>> def add(x,y):

    sum01 = x+y

    return sum01

>>> add(2,3)

5

参数

  参数可以是0个,也可以是多个

带默认值的参数

定义

  Y的默认值是10

 >>> def cheng(x,y=10):

    c = x*y

    return c

调用

  1. 可以只传一个参数,那这个参数就是x,y是默认值10

  2. 如果传入两个参数,那么默认值不起作用

 >>> cheng(2)

20

>>> cheng(2,5)

10

不定数目的参数

定义

  1.  * 号代表这个参数是个不确定个数的参数

  2. 多个参数要用for进行循环输出

  3. 在for循环中进行累加

def add(x,*y):

    total = x

    for i in y: 

     #累加

        total += i

    return total

调用

相当于x=1  y= 2,3,4,5,6,7,8,9

>>> add(1,2,3,4,5,6,7,8,9)

45

相当于x=1  y=2

>>> add(1,2)

3

返回值

 返回值只能是一个吗,可以是多个吗

 可以返回多个值,多个值之间用逗号隔开

定义

>>> def suanfa(x,y):

    sum01 = x+y

    cheng01 = x*y

    jian01 = x-y

    return sum01,cheng01,jian01

调用

>>> suanfa(6,2)

(8, 12, 4)

模块

"""

  import 模块名1,模块2  as 别名

     导入整个模块,包括模块里面的属性、变量、方法、函数

  from 模块 import 成员名 as 别名

     导入模块中的某一个成员,只能用成员包含的东西

"""

#导入系统模块和文件操作模块

"""

import sys,os  as s,os

#打印python的环境变量

print(s.path)

"""

#argv  系统中文件的信息,比如文件路径,文件名字

from sys import argv as ar

print(ar[0])  #d:/axc/Python/PythonTemp/count.py

Python模块

  第五章

自定义模块

  1. 一个python文件就是一个模块

  2.  导入的时候,直接import  文件名

  3. 调用:

def add(x,y):

   a = x+y

   return a

print(add(2,3)) #5

--------------------------------------  

#import 文件名字

import count as c

#打印出5

print(c.add(3,5)) #8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值