IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python基础:函数基础 -> 正文阅读

[Python知识库]python基础:函数基础

1. 函数: ----- def
代码模块
面向过程:
------- 买电脑 (需求 --- 电脑商城 --- 看配置 --- 谈价 --- 购买)


函数就是完成特定功能的代码的集合(模块),这组代码可以作为一个单位使用,并且给他取一个名字。
# 可以通过函数名在程序的不同地方多次执行(函数执行)

(1)降低编程的难度。
    通常将一个复杂的大过程分解成n个小过程(通过函数实现),然后将小过程划分成更小的过程,
    当过程细化为足够简单时,我们就可以分而治之。各个小过程解决了,大过程就迎刃而解了。

(2)代码复用
    避免重复编写某段代码,提高效率。

2. 定义函数: def

def 函数名():
    函数的逻辑代码

函数名禁止用中文命名


3.使用函数: 调用        调用才能实现函数的相应功能
        函数名()    不加括号调用不了函数,但是能代表一个函数


def ex():
    print('这是一个函数')

ex()

4.函数名定义规则:
    1.只能是一个词。
    2.只能包含字母、数字、和下划线。
    3.不能以数字开头。
    4.不可以使用关键字(重名)
    5.取名尽量有意义---见名思意
5. 函数中的 return 和 pass
--------- return:返回值 ---- 将指定数据从函数内部返回
--------- pass: 保证格式完整,避免语法错误   一旦写入程序就要删除pass      函数中不写内容会报错,出现格式错误,强制终止

def func():
    return 123

def func1():
    print(123)

print(func1())
# 123
# None   表示返回值为空,因为没有返回值

print(func())
#123
6.函数参数 ---- 传参
------- 必备参数
------- 默认参数     传入的时候有默认值,传入值的时候改变默认参数,同时存在时,必备参数在前,默认参数在后,与传参的顺序有关
------- 不定长参数 ---- 不定长参数可以不收数据      不限制参数的长度
            *args:接收各种类型数据, 除了键值形式(a=1)
            **kwargs:只接收键值形式(a=1)
def demo(a):#a就是必备参数,缺少会报错
    print(a)
demo(2)
#2

def func1(n=1):#n为默认参数
    print(n)
func1()
func1(123)#123 可以改变默认参数的值
#1

def func2(num,a=1):
    print(num)
    print(a)
func2(3)
#3
#1

def func3(a,b):
    print(a)
    print(b)
func3(a=3,b=4)#指定性传参,目的性很强
#3
#4

def demo2(*args,**kwargs):
    print(args)#(1, 'ok', [1, 2], {1: 'yes'})
    print(kwargs)#{'c': 23, 'd': 9}
demo2(1,'ok',[1,2],{1:'yes'},c=23,d=9)#只能对应传数据
# demo2(1,'ok',[1,2],c=23,{1:'yes'},d=9)#会报错

def demo3(a,b=2,*args,**kwargs):
    print(a)
    print(b)
    print(args)
    print(kwargs)
demo3(2,1)
# 2
# 1
# ()
# {}

7.常见函数

8.内置对象的查看 --- dir()
查看指定的数据或者对象有什么方法

9.高级内置函数
------ enumerate: 返回一个枚举对象    针对序列类型    可迭代对象
------ eval: 取出字符串里面的内容,将str里面有效的表达式,来进行返计算回结果
------ exec: 执行编译过后的字符串
------ filter: 过滤器  筛选想要的对象
------ map(fuction, iterable): 对iterable里面的每个元素都应用fuction函数
------ zip : 配对   针对字典数据
list1 = [1,'ok',3,'kkk']
s = enumerate(list1)
print(s)#<enumerate object at 0x000002D2CC666DB8>生成一个枚举对象
for i in s:
    print(i)
#(0, 1)
# (1, 'ok')
# (2, 3)
# (3, 'kkk')
data = list(s)
print(data)#[(0, 1), (1, 'ok'), (2, 3), (3, 'kkk')]

a = '1+2+3'
print(a)#1+2+3
print(eval(a))#6
b = 'we s s'
# print(eval(b))#报错,必须是有效表达式

c = 12
d = 24
e = 'sum = c+d'
print(e)#sum = c+d
exec(e)
print(sum)#36

def func(x):
    return x>5
list2= [i for i in range(10)]
print(func(6))#True
f_list = filter(func,list2)
print(f_list)#<filter object at 0x000001F8E1DFACC8>返回一个过滤器对象
list3 = list(f_list)
print(list3)#[6, 7, 8, 9]

def func1(y):
    if y>5:
        return y*2
list4= [i for i in range(10)]
f_list = filter(func1,list4)
list5 = list(f_list)
print(list5)#[6, 7, 8, 9]
#只进行筛选,筛选出来是什么,返回的就是是什么,不会改变值

def func2(k):
    if k<5:
        return k#返回的是一个bool值,不会返回0
list6= [i for i in range(10)]
f_list = filter(func2,list6)
list7 = list(f_list)
print(list7)#[1, 2, 3, 4]

def demo(x):
    return x*10

list8 = [i for i in range(7)]
s = map(demo,list8)#数据必须是可迭代数据

print(s)#<map object at 0x0000029B113BA288>生成的是一个map对象,要查看里面的内容要转类型

list9 = list(s)
print(list9)#[0, 10, 20, 30, 40, 50, 60]



list10 = ['ok','yes','no']
list11 = ['可以','是的','不']

a = zip(list10,list11)
print(a)#<zip object at 0x000001A4EE89A688>生成一个对象
print(dict(a))#{'ok': '可以', 'yes': '是的', 'no': '不'}也可以直接进行操作
#数据被操作一次后就不能再进行操作
print(list(a))#[]
# list12 = list(a)
# print(list12)#[('ok', '可以'), ('yes', '是的'), ('no', '不')]
# print(dict(list12))#{'ok': '可以', 'yes': '是的', 'no': '不'}
#可以直接转换成字典,有对象就配对,没有就不配
10. 迭代对象

------ iter: 创建迭代器对象
------ next:去对象取值  一次取一个 取了之后在对象里就没了
list1 = ['yes','ok','no']

obj = iter(list1)#将列表转换成一个列表迭代器对象
print(obj)#<list_iterator object at 0x00000242E2F21E48>
print(next(obj))
print(next(obj))
print(next(obj))
print(next(obj))#报错,没有对象可取
#yes
# ok
# no

?

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-09-22 14:38:10  更:2021-09-22 14:39:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:04:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码