我的短期目标:python+CTF reverse 一起加油!

#1,函数介绍

1,功能性  函数目的

2,隐藏性  (封装)  (避免写重复代码)

例:

 #round为保留小数的函数

 a = 3.1415
result = round(a,2)
printf(result) #输出:3.14

查看代码

#2,函数的使用

1,参数列表可以没有

2,函数中无return 代表返回None(空值)

例:

#1,实现两个数字的相加
#2,打印输入的参数
def add(x,y)
result = x + y
return result def print(code)
printf(code) add(1,1)
print('python') #自己调用自己 递归次数太多 报错 #如何修改python递归995次数限制
import sys
sys.setrecursionlimit(1000000) #修改限制为100万次递归次数 #所以 函数的定义不要与python内置的关键字相同

查看代码

 def add(x,y)
result = x + y
return result def print_code(code)
printf(code) a = add(1,1)
b = print_code('python') print(a,b) #输出
python #调用到了print_code 所以会首先输出print(python)
2
None #无返回值 所以输出None

查看代码

3,返回值(可多个)

例:

 def damage(skill1,skill2):
demage 1 = skill1 * 3
demage 2 = skill2 * 2 + 10
return damage1,damage2 damages = damage(3,6) print(type(damages)) #输出为tuple类型 说明在return时不用强制加() #调用时
print(damages[0],damages[1]) #不如序列解包 即用 两个变量接分别收 demage函数的返回值 dagame_skill1,damage_skill1 = damage(3,6)

查看代码

4,序列解包(接收返回值)和链式赋值

 #链式赋值
a = 1
b = 2
c = 3
a,b,c = 1,2,3
a=b=c=1 d = 1,2,3
print(type(d)) #<class ' tuple '> a,b,c = d #序列解包 a,b = [1,2,3] #too many values to unpack(expected 2)

查看代码

5,必须参数与关键字参数

①,必须参数 实参 形参

②,关键字函数(可以不用考虑传入参数的顺序)

例:

 def add(x,y):
result = x + y
return result c = add(y=3,x=2) c = add(x = 2) #报错 定义多少形参就要传递多少实参

查看代码

6,默认参数

①默认参数即使函数的某些参数赋有初值 (非默认参数必须放置到默认参数之前)

例:

 def prinf_student_files(name,gender='男生',age=18,college='人民路')
print('我叫' + name)
print('我是' + gender)
print('我今年' + str(age))
print('我在' + college +'上学') print_student_files('大头')
#输出 我叫大头
我是男生
我今年18岁
我在人民路上学 #默认参数必须放到参数列表后面 即必须参数不能放置到默认参数后面 #如果要修改默认参数的值,全部用关键字参数传值的方式(XXX=XXX)修改,不能混用关键字参数传值与必须参数传值 def cs(a,c,b=2):
print(a,b,c)
cs(a=5,b=6,c=7)
#输出 5 6 7 def cs(a,c,b=2):
print(a,b,c)
cs(5,b=6,7)
#报错

查看代码

【我要学python】函数的系统学习的更多相关文章

  1. 【我要学python】面向对象系统学习

    第一节:初识类的定义和调用 c1.py #类 = 面向对象 #类 最基本作用:封装 #类中不仅可以定义变量 还可以定义函数等等,例: class student( ): name = ' ' age ...

  2. Python基础语法 系统学习

    Python 中的基础语法最大的特点就是优雅和简洁.入门学习Python的难度相比较其他语言也比较小. 我个人比较推荐以下三个学习方式(根据个人情况和喜好,可选择任意一个): 1.  菜鸟在线:出品的 ...

  3. 零基础学Python不迷茫——基本学习路线及教程!

    什么是Python? 在过去的2018年里,Python成功的证明了它自己有多火,它那“简洁”与明了的语言成功的吸引了大批程序员与大数据应用这的注意,的确,它的实用性的确是配的上它的热度.   Pyt ...

  4. string的各种函数(系统学习)

    1.按照面向对象的要求,可以把字符串看作一个对象,设计一个串类加以描述.但是,在一般的情况下不必建立自己的串类,c++标准 在库<string>中给出了类string,提供了丰富的串操作, ...

  5. python初学者必看学习路线图!!!

    python应该是近几年比较火的语言之一,很多人刚学python不知道该如何学习,尤其是没有编程基础想要从事程序员工作的小白,想必应该都会有此疑惑,包括我刚学python的时候也是通过从网上查找相关资 ...

  6. 怎么快速学python?酒店女服务员一周内学会Python,一年后成为程序员

    怎么快速学python?有人说,太难!但这个女生却在一个星期内入门Python,一个月掌握python所有的基础知识点. 说出来你应该不信,刚大学毕业的女生:琳,一边在酒店打工,一边自学python, ...

  7. Python作业-选课系统

    目录 Python作业-选课系统 days6作业-选课系统: 1. 程序说明 2. 思路和程序限制 3. 选课系统程序目录结构 4. 测试帐户说明 5. 程序测试过程 title: Python作业- ...

  8. 学Python的第五天

    最近忙着学MySQL,但是小编也不会放弃学Python!!! 因为热爱所以学习~ 好了各位,进入正题,由于时间问题今天学的不是很多.... #!/usr/bin/env python # -*- co ...

  9. 学python,怎么能不学习scrapy呢!

    摘要:本文讲述如何编写scrapy爬虫. 本文分享自华为云社区<学python,怎么能不学习scrapy呢,这篇博客带你学会它>,作者: 梦想橡皮擦 . 在正式编写爬虫案例前,先对 scr ...

随机推荐

  1. oracle的小语句

    select * from v$nls_parameters; 查询数据库中现在的常量 alter session set NLS_DATE_FORMAT='yyyy-mm-dd'; 更改日期显示方式

  2. CF540 B 贪心

    坑在B题是常态,弱智的日常. 是找中位数不是平均值. 慌了,乱写了 出了一塌糊涂的ZZ代码 特记一下 /** @Date : 2017-08-27 17:25:11 * @FileName: B.cp ...

  3. Unity下实现弹簧骨骼(Spring Bone)

    关于这个效果的名称,我一直没找到一个比较正式的说法.Spring Bone这个说法是来自于Anima2D这个插件中的一个演示用的脚本,我直接译成弹簧骨骼. 一般常见于对人物的头发的模拟上. 当然也可以 ...

  4. 垂直水平居中--css3

    在移动前端制作中,很多新的css3特性能够帮助我们更好的制作.例如这个垂直水平居中问题,就有一个简单的代码可以解决: 利用CSS3的transform:translate .center{ width ...

  5. NYOJ 925 国王的烦恼 (并查集)

    题目链接 描述     C国由n个小岛组成,为了方便小岛之间联络,C国在小岛间建立了m座大桥,每座大桥连接两座小岛.两个小岛间可能存在多座桥连接.然而,由于海水冲刷,有一些大桥面临着不能使用的危险.如 ...

  6. es6新语法Object.assign()

    1.介绍 Object.assign用于对象的合并,将源对象的所有可枚举属性复制到目标对象,只拷贝源对象自身的属性继承属性补考呗 Object.assign(target,source1,...)第一 ...

  7. jsoup抓取网页报错UnsupportedMimeTypeException

    今天在用Jsoup爬虫的时候两次遇到下面错误 Exception in thread "main" org.jsoup.UnsupportedMimeTypeException: ...

  8. xv6/bootasm.S + xv6/bootmain.c

    xv6/bootasm.S #include "asm.h" #include "memlayout.h" #include "mmu.h" ...

  9. Deep Learning基础--理解LSTM/RNN中的Attention机制

    导读 目前采用编码器-解码器 (Encode-Decode) 结构的模型非常热门,是因为它在许多领域较其他的传统模型方法都取得了更好的结果.这种结构的模型通常将输入序列编码成一个固定长度的向量表示,对 ...

  10. PHP 利用nginx的X-sendfile控制下载,提高下载效率

    https://blog.csdn.net/qq_34839657/article/details/52812885 https://www.jianshu.com/p/bf5c387830b7 为了 ...