python27期day09:函数的初始、函数的定义、函数的调用、函数的返回值、函数的参数、作业题。
1、函数的作用:封装代码、大量的减少了重复的代码。
2、全局空间:顶行写的就是全局空间。
图解 :
3、函数的定义:
def 是一个关键字、申明要定义一个函数
my_len 函数的名字、遵循变量命名的规则
()固定结构、用来传参
:表示语句结束
缩进
函数体(缩进体)
4、函数定义结构:
def 函数名():
函数体
5、函数的调用:
函数名+()
函数被调用后、函数体中开辟的空间会自动销毁。
6、返回值:
return 能够终止函数,return下方的代码不执行
return 能够返回任意多个数据类型(python中所有对象)、以元组的形式接受
函数体中不写return默认返回None、或者写了return不写值返回的也是None
return 将返回值返回给调用者
7、拆包、解包、平行赋值:
def func():
a = 10
b = 20
return a,b
a,b = func()
print(a,b)
8、函数中写for、for里面写了return、终止的是函数
9、函数运行图解:
10、形参、实参、传参。
在定义函数的阶段就是形参
在调用函数的阶段就是实参
将实参传递给形参的过程就是传参
传参的时候相当于在当前函数体中进行了赋值操作
可以单独使用位置参数、也可以单独使用默认参数、也可以混合使用
11、位置参数:
位置传参:必须一一对应
def yue(app,girl,age,addr):
print("掏出手机")
print(f"打开{app}")
print(f"找一位{girl},要求年龄:{age},地区:{addr}的人")
print("聊一聊")
print("约一约")
yue("微信","女孩",18,"乌克兰")
12、参数优先级:位置参数 > 默认参数
13、默认参数:
可以不传参、可以传参、传参就是把默认的值覆盖
def userinfo(name,age,hobby,sex = "男"):
print(f"姓名:{name} 年龄:{age} 性别:{sex} 爱好:{hobby}")
userinfo("岳新力",23,"开车")
14、关键字传参:
指名道姓的方式进行传参
def func(a,b,c=1,d=2):
print(a,b,c,d)
func(1,2,c=4)
作业题:
# 1、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者
def func(arg):
lst = []
lst.append(arg[1::2])
return lst
li = [11,22,33,44,55,66,77]
print(func(li))
# 2、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5
def func(arg):
if len(arg) > 5:
print("大于")
else:
print("不大于")
li = [11,22,33,44,55,66,77]
func(li)
# 3、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者
def func(arg):
lst = []
if len(arg) > 2:
lst.append(arg)
return lst[0][0:2]
li = [11,22,33,44,55,66,77]
print(func(li))
#4、写函数,计算传入函数的字符串中,[数字]、[字母和中文]以及 [其他]的个数,并返回结果
def func():
num_sum = 0
alpha_num = 0
other_num = 0
content = input("请输入字符串:")
for i in content:
if i.isdecimal():
num_sum += 1
elif i.isalpha():
alpha_num += 1
else:
other_num += 1
return f"数字:{num_sum} 中文和字母:{alpha_num} 其他{other_num}"
print(func())
#5、写函数,接收两个数字参数,返回比较大的那个数字
print(max(1,10))
#6、写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者
#dic = {"k1": "v1v1", "k2": [11,22,33,44]}
# 字典中的value只能是字符串或列表
dic = {"k1":"v1v1","k2":[11,22,33,44]}
def func(dic1):
for i in dic1:
if len(dic1[i]) > 2:
dic1[i] = dic1[i][:2]
return dic1
print(func(dic))
#7、写函数,此函数只接收一个参数且此参数必须是列表数据类型,此函数完成的功能是返回给调用者一个字典,此字典的键值对为此列表的索引及对应的元素。例如传入的列表为:[11,22,33] 返回的字典为 {0:11,1:22,2:33}
lst = [11,22,33]
dic = {}
def func(lst):
for k,v in enumerate(lst):
dic[k] = v
func(lst)
print(dic)
#8、写函数,函数接收四个参数分别是:姓名,性别,年龄,学历。用户通过输入这四个内容,然后将这四个内容传入到函数中,此函数接收到这四个内容,将内容追加到一个student_msg文件中
f = open("student_msg","a",encoding="utf-8")
def userinfo(name,sex,age,edu):
f.write(f"姓名:{name} 性别:{sex} 年龄:{age} 学历:{edu}\n")
userinfo(input("name:"),input("sex:"),input("age:"),input("edu"))
#9、对第9题升级:支持用户持续输入,Q或者q退出,性别默认为男,如果遇到女学生,则把性别输入女
f = open("student_msg","a",encoding="utf-8")
def userinfo(name,age,edu,sex = "男"):
f.write(f"姓名:{name} 性别:{sex} 年龄:{age} 学历:{edu}\n")
while True:
a = input("name:")
b = input("sex:")
c = input("age:")
d = input("edu:")
if a.upper() == "Q":
break
if b == "女":
userinfo(a,c,d,b)
else:
userinfo(a,c,d)
#10、写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成整个文件的批量修改操作(选做题)
def file_change(old_file_name,new_file_name,old_centent,new_centent):
with open(old_file_name,"r",encoding="utf-8") as f,\
open(new_file_name,"a",encoding="utf-8") as f1:
for i in f:
f1.write(i.replace(old_centent,new_centent))
import os
os.rename(old_file_name,old_file_name + ".bak")
os.rename(new_file_name,old_file_name)
file_change("student_msg","userinfo","18","81")
python27期day09:函数的初始、函数的定义、函数的调用、函数的返回值、函数的参数、作业题。的更多相关文章
- c++中带返回值函数没写return能通过编译但运行时会出现奇怪问题
c++中带返回值函数没写return能通过编译但运行时会出现奇怪问题 例如: string myFunc(){ theLogics(); } 发现调用: myFunc(); 崩溃. 但调用: cout ...
- go语言基础之有参有返回值函数的使用
1.有参有返回值函数的使用 示例1: package main //必须 import "fmt" //go官方推荐写法 func MaxAndMin(a, b int) (max ...
- 获得函数返回值类型、参数tuple、成员函数指针中的对象类型
//function_traits.h,获得函数返回值类型.参数tuple.成员函数指针中的对象类型 //参考https://github.com/qicosmos/cosmos/blob/maste ...
- c语言进阶4-有返回值函数
一. 从函数返回 从函数返回就是返回语句的第一个主要用途.在程序中,有两种方法可以终止函数的执行,并返回到调用函数的位置.第一种方法是在函数体中,从第一句一直执行到最后一句,当所有语句 ...
- Python函数01/函数的初识/函数的定义/函数调用/函数的返回值/函数的参数
Python函数01/函数的初识/函数的定义/函数调用/函数的返回值/函数的参数 内容大纲 1.函数的初识 2.函数的定义 3.函数的调用 4.函数的返回值 5.函数的参数 1.函数初识 # def ...
- python中的函数(定义、多个返回值、默认参数、参数组)
函数定义 在python中函数的定义以及调用如下代码所示: def test(x): y = x+1 return y result = test(2) print(result) 多个返回值的情况 ...
- 函数的调用 and 打印返回值 ret= mai() print(ret)
def mai(): # mai 函数名 (yan) 形式参数 print("老板,给我一包中华") return"给你" # 返回值-- 给你ret = ma ...
- C++获取Lua全局变量和执行Lua多参数多返回值函数
C++代码: // LuaAndC.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> #i ...
- oracle pipelined返回值函数 针对数据汇总统计 返回结果集方法
近期需要一个汇总统计,由于数据太多,数据量太大所以在java程序中实现比较困难.若用后台程序统计,数据不能保证实时,同时实现周期比较长.顾使用函数返回结果集的方式,在不增加临时表的情况下实时获取数据. ...
随机推荐
- CF798D Mike and distribution
CF798D Mike and distribution 洛谷评测传送门 题目描述 Mike has always been thinking about the harshness of socia ...
- Vue+Element UI 实现视频上传
一.前言 项目中需要提供一个视频介绍,使用户能够快速.方便的了解如何使用产品以及注意事项. 前台使用Vue+Element UI中的el-upload组件实现视频上传及进度条展示,后台提供视频上传AP ...
- HTML连载31-制作一个百度首页
一. 我们制作一个百度首页作为练习,可直接复制该代码保存后缀名为.html来查看 <!DOCTYPE html> <html lang="en"> < ...
- HTML+CSS基础 border css属性 Div块 盒子
border css属性 边框颜色 border-color:red/#ffffff/rgb()默认为黑色 边框样式 border-style:solid (实线) dashed (虚线).默认为n ...
- 使用SolrJ客户端管理SolrCloud(Solr集群)
1.使用SolrJ客户端管理SolrCloud(Solr集群). package com.taotao.search.service; import java.io.IOException; impo ...
- .NET Core 使用NPOI读取Excel返回泛型List集合
我是一名 ASP.NET 程序员,专注于 B/S 项目开发.累计文章阅读量超过一千万,我的博客主页地址:https://www.itsvse.com/blog_xzz.html 网上有很多关于npoi ...
- c#之添加window服务(定时任务)
本文讲述使用window服务创建定时任务 1.如图,新建项目,windows桌面->windows服务 2.如图,右键,添加安装程序 3.在下图安装程序 serviceInstaller1 上右 ...
- Python - 条件控制、循环语句 - 第十二天
Python 条件控制.循环语句 end 关键字 关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符,实例如下: Python 条件语句是通过一条或多条语句的执行结果(True 或 ...
- 2019前端UI框架排行榜
一.Mint UI 流行指数:★★★★ Mint UI是 饿了么团队开发基于 Vue.js 的移动端UI框架,它包含丰富的 CSS 和 JS 组件,能够满足日常的移动端开发需要. 官网:https:/ ...
- Java自学-集合框架 ArrayList常用方法
ArrayList常用方法 步骤 1 : 增加 add 有两种用法: 第一种是直接add对象,把对象加在最后面 heros.add(new Hero("hero " + i)); ...