python基础学习之函数基础和部分内置函数
在函数调用的时候,必备参数必须要传入
函数定义:
def 函数名:
代码块pass
return 返回值
函数名命名规则: 字母、数字和下划线组成,和变量命名规则一致
pass在这里表示什么都没有,不执行任何操作
return 后面可以返回任意表达式,但不能是赋值语句
return没有写返回值的话,默认None
注意 return 和 print 的区别,return是函数的返回值,返回值可以赋值给变量,而print只是打印出来
def test():
print(“我最帅”)
return 我是大帅哥
个人理解,return的内容 才是函数最终执行结果,其中的print内容只是执行过程
print(test())
函数参数:
必备参数:必须要传入,否则报错:
def func(x):
print(x)
func(1)
x就是必备参数
默认参数:提前传好的,如果你不传,就使用默认值
def func(x, y=None):
print(x)
print(y)
func(1)
func(1, 2)
注意:默认参数要位于必备参数
列表的后面
不定长参数:
def func(*args, **kwargs):
print(args)
print(kwargs)
调用1:func(1, 2, 3, a=4, b=5, c=6)
调用2:func(*(1, 2, 3), **{'a': 4, 'b': 5, 'c': 6})
注意事项:
1、在函数调用的时候,必备参数必须要传入
2、在函数调用的时候,默认参数可以不传入值,不传入值时,会使用默认参数
3、在函数调用的时候,不定长参数可以不传入,也可以传入任意长度。其中定义时,元组形式可以放到参数最前面,字典形式只能放到最后面
内置函数(简单)
len 求长度
min 求最小值
max 求最大值
sorted 排序
reversed 反向
sum 求和
bin 转换为二进制
oct 转换为八进制
hex 转换为十六进制
ord 字符转ASCII码
chr ASCII码转字符
# enumerate 返回一个可以枚举的对象【好像没什么用】
li = [1, 2, 3, 4, 5, 6, 7]
print(list(enumerate(li)))
print(dict(enumerate(li)))# exec
exec('print(1+1)') #把字符串'print(1+1)'当做代码执行
# eval
print(eval('2+2')) #把字符串‘2+2’当做代码执行【好像也没啥用】
# filter 【掌握】
# 针对判断,保留True的值
def axe(x):
if x < 5:
return True
else:
return False
li = [1,2,3,4,5,6,7,8,9,0]
b = filter(axe,li)
print(list(b))# map【掌握】
li = [1,2,3,4,5,6,7,8,9,0]
def axe(x):
if x < 5:
return 10
else:
return 11
print(tuple(map(axe,li)))map函数的意思,是把传入的序列类型放置到定义的函数中运行,并获取结果用list表示出来。
# zip 【掌握】【一一对应的拉链函数】
li = [1,2,3,4,5,6]
tu = (1,2,3,4,5)
print(dict(zip(li,tu)))
print(list(zip(li,tu)))max、min、len等等
max/min和zip的高阶运用
取出自定义列表中age最大的一项
people = [
{'name':'asdf','age':100},
{'name':'gsff','age':1000},
{'name':'asqf','age':10000},
{'nam4':'atdf','age':100000},
]分解思考:需要比较的是people是个列表,每个元素是个字典,我们需要比较的是age的大小,首先需要取出age的值,比如第一个age,people[0]['age'],遇到这种情况,max/min函数中有个key参数,即表现为max(people,key = lambda x : x.['age']),该表达式的意思是,max函数开始迭代people列表,发现其元素为字典,就讲people列表按照匿名函数进行迭代,提取age的值在进行大小比较。
取出年纪最小的人名和年纪(即那一组数据)
dic = {'lili_age':22,'longxiu_age':33,"lixitong_age":3}
print(min(zip(dic.values(),dic.keys())))分解思考,单个字典项的大小比较是key值比较,即逐个字符比较,按照abcdefg的顺序,后面的为大,数字和字母无法比较,会报错,多个字典之间无法比较大小。用zip函数转换字典项,想年龄值放到前面,即zip(dic.values(),dic.keys()),生成新的迭代内容,然后在用min函数取出来生成列表。
python基础学习之函数基础和部分内置函数的更多相关文章
- ruby -- 基础学习(七)时间的内置函数和格式说明
Rails -- 时间的内置函数和格式说明 FROM:http://www.douban.com/note/99064603/ time = Time.now #获得当前时间 time.gmt ...
- python的学习笔记之——time模块常用内置函数
1.Python time time()方法 Python time time() 返回当前时间的时间戳(1970纪元后经过的浮点秒数). time()方法语法: time.time() 举例: #! ...
- 记录我的 python 学习历程-Day12 生成器/推导式/内置函数Ⅰ
一.生成器 初识生成器 生成器的本质就是迭代器,在python社区中,大多数时候都把迭代器和生成器是做同一个概念. 唯一的不同就是: 迭代器都是Python给你提供的已经写好的工具或者通过数据转化得来 ...
- Python【map、reduce、filter】内置函数使用说明(转载)
转自:http://www.blogjava.net/vagasnail/articles/301140.html?opt=admin 介绍下Python 中 map,reduce,和filter 内 ...
- Python【map、reduce、filter】内置函数使用说明
题记 介绍下Python 中 map,reduce,和filter 内置函数的方法 一:map map(...) map(function, sequence[, sequence, ...]) -& ...
- [JSP][JSTL]页面调用函数--它${fn:}内置函数、是推断字符串是空的、更换车厢
页面中调用函数--之${fn:}内置函数 函数描写叙述 fn:contains(string, substring) 假设參数string中包括參数substring,返回true fn:contai ...
- Day3 - Python基础3 函数、递归、内置函数
Python之路,Day3 - Python基础3 本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8. ...
- Python基础之函数:5、内置函数、迭代器对象、异常的捕获和处理
目录 一.重要内置函数 1.zip() 2.filter() 3.sorted() 二.常见内置函数 1. abs() 2.all.any() 3.bin.oct.hex.int() 4.bytes( ...
- 第七篇 python基础之函数,递归,内置函数
一 数学定义的函数与python中的函数 初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因 ...
- Python基础3 函数、递归、内置函数
本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数 温故知新 1. 集合 主要作用: 去重 关系测 ...
随机推荐
- ArcMobile的CoordinateCollection在逆时针添加点时自动调整节点顺序的问题
为了使用ArcMobile实现量测功能,LZ自定义了一个MapGraphicLayer用于绘图,代码如下: using System.Drawing; using ESRI.ArcGIS.Mobile ...
- Leetcode(870)-优势洗牌
给定两个大小相等的数组 A 和 B,A 相对于 B 的优势可以用满足 A[i] > B[i] 的索引 i 的数目来描述. 返回 A 的任意排列,使其相对于 B 的优势最大化. 示例 1: 输入: ...
- μC/OS-III---I笔记1---概述
在裸板上跑一些程序对于一些电子设计是足够的,所谓裸板上的程序就是传统的前后台系统,而我的理解它应该是一种"过程类"的程序,一个大循环(作为后台)做一些处理,中断程序(作为前台)来处 ...
- JavaScript this All In One
JavaScript this All In One js, this, bind, call, apply, new, function, arrow function, constructor f ...
- Azure 信用卡扣款 1 美元 & Azure 中国客服
Azure 信用卡扣款 1 美元 & azure 中国客服 Azure 免费帐户常见问题 https://azure.microsoft.com/zh-cn/free/free-account ...
- UI & APP
UI & APP lanhu http://help.lanhuapp.com/hc/ http://help.lanhuapp.com/hc/kb/article/1173434/ 快速使用 ...
- calendar time shaper
calendar time shaper const dateObj = { "id": 191837, "productId": 13602, "a ...
- 两百万SPC空投来袭,带动市场热情!
NGK投放项目的时间节点总是以牛市为主,像是上一次的BGV项目投放就在2020年末的数字加密货币牛市,其结果想必各位生态建设者们都已经见到了,在登陆交易所首日便高收于近889美金,创下惊人的近一千七百 ...
- Baccarat凭什么吸引做市商?2021年将如何发展?
在过去的一年里,基于资金池的AMM自动化做市商几乎统治了所有DeFi活动,他们没有订单簿,而是根据算法曲线提供资产.尽管在流动性和交易方面取得了令人惊叹的成绩,但是其自身具有无常损失.多代币敞口以及低 ...
- git设置、查看、取消代理
设置代理: git config --global http.proxy 'socks5://127.0.0.1:1080' git config --global https.proxy 'sock ...