python学习 day08 (3月13日)----函数
函数
一。定义 def 关键字 函数名():
函数体
函数 ---- 封装#def 关键字
# #定义后的函数就像变量 不调用是不执行的
# #函数名() ==函数的调用
def code():
print('code a new!')
code()
# 局部变量
函数的调用:
函数名+()调用函数的时候不在缩进内,必须顶行写
def hanshu():
hanshu...
hanshu()或者
if True:
hanshu()
二。执行
#函数的执行过程
def make(): #第一步 之后没了
print(1)
make # 内存空间 当➕ ()时执行
print(make)
make()
print(make())# 打印函数为空
#定义——调用——函数体的代码


三。函数的返回值
#return 的作用:
#1.没有时 返回 None return 没值时, 返回 None
#2.return 有值时,返回
#3.传一个内容 则本身 传多个是 一个元组
#4.下面的内容不执行
#5.执行到此 函数结束
def back():
print('f')
return 'a','b' # 下面代码不执行, break 且结束了这个函数
print('能打印吗?')
return 1
ret = back() # return 多个 只有第一个
print(ret) #('a', 'b') 多个的话为元组 返回值 不写内容返回None 不写return 也是None
1.没有返回值 写了return 没有返回值
都默认返回None
2,一个返回值,返回本身
多个返回值,返回的是一个元组
3,return 下面的代码不执行,并且结束这个函数(if缩进里面不这样,同上)
# 返回值
def make():
print('')
return '它'*2
return 2*45print(id(ret),id(make()))#地址一样 就是同样的print(ret)
是赋值?
ret = make() 因为他俩一样
print(ret) = print(make())
make() 函数执行
ret 函数执行 一样的


四。函数的参数 形参和实参
#函数怎么样,必须保证参数都有值 无论是默认值,还是赋值的参数
形参,函数定义的时候
位置参数 a,b 传参的时候一一对应
默认参数 a =1 在定义的时候已经定义好了
实参,函数调用的时候
位置参数 1,2 传参的时候一一对应给形参
关键字参数a = 1 通过形参的名字指定传值
混合:
形参def func(a,b,c,f=1)
实参func(1,2,3,f=2)
传参,将实参返回形参的过程
#位置参数 > 关键字
补充内容 以后会用到 三元运算符
不确定赋值的内容时, 使用!
a if a>b else b
五。出错总结:
#不对 多元素 没赋值TypeError: make() missing 1 required positional argument: 'c'
#练习
#函数名+() 不管在什么位置都是在执行函数
# print() 到后一个括号才算执行吗?
def make():
print(1)
print(2)
print(3)
print(make(),make()) # == make() make() print(make(),make())
def make(char,addr,alpa): #形参 形式上的参数 char =??
print(f'{char}')
print(char)
print(addr)
print('%s'%char)
make('word',[],'aaa') # 实参 形给了实 #错误 半个黄括号 有的变量没给
#判断那个数大的程序:
def da(a, b):
if a>b:
pass
else:
a= b
return a
print(da(10,9)) def da(a, b):
if a>b:
return a
else:
return b
print(da(1,1))# 返回 条件成立的结果 不成立的结果
c = a if a>b else b#倒序程序
li = [1,2,3,65]
la = []
def reverses(a):
for i in range(len(a)-1,-1,-1):
la.append(li[i])
return la
print(reverses(li)) li = [1,2,2,5,3,65]
def func(a):
print(a[::-1])
func(li)
#对
# def make(a,b,d, c=1):
#不对
# def make(a, b, c=1,d):#SyntaxErr
#不对 多元素 没赋值TypeError: make() missing 1 required positional argument: 'c'
#循环输入函数 程序
def fuzhi(name,age,sex ='男' ):
print(name,age,sex)
while 1:
life_list = input('name,age,sex').split(',')
if len(life_list)>2:
a,b,c= life_list
fuzhi(a,b,c)
else:
a,b = life_list
fuzhi(a,b)
#函数怎么样,必须保证参数都有值 无论是默认值,还是赋值的参数 def fun(a,b,c,d=1): #位置+形参 (位置+默认)混合形参
print(a,b,c,d)
fun(1,2,3) #位置参数
fun(1,3,4,d=4) #实参 (位置+关键字) 混合实参 替换了
# fun(d=4, 1, 3, 4) #不对 #位置参数 > 关键字
# open('liu','w','utf-8')# 不对 因为‘utf-8’是 第四个
open('liu','w',encoding='utf-8')#所以
python学习 day08 (3月13日)----函数的更多相关文章
- Python学习日志9月13日
昨天的学习日志没有写,乱忙了一整天,政治电脑. 好奇心重,想要给电脑装上传说中LInux操作系统,各种小问题折腾到半夜,今天又折腾到晚上才真正的装上系统. 可是装上系统后又发现各种的不好用.虽然界面比 ...
- python学习 day09 (3月14日)----函数
一.函数的进阶 1.1 动态参数 1.2* ** 1.3*args , **kwargs 1.4 函数的注释 1.5名称空间 1.6函数的嵌套全局变量 : 贴边写的局部变量 : 不是贴边写的. ''' ...
- Python学习日志9月17日 一周总结
周一,9月11日 这天写的是过去一周的周总结,我从中找出当天的内容. 这天早晨给电脑折腾装机,早晨基本上没有学习,休息了一个早晨. 下午写的上周总结,完事做mooc爬虫课的作业,<Think P ...
- Python 学习日志9月20日
9月20日 周三 多大年龄了,还活得像个小孩.——急什么,人生又不长. 你习惯了思考宇宙星辰,一百年真的不长,一生也就不那么长,许多人的价值观念你也就无法理解.同样,许多人也无法理解你的价值观念,感兴 ...
- Python 学习日志9月19日
9月19日 周二 今天是普通的一天,昨天也是普通的一天,刚才我差点忘记写日志,突然想起来有个事情没做,回来写. 今天早晨学习<Head First HTML and CSS>第十一章节“布 ...
- Python 学习日志9月21日
9月21日 周四 今天是个特殊的日子吗,总感觉9月21这个日子听着怪怪的. 今天早晨看<Head First HTML and CSS>第13章节“表格和更多列表”,内容不多,看完并做了详 ...
- python学习 day11 (3月16日)----(生成器内置函数)
1生成器 1生成器的本质 一定是迭代器(反之不一定(用send(生成器特有方法)验证))2生成器是可以让程序员自己定义的一个迭代器3生成器的好处,节省内存空间4生成器的特性,一次性的,惰性机制,从上往 ...
- python学习 day12 (3月18日)----(装饰器内置函数)
读时间函数: # import time # def func(): # start_time = time.time() # 代码运行之前的时间 # print('这是一个func函数') # ti ...
- Python学习日志9月16日
刚才我差点睡着了,差资料的时候太费神,有些累. 今天早晨学习了<head first HTML and CSS>,今天把昨天没看了的关于字体和颜色的一章节看完了,真长.我详细的做了笔记,并 ...
随机推荐
- 六 json&pickle模块
之前我们学习过用eval内置方法可以将一个字符串转成python对象,不过,eval方法是有局限性的,对于普通的数据类型,json.loads和eval都能用,但遇到特殊类型的时候,eval就不管用了 ...
- vue 中安装使用sass 报错遇到的问题整理
不出错的情况下,正常安装: 1.安装包: npm install node-sass --save-dev npm install sass-loader --save-dev (sass-loade ...
- 全国高校绿色计算大赛 预赛第一阶段(C++)第4关:计算日期
挑战任务 我们吃的食物都有保质期,现在食品监督管理局想要制作一个能准确计算食品过期日期的小程序,需要请你来进行设计. 例如:A食品在2018年1月1日生产,保质期是20天,则它的过期日期在2018年1 ...
- VIM常见命令
1.删除所有数据 进入到第1行按下d,然后输入G回车,此时内容被全部清除 2.替换 :s/vivian/sky/ 替换当前行第一个 vivian 为 sky:s/vivian/sky/g 替换当前行所 ...
- python处理数据问题详解
连接数据库 这里需要调用pymysql包,(pip install PyMySQL) 注意pip安装时名字和程序里import的名字不一样 import pymysql # 打开数据库连接 db = ...
- [1.16更新B14特征处理]津南数字制造题目解读及部分思路~~有趣的特征
[1.16更新B14特征处理]津南数字制造题目解读及部分思路--有趣的特征 Article onion啦啦啦 2019-01-17 16:03:38 11 1790 11 首先声明,我并不能保证这些特 ...
- Python+Selenium学习--打印当前页面的title及url
场景 测试中,访问1个页面然后判断其title是否符合预期是很常见的1个用例,所谓用例不够,title来凑就是这个道理.更具体一点,假设1个页面的title应该是'hello world', 那么可以 ...
- 一字一句的搞懂vue-cli之vue webpack template配置
webpack--神一样的存在.无论写了多少次,再次相见,仍是初见.有的时候开发vue项目,对尤大的vue-cli感激涕零.但是,但是,但是...不是自己的东西,真的很不想折腾.所以,我们就得深入内部 ...
- 【zookeeper】使用场景
以下场景是我认为的zookeeper可能会大显身手的场景. 场景1:配置新增和更新 我们可以将zookeeper部署成一个配置服务,实现配置的存储和发布等功能. 具体的原理是:zookeeper可以按 ...
- SCP对拷如何连接指定端口远程主机
SCP对拷如何连接指定端口(非22端口)的远程主机 scp -P 远程端口号 本机待拷贝文件路径 远程主机用户名@远程主机地址:远程主机目的路径 注意: 1. 参数-P 的位置一定要紧跟在s ...