DAY9 函数
一.脚本文件的执行
1.存放当前文件作为脚本文件执行的参数们:[‘当前文件的绝对路径’,手动传入的参数们]
2.脚本文件执行:直接用python解释器运行该文件
print(sys.argv)
# D:\fullstack_s4\day09\代码\0.复习.py
length = len(sys.argv)
if length > 1:
print("有指令传入")
cmd = sys.argv[1]
if cmd == '1':
print("新建文件")
# f = open('cmd.txt', 'w', encoding='utf-8')
# f.close()
with open(r'D:\fullstack_s4\day09\代码\cmd.txt', 'w', encoding='utf-8') as f:
pass
elif cmd == '2':
print("书写文件")
with open(r'D:\fullstack_s4\day09\代码\cmd.txt', 'w', encoding='utf-8') as f:
f.write("写入内容")
else:
print("指令有误")
else:
print("没有指令传入")
二.函数
2.1 函数的定义
函数:重复利用的工具可以完成特定功能的代码块,函数就是存放代码块的容器
2.2 函数的组成
def 函数名(参数们):
函数体
return '返回值'
1.def: 声明函数的关键词
2. 函数名:使用该函数的依据
3.函数体:完成功能的代码块
4.return:函数的返回值
5. 参数:()参数列表,参数个数可以是0~n个,但()不能少
2.3 函数的使用
def fn(num):
print("传入的num值:%s" % num)
return '收到了'
res = fn(10)
控制台会打印:传入的num值:10
res的值为:‘收到了’
注意:函数一定要先定义后调用
2.4 函数的分类
1. 从函数体进行分类
1.1空函数:项目之初,知道项目有哪些功能,但还没有明确功能体,可以用pass进行函数体填充
def computed():
pass
1.2 非空函数
def add_num(n1, n2):
''' 函数的注释
:param n1: 第一个数
:param n2: 第二个数
:return: 两个数之和
'''
return n1 + n2
2. 从参数列表划分
1.无参函数:不需外界资源
def start():
print('系统启动')
start()
2.有参函数:需要外键资源
def login(usr, pwd):
if usr == 'owen' and pwd == '123':
print('登录通过')
else:
print('登录失败')
login('owen', '123')
3.根据返回值划分(return用于结束函数)
1. 空返回:返回None
def demo(x, y):
print( x + y )
def demo(x, y):
print( x + y )
return # 用来强行结束函数的(像break结束循环一样)
2. 一值返回
def demo(x, y):
return x + y
3.多值返回
def demo(x, y):
return x + y, x - y, x * y, x / y # 本质就是返回装有多个值的元组
2.5 函数的嵌套调用
函数的嵌套调用:在一个函数体重调用另一个函数
在解释过程中,不执行函数体,在函数被调用时,函数体才被执行
def fn1():
print('fn1 run')
fn2()
def fn2():
print('fn2 run')
fn3()
def fn3():
print('fn3 run')
# 注:在fn1中调用了fn2,所以调用fn1的逻辑应该在fn2定义之后
fn1()
2.6 函数完成指定文件名文件的复制
def copy_file(source, target):
'''
:param source: 被复制的文件
:param target: 复制得到的文件
:return:
'''
with open(source, 'rb') as r, open(target, 'wb') as w:
for line in r:
w.write(line)
copy_file('cmd.txt', 'aaa.txt')
copy_file('temp.txt', 'ttt.txt')
DAY9 函数的更多相关文章
- day9函数作业详解
1.day9题目 1,整理函数相关知识点,写博客. 2,写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者. 3,写函数,判断用户传入的对象(字符串.列表.元组 ...
- python全栈开发-Day9 函数对象、函数嵌套、名称空间与作用域
一 .函数对象 一 .函数是第一类对象,即函数可以当作数据传递 可以被引用 可以当作参数传递 返回值可以是函数 可以当作容器类型的元素 二. 利用该特性,优雅的取代多分支的if def foo(): ...
- python全栈学习--day9(函数初始)
Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也 ...
- python—day9 函数的定义、操作使用方法、函数的分类、函数的嵌套调用
一.函数的定义 函数的四个组成部分: 函数名. 函数体. 函数返回值. 函数参数 1.概念:重复利用的工具,可以完成特定功能的代码块,函数是存放代码块的容器 2.定义: def:声明函数的关键词 函数 ...
- Python学习day9 函数Ⅰ(基础)
函数Ⅰ(基础) 三目运算 基本结构 v = 前面 if 条件 else 后面 #条件为真v=前面,条件为假v=后面.#等同于if 条件: v = '前面'else: v = '后面' ...
- day9 函数练习题
写代码,接受n个数字,求这些数字的和 def sum_func(*args): total = 0 for i in args: total+=i return total print(sum_fun ...
- python 全栈开发,Day9(函数的初始,返回值,传参,三元运算)
一.函数的初始 比如python没有len()方法,如何求字符串的长度使用for循环 s = 'fdshfeigjoglfkldsja' count = 0 for i in s: count += ...
- python基础学习Day9 函数的初识,实参、形参、
1.函数 def my_len(): l = [,,,,,,] count = for i in l: count += print(count) my_len() 定义的my_len()方法时,其结 ...
- Python day9函数部分
函数的学习:函数对于一门编程语言来说挺重要的,尤其是c语言,是完全使用函数来编写的 1.函数的定义:逻辑结构化和过程化的一种编程方法 def squre(x): "求一个数的平方 retur ...
随机推荐
- MOT南京站 | 卓越研发之路:锻造顶级后端系统
代码是互联网企业信息化核心,也是众多研发团队智慧的结晶,如何将代码发挥到最大价值?如何用代码快.准.好的实现需求?相信这是很多IT从业者所困扰的问题. MOT南京站首期以『锻造顶级后端系统』为主题,我 ...
- Codeforces 570E - Pig and Palindromes - [滚动优化DP]
题目链接:https://codeforces.com/problemset/problem/570/E 题意: 给出 $n \times m$ 的网格,每一格上有一个小写字母,现在从 $(1,1)$ ...
- 一个少女心满满的例子带你入门canvas
https://blog.csdn.net/sunshine940326/article/details/76572850 本文首发于我的个人博客:http://cherryblog.site/ gi ...
- mysql 字段唯一性问题
ALTER TABLE tb ADD unique (name);
- 2018-2019-2 20175211 实验一《Java开发环境的熟悉》实验报告
目录 代码托管 一.命令行下Java程序开发 二.IDEA下Java程序开发.调试 (1)建立与Git的链接 (2)开发.调试程序 (3)上传代码至码云 三.练习 四.问题及解决 五.学习总结 代码托 ...
- 原生js阻止表单跳转
/* W3C浏览器下的 */ var forms = document.getElementById("from") forms.addEventListener('submit' ...
- 监听器&上传下载&I18N
监听器(Listener) 监听Java对象 的方法调用和属性改变() web的一个组件 事件驱动编程:事件源,事件名称,事件响应函数,事件对象 以后在Spring中的配置 WEB中有哪些监听器? ...
- C# Newtonsoft.Json JsonSerializerSettings 全局序列化设置
Newtonsoft.Json.JsonSerializerSettings setting = new Newtonsoft.Json.JsonSerializerSettings(); JsonC ...
- iterator与const_iterator
iterator与const_iterator 所有的标准库容器都定义了相应的迭代器类型.迭代器对所有的容器都适用,现代 C++ 程序更倾向于使用迭代器而不是下标操作访问容器元素. 1.iterato ...
- VKD224B触摸芯片调试笔记
1.通过阅读datasheet了解芯片怎么使用,一般datasheet会提供参考电路.和相应的电气参数. 通过上面的表格可以知道芯片的供电,所需电流. 这个芯片可以通过引脚选择模式.通过上面的选项设置 ...