视频地址(全部)

https://edu.csdn.net/course/detail/26057

课件地址(全部)

https://download.csdn.net/download/gentle__man/11858127

课程目标

1. 了解函数
2. 函数的格式定义
3. 函数文档
4. 局部变量和全局变量

了解函数

函数的本质就是功能的封装,和对代码的抽象
函数的作用:
1. 避免开发重复性相同代码
2. 便于程序的理解与维护
3. 对底层代码的抽象

基本函数格式

def 函数名():
  函数功能代码...
  函数功能代码...
  return(没有return 默认返回None)
调用函数: 函数名()
特征:函数定义之后不会自动执行,必须在调用后才会执行
函数名的命名规则:驼峰+动词开头

带有参数的函数格式

def 函数名(参数,参数….):
  函数功能代码...
  函数功能代码...
  return(没有return 默认返回None)
调用函数: 函数名(参数,参数….)
• 形参: 形式上的参数,声明函数时()中的参数是形参
• 实参: 实际上的参数,调用函数时()中的参数是实参
• 注意: 实参将值传递给形参的过程本质上就是简单的变量赋值仅此
而已
• 参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样

函数参数格式

1. 默认值的参数:可选择性输入的参数
2. 可变参数 :可以输入0到任意个参数,函数内组装成tuple
3. 关键字参数:可以输入0到任意个含参数名参数,函数内组装成一
个dict
4. 命名关键字参数
5. 多种参数混合:顺序是必选,默认,可变,命名关键字,关键字

函数返回值

调函数根据执行完毕是否可以得到一个结果,将函数分为2个类型:
1. 执行过程函数: print()
2. 具有返回值的函数:id(),type()
return的特征:
1. 具有return语句的函数称为具有返回值的函数
2. return可以为当前函数执行完毕返回一个结果,这样的函数调用可以被接受
3. return执行之后,函数则会终止,所有return之后的语句不会被执行
4. 一个函数可以书写多个return语句,但是一般会放入分支结构当中
5. 一个函数若要返回多个数据,可借助复合数据类型(list,tuple,set,dict)
来操作即可!
6. 不带参数值的return语句返回None

函数文档

函数文档就是用来查看当前函数相关信息介绍的一个特定格式而已
查看函数文档的方法:
1. help(函数名称) # 直接输出显示函数文档的内容字符串
2. 函数名.__doc__ # 直接输出显示函数文档的内容元字符串(转义字符不转义)
• 定义函数的文档: ''' 或 """
def 函数名(参数...):
  ''’
   在此处声明函数文档
  '''
  函数功能代码...
def my_abs(x):
'''
:param x:
:return:
'''
if not isinstance(x,(int,float)):
raise TypeError('只能输入整数或小数类型')
if x>= 0:
return x
else:
return -x
#空方法
def test(a,b,c=0,*args,**kw):
pass
def test1(a,b,c=0,*,d,**kw):
'''
*,d表示只接收关键字为d的参数
'''
pass
注意:函数文档的作用是对函数进行说明,便于阅读和快速掌握函数的使用,通
常函数文档需 要具有以下信息:
  1. 函数的作用
  2. 函数的参数介绍(个数,数据类型)
  3. 函数的返回值(数据和类型) 

局部变量和全局变量

name = 'wang'
def fun():
global name
print('函数内name='+name)
name = 'lisi'
print('函数内修改后name='+name)
   age = 10
   print(age)
print('函数外name='+name)
定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有
全局作用域
局部变量只能在其被声明的函数内部访问,而全局变量可以在整个
程序范围内访问。调用函数时,所有在函数内声明的变量名称都将
被加入到作用域中

小结

函数定义
函数参数
  1.默认参数
  2.可变参数
  3.关键字参数
  4.命名关键字参数
  5.组合参数
函数返回值
局部与全局变量

【Day2】2.函数的更多相关文章

  1. Day2 MySql函数以及单表查询

    SQL中的运算符 算术运算符 --算术运算符(子句) ; ; ; ; --0.75 ; --NULL div ; 比较运算符> < >= <= != = --0表示false, ...

  2. [代码审计Day2] filter_var函数缺陷代码审计

    简介 // composer require "twig/twig" require 'vendor/autoload.php'; class Template { private ...

  3. Python之路 day2 字符串函数

    #Author:ersa name = "ersa" #首字母大写capitalize() print(name.capitalize()) name = "my nam ...

  4. filter_var()函数

    我们使用 payload :?url=javascript://comment%250aalert(1) ,可以执行 alert 函数: 实际上,这里的 // 在JavaScript中表示单行注释,所 ...

  5. python3学习笔记目录

    目录: Python基础(一),Day1 python基础(二),Day2 python函数和常用模块(一),Day3 python函数和常用模块(二),Day4 python函数和常用模块(三),D ...

  6. Python学习Day2笔记(字符编码和函数)

    1.字符编码 #ASCII码里只能存英文和特殊字符 不能存中文 存英文占1个字节 8位#中文编码为GBK 操作系统编码也为GBK#为了统一存储中文和英文和其他语言文字出现了万国码Unicode 所有一 ...

  7. Oracle Day2 过滤、排序、单行函数

    1.过滤和排序 SQL> --查询10号部门的所有员工信息 SQL> select * from emp ; 未选定行 SQL> ed SP2: 无法创建保存文件 "afi ...

  8. 第五章 函数day2

    5.2函数小高级 5.2.1 函数当参数 1 函数也可以当返回值 def v(dar): v = dar() def n (): print(444) v(n) # 实例2 def v(): prin ...

  9. Python函数Day2

    一.函数补充 只有一个参数时,变量用argv 二.动态参数 为了拓展,对于传入的实参数量不固定,需要万能参数,即动态参数 *args **kwargs 在函数定义时,在 *args为位置参数,起聚合的 ...

随机推荐

  1. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_4-2.微服务下登录检验解决方案 JWT讲解

    笔记 2.微服务下登录检验解决方案 JWT讲解     简介:微服务下登录检验解决方案 JWT讲解 json wen token 1.JWT 是一个开放标准,它定义了一种用于简洁,自包含的用于通信双方 ...

  2. GWO(灰狼优化)算法MATLAB源码逐行中文注解(转载)

    以优化SVM算法的参数c和g为例,对GWO算法MATLAB源码进行了逐行中文注解. tic % 计时器 %% 清空环境变量 close all clear clc format compact %% ...

  3. Java日志体系(四)slf4j

    1.1 简介 与commons-logging相同,slf4j也是一个通用的日志接口,在程序中与其他日志框架结合使用,并对外提供服务. Simple Logging Facade for Java简称 ...

  4. lumen添加中间件实现cookie自动加密解密

    在项目根路径下执行命令:安装illuminate/cookie包 1.composer require illuminate/cookie 2.找到同版本的laravel下的\vendor\larav ...

  5. How to remove duplicate lines in a large text file?

    How would you remove duplicate lines from a file that is  much too large to fit in memory? The dupli ...

  6. 5种Redis数据结构详解

    本文主要和大家分享 5种Redis数据结构详解,希望文中的案例和代码,能帮助到大家. 转载链接:https://www.php.cn/php-weizijiaocheng-388126.html 2. ...

  7. 【Web网站服务器开发】apache和tomcat 阿帕奇和汤姆猫

    经常在用apache和tomcat等这些服务器,可是总感觉还是不清楚他们之间有什么关系,在用tomcat的时候总出现apache,总感到迷惑,到底谁是主谁是次,因此特意在网上查询了一些这方面的资料,总 ...

  8. 【并行计算-CUDA开发】GPGPU OpenCL/CUDA 高性能编程的10大注意事项

    GPGPU OpenCL/CUDA 高性能编程的10大注意事项 1.展开循环 如果提前知道了循环的次数,可以进行循环展开,这样省去了循环条件的比较次数.但是同时也不能使得kernel代码太大. 循环展 ...

  9. 18.linux日志收集数据到hdfs上面

    先创建一个目录 在这个job目录下创建upload.sh文件 [hadoop@node1 ~]$ pwd /home/hadoop [hadoop@node1 ~]$ mkdir job [hadoo ...

  10. 微信图片上传 wx.Imagechoose

    拍照或从手机相册中选图接口 wx.chooseImage({ count: 1, // 默认9 sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩 ...