python学习之路(基础篇)——函数

一、简单介绍

三种编程: 面向对象  class    面向过程   def    函数式编程   def

过程是没有返回值的函数

定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可

特性:

1、减少重复代码

2、使程序变的可扩展(改一处,都改)

3、使程序变得易维护

语法定义

def sayhi():#函数名

print("Hello, I‘m nobody!")

sayhi() #调用函数

可以带参数

二、函数的参数

1

def   call(m):

print(m)

call(tom)

该代码中m  为形参     tom   为实参

2

写函数时

def stu_register(name,age,country,course):

print("----注册学生信息------")

print("姓名:",name)

print("age:",age)

print("国籍:",country)

print("课程:",course)

stu_register("王山炮",22,"CN","python_devops")

stu_register("张叫春",21,"CN","linux")

stu_register("刘老根",25,"CN","linux")

默认参数 提前定义变量

发现 country 这个参数 基本都 是"CN", 就像我们在网站上注册用户,像国籍这种信息,你不填写,默认就会是 中国, 这就是通过默认参数实现的,把country变成默认参数非常简单

def stu_register(name,age,course,country="CN"):

3

关键参数

正常情况下,给函数传参数要按顺序,不想按顺序就可以用关键参数,只需指定参数名即可,但记住一个要求就是,关键参数必须放在位置参数之后

4

非固定参数

若你的函数在定义时不确定用户想传入多少个参数,就可以使用非固定参数

def stu_register(name,age,*args): # *args(args是变量名) 会把多传入的参数变成一个元组形式

print(name,age,args)

stu_register("Alex",22)

#args是元组形式

#输出

#Alex 22 () #后面这个()就是args,只是因为没传值,所以为空

stu_register("Jack",32,"CN","Python")

#输出

# Jack 32 (‘CN‘, ‘Python‘)

还可以有一个**kwargs

def stu_register(name,age,*args,**kwargs): # *kwargs 会把多传入的参数变成一个dict形式

print(name,age,args,kwargs)

stu_register("Alex",22)

#kwargs 是字典形式

#输出

#Alex 22 () {}#后面这个{}就是kwargs,只是因为没传值,所以为空

stu_register("Jack",32,"CN","Python",sex="Male",province="ShanDong")

#输出

# Jack 32 (‘CN‘, ‘Python‘) {‘province‘: ‘ShanDong‘, ‘sex‘: ‘Male‘}

将n个关键字参数转换成字典的方式

三、函数式编程

函数式编程中的函数这个术语不是指计算机中的函数(实际上是Subroutine),而是指数学中的函数,即自变量的映射。也就是说一个函数的值仅决定于函数参数的值,不依赖其他状态。比如sqrt(x)函数计算x的平方根,只要x不变,不论什么时候调用,调用几次,值都是不变的。

函数式编程 输入确定,输出确定

函数不一样 里面有逻辑判断 if x>7: return 0 输入确定 输出不确定

四、高阶函数

变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。

def add(x,y,f):

return f(x) + f(y)

res = add(3,-6,abs)

print(res)

abs() 取绝对值

原文地址:https://www.cnblogs.com/tony8gbmy/p/7541592.html

时间: 2024-10-18 15:20:03

python学习之路(基础篇)——函数的相关文章

Python学习之路基础篇--09Python基础,初识函数

函数可以分为内置函数 和 自定义函数.这次关注的主要是自定义函数.定义函数之后,就可以在任何需要它的地方调用. 1 返回值的重要性 返回值的3种情况 没有返回值 ---- 返回None 不定 return 只写 return :结束一个函数 return None ---- 不常用 只有一个返回值 可以返回任何数据类型 只要返回就可以接收到 如果一个函数中有多个return ,那么只执行第一个 返回多个值 用多个变量接收:有多少个返回值就用多少个变量接收 用一个变量接收:得到一个元组 2 参数

python学习之路基础篇(第四篇)

一.课程内容回顾 1.python基础 2.基本数据类型  (str|list|dict|tuple) 3.将字符串“老男人”转换成utf-8 s = "老男人" ret = bytes(s,encoding="utf-8") print(ret) ret1 = bytes(s,encoding="gbk") print(ret1) #程序运行结果如下: b'\xe8\x80\x81\xe7\x94\xb7\xe4\xba\xba' b'\xc0

python学习之路基础篇(三)

一.简单回顾上次课程内容 主要内容:str|list|dict 类---对象 具体内容可以参考: http://www.cnblogs.com/wupeiqi/articles/5433925.htmlhttp://www.cnblogs.com/wupeiqi/articles/5444685.html 二.python后续学习方法:首先整理课程讲解内容到博客,然后再写作业 三.本次课程内容 1.数据类型-set 小结: 列表和集合set的区别(小知识点):列表:有序 可重复 可嵌套集合set

python学习之路基础篇(第七篇)

一.模块 configparser XML shutil zipfile 和 tarfile subprocess 二.面向对象 什么是面向对象 self是什么鬼 构造方法 面向对象的三大特性:封装,继承,多态 已经学习过的python内置类:str  list  tuple dict  set python自定义类 python单继承 python多继承

python学习之路基础篇(第五篇)

前四天课程回顾 1.python简介 2.python基本数据类型 类: int:整型 | str:字符串 | list:列表 |tuple:元组 |dict:字典 | set:集合 对象: li = [11,22,33] #列表的一个对象 s = "MoHan" #字符串的一个对象 3.函数式编程 4.装饰器 @装饰器函数名 def func(): pass 其中@装饰器函数名,程序执行到此,会进行如下三步操作: 1.将func当做参数进行传递给装饰器函数并执行 2.将装饰器函数的返

python学习之路——基础篇(3)模块(续)

re正则表达式.shutil.ConfigParser.xml 一.re 正则元字符和语法: 语法 说明 表达式 完全匹配字符 字符 一般字符 匹配自身 abc abc . 匹配除换行符"\n"外,任意一个字符 a.c abc \ 转义字符,将特殊字符转义为本身 a\.c a\\c a.c a\c [...] 匹配字符集任意一个字符,或者"-"表示一个集合范围 如:[a-zA-Z0-9]匹配范围中任意一个字符:或者[^] 匹配否定,对括号中的内容取反. [abc]e

Python学习之路基础篇--03Python基础+万恶的运算符

1 格式化输出% 用%s(用来表示str数据类型) 和 %d (用来表示int数据类型),如果要用%号的话,就要使用两个%%,这样即可输出. 2 初识编码 电脑的传输数据,储存都是用的 01010101 的方式 1 byte = 8 bit (即 1 字节 = 8 位) 1 KB = 1024 byte 1MB = 1024 KB 1 GB = 1024 MB 1 TB = 1024 GB ASCii码:一开始由美国人发明, 一共1 个字节, 8 位, 最初7 位即可,故最左边的一位为 0 un

Python学习总结之一 -- 基础篇

Python学习第一篇 一:写在前面 啊,最近我的新博客一直都没有更新学习内容了,只是最近一直都在忙着寻找实习机会(或许这只是一个借口,真实原因是我太懒惰了,改改改!).终于今天又投递了几个新的实习职位之后幡然醒悟,我的执行力还是太弱了,我得更加有自律性更加坚持才行.所以今天,我把之前学习的Python基础知识总结一下. 二:认识Python 首先我们得清楚这个:Python这个名字是从Monty Python借鉴过来的,而不是源于大家所知道的大蟒蛇的意思.我们为什么要学习Python呢?就我而

Python学习之旅 —— 基础篇(四)内置函数、装饰器

本篇要点: 内置函数 装饰器 一.内置函数 # abs() :取绝对值 >>> res = abs(-10) >>> print(res) 10 # 0,None,"",{},[],() 布尔值都为空 # all(),any() 判断值的真假 # all() 所有为真才为真 p = all([0,1,2,3]) # 0为False,所有p 是False print(p) # any() 任意一个为真即为真 p = any((0,""

Python学习之旅 —— 基础篇(三)set集合、函数、文件操作

本篇要点: 数据类型:set集合 函数 文件操作 三元运算(三目运算)和lambda表达式 一.set集合 python中数据类型的一种,是无序并且不重复的数据集合.set源码: class set(object): """ 创建set集合 set() -> new empty set object 把可迭代的数据类型转换成元组 set(iterable) -> new set object Build an unordered collection of uni