day10.函数,函数的参数
函数的思维导图:
老师的笔记
昨天内容概括
#组长:默写统一交给组长
#不建议看视频
#上课敲过的所有的例子
# 1.看一遍、看能不能看懂
# 2.给每一道题起一个名字或者一句描述
# 3.看着文字,是否能翻译出代码
# 4.如果翻译不出来,就对照着看上课的代码,看看卡在哪句话
# 5.再反复的记忆 #多看博客
#1.第一节函数课
#2.第一节面向对象课 # 4期
# for while
# 有想纯谈心的 # 1.文件怎么读
# for循环读
# read(): 一次性读出来、或者是按单位读:r 按字符读,rb 按字节读
# #缺点:占内存
# readline():一行一行的读
# #缺点:你不知道读到什么位置文件结束
# readlines():一次性读出所有的行,以列表的形式显示
# #缺点:占内存
# 2.光标的位置怎么移动
# seek(0) 到开头
# seek(0,2)到末尾
# 跳到文件的指定位置:seek(n)
#3.打开文件的几种模式
#r/w/a
#rb,wb,ab
#4.文件怎么写
#write()
#write('第一行\n')
#write('第二行\n')
#write('第一行\n第二行\n') # 1.会向文件中添加一行新内容
# 2.会读文件,并且将读出的内容格式化
# 3.会修改文件
文件操作拾遗(根据昨天的内容做的一些补充)
#文件的修改
# #1.创建一个新文件
# f2 = open('原文件.bak','w',encoding='utf-8')
# #2.把原来的文件中的内容读出来
# f = open('原文件',encoding='utf-8')
# old_content = f.read() #'原来的内容\n'
# #3.操作读出来的字符串,把字符串中的内容替换掉
# new_content = old_content.replace('新','原来')
# #4.把替换之后的内容写到新文件里
# f2.write(new_content)
# f.close()
# f2.close()
# # #5.删除原文件,新文件重命名成源文件的名字
# import os #os模块
# os.remove('原文件') #删除文件
# os.rename('原文件.bak','原文件') #重命名 #replace(‘老内容’,‘新内容’) #文件的删除
# import os #os模块
# os.remove('原文件') #删除文件 # #1.创建一个新文件
# f2 = open('原文件.bak','w',encoding='utf-8')
# #2.把原来的文件中的内容读出来
# f = open('原文件',encoding='utf-8')
# for line in f:
# new_line = line.replace('原来','新')
# f2.write(new_line)
# f.close()
# f2.close()
# import os
# os.remove('原文件')
# os.rename('原文件.bak','原文件') #进阶例子
# #1.创建一个新文件
# f2 = open('原文件.bak','w',encoding='utf-8')
# #2.把原来的文件中的内容读出来
# f = open('原文件',encoding='utf-8')
# count = 0
# for line in f:
# if '原来' in line and count == 0:
# new_line = line.replace('原来','新')
# f2.write(new_line)
# count = 1
# else:
# f2.write(line)
# f.close()
# f2.close()
# import os
# os.remove('原文件')
# os.rename('原文件.bak','原文件') #with操作文件
# f = open('原文件',encoding='utf-8')
# content = f.read()
# print(content)
# f.close() # with open('原文件',encoding='utf-8') as f:
# # content = f.read()
# # print(content)
# for line in f:
# print(line.strip()) with open('原文件',encoding='utf-8') as f,open('原文件.bak','w',encoding='utf-8') as f1:
for line in f:
new_line = line.replace('原来','新')
f1.write(new_line)
import os
os.remove('原文件')
os.rename('原文件.bak','原文件') #修改文件
#read()
#for循环的形式逐行修改
#只修改一行的内容,其他不变 —— 扩展例子
#with语句 == 文件的打开和关闭
#根据个人喜好
函数
# len()
# len([1,2,3,4,5,6])
# len('金老板 is somebody') # l = [1,2,3,4,5,6]
# count = 0
# for i in l:
# count +=1
# print(count) # s = '金老板 is somebody'
# count = 0
# for i in s:
# count +=1
# print(count) #可读性差
#重复的代码多 #把代码装起来
# def my_len():
# l = [1,2,3,4,5,6]
# count = 0
# for i in l:
# count +=1
# print(count)
#
# # print(my_len)
# my_len() #len()
# l_len = len([1,2,3,4])
#写函数的时候,要尽量以功能为导向,结果最好不要直接在函数中打印
# def my_len(): #函数名的定义
# l = [1,2,3,4,5,6]
# count = 0
# for i in l:
# count +=1
# return count #函数的返回值
#
# ret = my_len() #函数的调用 以及 返回值的接收
# print(ret)
# my_len() #函数的返回值
#没有返回值
#返回一个值
# def 函数名():
for i in range(10):
if i%3 == 0:
print(i)
return {'a':'b'},2
print(i) ret,ret2,ret3 = 函数名()
print(ret)
print(ret2) #返回值:
# 没有返回值:
# 不写return == return None
# 只写一个return == return None
# return的作用:1.返回一个值 2.终止一个函数的继续 # 返回一个值: 可以返回任意的数据类型。返回什么 就接受什么 # 返回多个值:
# 用一个变量接收返回值,接收到的是一个元组
# 返回值有多个变量接收,那么返回值的个数应该和接收变量的个数完全一致
函数的参数
def my_len(lst): #参数:接收参数,形式参数,形参
count = 0
for i in lst:
count += 1
return count l = [1, 2, 3, 4] # 参数:传参数/传参,实际参数,实参l = [1,2,3,4]
len_count = my_len(l)
# print(len_count)
# len_count2 = my_len('金老板 is somebody')
# print(len_count2) # 练习
# 写一个函数,接收参数一个列表或者字符串,
# 如果这个列表或者字符串的长度大于2,返回True,否则返回False
# def func(s_l):
# if len(s_l) > 2:
# return True
# else:
# return False
#
# print(func([1,2,3,4]))
# print(func('12')) # 参数
# 形参和实参
# 传参数可以传任意的数据类型,并且传什么,接受什么
# 站在传参数的角度上看问题:一共有两种传参的方式
# 第一种:按照位置传参数
# 第二种:按照关键字传参数 # def f(para):
# print(para)
#
# f(para = 1) #传多个参数:多个参数分别可以使用任意数据类型
def f2(arg1,arg2,arg3): #站在接受、形参的角度上:位置参数
print(arg1)
print(arg2,arg3) # f2('abc',arg1 = [1,23])
# f2('abc',arg2 = [1,23])
# f2(arg3 = 1,arg2 = 2,arg1 = 3)
#按照关键字传参数和按照位置传参数是可以混用的
#但是,首先传按位置的,再传按关键字的
#按照位置传完该接受的参数只能接受一个值,不接受或者重复接收都不想 #形参
#位置参数
#数量必须与实参数量一致 ==> 必须传的参数 # def classmate(name,sex='男'):
# print('姓名:%s,性别%s'%(name,sex))
#
# classmate('尤悦')
# classmate('曹超')
# classmate('张建超')
# classmate('晓梅','女') #默认参数:
#默认参数 是可以不传的参数
#在不传参数的情况下可以使用默认的值
#如果传了,就会使用传的值 #魔性的用法:默认参数尽量避免使用可变数据类型
lst = []
def func(l = lst):
l.append(1)
print(l) func()
func()
func()
func() lst = []
def func(l = lst):
l.append(1)
print(l) func([])
func([])
func([])
func([]) #敲例子
#读博客
#画思维导图
#写博客
#写作业
day10.函数,函数的参数的更多相关文章
- 【Java学习笔记】函数的可变参数
package p2; public class ParamterDemo { public static void main(String[] args) { int sum1 = add(4,5) ...
- 不可或缺 Windows Native (16) - C++: 函数重载, 缺省参数, 内联函数, 函数模板
[源码下载] 不可或缺 Windows Native (16) - C++: 函数重载, 缺省参数, 内联函数, 函数模板 作者:webabcd 介绍不可或缺 Windows Native 之 C++ ...
- Python函数中的参数(二)
当使用混合特定的参数匹配模型时,Python将会遵循以下有关顺序的法则: 1.在函数调用中,参数必须以这样的顺序出现:任何位置参数(Value).任何关键字参数(name = Value)和*sequ ...
- Python函数中的参数(一)
函数传递参数时的简要关键点: 1.参数的传递是通过自动将对象赋值给本地变量名来实现的.函数参数在实际中只是Python赋值的一个实例.因为引用是以指针的形式实现的,所有的参数实际上都是通过指针进行传递 ...
- ios开发@selector的函数如何传参数/如何传递多个参数
不同的类会有不同的传递方式,参数名也不尽相同.如果是传单个参数的就不用集合,如果是传多个参数可以用类似nsarray,nsdictionary之类的集合传递.看下面例子: 例子1: 通过NSTimer ...
- 给setTimeout和setIntreval函数添加回调参数
setTimeout和setInterval是两个很常见的计时函数.在以前,他们只接收两个参数,我们无法直接向他们的回调函数中添加参数,如果需要实现添加多个参数,可以在外层多嵌一层来实现类似的功能.现 ...
- ***php解析JSON二维数组字符串(json_decode函数第二个参数True和False的区别)
客户端的请求体中的数据:[{"msg_id": 1, "msg_status": "HAS_READ" }, { "msg_id& ...
- 空函数有参函数调用参数的注意事项Swift 1.1语言
空函数有参函数调用参数的注意事项Swift 1.1语言 7.2.3 空函数 空函数有参函数调用参数的注意事项Swift 1.1语言空函数是函数中最简单的形式.在空函数中,函数只有一个空壳,里面是没有 ...
- unserialize函数中的参数是否是污染数据
1.原理 在程序编写的时候,往往需要序列化一些运行时数据,所谓序列化就是按照一定的格式将运行时数据写入本地文件.这样做可以对数据进行本地保存,用的时候直接读文件就可以把运行时产生的数据读出.php中就 ...
- 为什么需要main函数,及其参数的用法
首先,需要明确main函数是什么? 答:main函数是C语言约定的入口函数 C99标准里面是这样描述的: Program startup The function called at program ...
随机推荐
- ajax 上传文件给webapi(带basic认证)
$('#btnupload').on('click', function () { var fd = new FormData(); ]; fd.append("report_id" ...
- winfrom里面打印类似小票
首先在窗体上拖一个printDocument1控件和一个Button按钮,然后双击该控件的PrintPage事件,在事件里面复制下面代码: Pen blackPen = new Pen(Color.B ...
- JavaScript 删除某个数组中指定的对象
返回对象在数组中的下标: _arr表示一个Array数组,里面包括了很多的对象如下图: _obj表示某一个数组对象 function getIndex (_arr,_obj) { var le ...
- TeamLab安装及使用
http://blog.csdn.net/crazin/article/details/9529061 最近想装个项目管理管理系统方便项目管理,调研了下这方面开源的软件还是比较多的,国内的有禅道,试用 ...
- Python查找最新测试报告到邮件功能
#coding=utf-8 import smtplib from email.mime.text import MIMEText import unittest import HTMLTestRun ...
- 用mybatis做数据库处理 代码中的字段大小写 要和mapper映射设置的大小写一致(这TM不废话么,原谅我渣!~~)
简单描述情况:其实这个问题怎么说呢,有人给你说,你肯定能意识到,必须大小写对应的嘛.emmmm我现在才意识到是因为:自己在下边敲代码,配的mapper文件并没有把属性变量,和数据库里的段单独提出来做映 ...
- MySql在windows上的安装
知乎安装教程 csdn安装教程 一.官网下载 ZIP Archive 内的软件包,mysql-xxx-win64.zip. 二.新建 MySQL 文件夹,解压缩下载包,进入文件夹(mysql-8.0. ...
- 数据恢复Winhex的核心理念
一.数据恢复就是寻找有价值的东西,其本质是数据定位,检索技术.存在的有迹可循,毁灭的无影无踪.这就譬如说,一本撕烂的书输的目录不见了,但是内容全在,我们就可以读到内容,但是内容不存在了,也就无法在找到 ...
- Nginx详解十六:Nginx场景实践篇之缓存服务
缓存类型: 服务端缓存 代理缓存 客户端缓存 Nginx代理缓存 配置语法 使用之前需要先定义一个proxy_cache_path配置语法:proxy_cache_path path [levels= ...
- 统计nginx日志里访问次数最多的前十个IP
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr -k1 | head -n 10