1.python 函数 定义 ---def()

def  fun():

print(“我是小甲鱼!!”)

调用函数

a =fun()

print (a)

即可  ,注:函数调用是由上而下;

2.python 函数的参数  def(a,b)

def fun(name):

print(name+"wo ai ni" )

c =int(input(“输入:”))

fun(c)

即可调用;

3.python 函数返回值  关键字:return

def fun(name1+name2):

return (name1+name2 )

c =int(input(“输入:”))

d =int(input(“输入:”))

fun(c,d)

即可得到返回值

4.python 形参 -- 函数-->内部调用的 参数和实参-->传入函数的参数

def fun(name):

"函数文档"

print(name+"wo ai ni" )

c =int(input(“输入:”))

fun(c)

不能打印出“函数文档”

fun.__doc__  函数属性即可打印“函数文档”

help(print)介绍函数用法

5.  python  关键字参数

def  fun(name ,words):

print(name +“-->”+words)

调用fun(“小甲鱼”,“让加”)

即可打印

调用fun (“让加”,“小甲鱼”)

则输出的结果是反的

解决办法:指定传入的参数

fun(words=“让加”,name=“小甲鱼”)

6.python 默认参数

def  fun(name=“小甲鱼” ,words=“让加”):

print(name +“-->”+words)

fun()

即可打印

fun(“苍井空”)

打印出 :苍井空-->让加

7.python  收集参数  别名 ———可变参数

def fun(*params):

print(“参数的长度:”,len(params))

pint (“第二个参数:”,params[1])

fun(1,"小甲鱼",2,34,5,45,5)

即可打印  参数长度:7 第二个参数:小甲鱼

注:传的参数打包为一个元祖

8.def fun(*params,erp):

print(“参数的长度:”,len(params),erp)

pint (“第二个参数:”,params[1])

fun(1,"小甲鱼",2,34,5,45,5)

调用默认给收集参数,会出错,给erp定义默认值:“小甲鱼”

则不会出错

9.  python  函数与过程

有返回值 --函数  无返回值---过程

def  fun():

print(“我是小甲鱼!!”)

a =fun()

print(a)

返回值  none

动态确定内存;

可以返回多个值

def back():

return(1,“小甲鱼”,3,454)

back()

打印出一个列表

[1,"小甲鱼",3,454]包含不同类型的值

def back():

return 1,“小甲鱼”,3,454

back()

打印出元祖

(1,“小甲鱼”,3,454)

10. python   函数变量作用域--变量可见性   局部变量无法影响全局变量   ,在函数内部可以访问全局变量,用关键字global修改全局变量

def  fun(a,b):

xiangcheng   =a*b

# print (c)全局变量

golbal c

c= 45

return(  xiangcheng)

c =int(input(“输入:”))

d =int(input(“输入:”))

new =fun(c,d)全局变量

print(new)

11. python  内嵌函数

def  fun1() :

print(“1”)

def fun2():

print("2")

fun2()

注:内部函数作用域都在外部函数之内的

调用fun1()

打印:

1

2

12.python  闭包

def  funX(x) :

print(“1”)

def funY(y):

return x * y

funY()

i= funX(8)

调用函数:funX(5)(8)

输出:40

13. python 函数 产生闭包

def  fun1() :

x =5

def fun2(y):

x*=x

return x

调用 函数 fun1()报错;x在fun2函数中无定义;在fun1函数中定义的x ,无法影响fun2函数

修改后python 2

def  fun1() :

x =[5]

def fun2(y):

x[0]*=x[0]

return x[0]

retrun fun2()

即可

修改后 python3利用关键字nonlocal

def  fun1() :

x =5

def fun2(y):

nonlocal x

x*=x

return x

return fun2()

即可调用fun1()

14.python 匿名函数 --->lambda表达式

def  funX(x) :

reurn 2* x+1

funX(5)

lambda表达式:

g= lambda x:2*x+1

调用 :g(5)

自动删除申请的内存

例:  g= lambda x,y :x+y

g (3,5)即可

15. python  两个BIF 函数     filter()函数,map()函数

(1).filter()函数

filter(None,[1,0,False,Ture])

list(filter(None,[1,0,False,Ture]))

即可输出:[1,Ture]

def add(x):

return x %2

temp = range(10)

show = filter (add,temp)

list(show)

输出:[1,3,5,7,9]

list(filter(lambda x:x%2,range(10)))即可输出

(2).map()函数:

list(map(lambda x:x*2,range(10))))即可输出

[0,2,4,6,10,12,16,18]---> 利用lambda函数 生成一个数据返回生成一个列表;

16. python  ---递归

网络爬虫时设置递归的深度;

import sys

sys.setrecursionlimit(1000000)

===============================================================================

def fun():
        return fun()

执行函数fun()即可,测试

===============================================================================

递归求阶乘:

非递归版:

def fun(n):

result =n

for i in range(1,n):

result * =1

return result

num =int(input(“输入正数:”))

result= fun(num)

priint("%d的阶乘是 %d ",(num ,result))

递归版:

def fun (n):

if n== 1:

return 1

else:

return n=fun (n-1)

num =int(input(“输入正数:”))

result= fun(num)

print("%d的阶乘是 %d ",(num ,result))

17. python  ---斐波拉契数列:比例-->0.618:1

def fun(n):

n1=1

n2=1

n3= 1

if n<0:

print("输入有误")

return -1

else:

n3 =n2+n1

n1 = n2

n2 =n3

n =1

return n3

result =fun (20)

if result !=1:

print ("共有多少对小甲鱼:"%result)

运行即可输出:

递归版:

def fun (n):

if n<1:

print("输入有误:")

if n==1 or  n ==2:

return 1

else:

return fun(n -1)+fun(n-2)

result =fun (20)

if result !=1:

print(“共有多少小甲鱼:”% result)

运行即可;

18.python --->汉诺塔

def hanoi(n,x,y,z)

if n == 1:

print(x,“---->”z)

else:

hanoi(n-1,x,z,y)#将前n-1个盘子从x移动到y上

print(x,"-->",z)# 将最底下的盘子从x移到z上

hanoi(n-1,y,x,z)#将y上的n-1个盘子移动到z上

num =int(input("输入正数:"))

result= hanoi(num,‘X’,‘Y’,‘Z’)

即可运行

python --葵花宝典的更多相关文章

  1. python django基础四 ORM简介

    ORM,全称是object relation mapping.翻译过来,就是对象关系映射. 主要来学习MySQL操作,MySQL是一个软件.它的优点:1.免费 2.开源 pymysql,就是Mysql ...

  2. python 全栈开发,Day71(模型层-单表操作)

    昨日内容回顾 1. {% include '' %} 2. extend base.html: <html> ..... ..... ..... {% block content%} {% ...

  3. python 全栈开发,Day74(基于双下划线的跨表查询,聚合查询,分组查询,F查询,Q查询)

    昨日内容回顾 # 一对多的添加方式1(推荐) # book=Book.objects.create(title="水浒传",price=100,pub_date="164 ...

  4. (转)python 全栈开发,Day74(基于双下划线的跨表查询,聚合查询,分组查询,F查询,Q查询)

    昨日内容回顾 # 一对多的添加方式1(推荐) # book=Book.objects.create(title="水浒传",price=100,pub_date="164 ...

  5. Django 系列博客(十)

    Django 系列博客(十) 前言 本篇博客介绍在 Django 中如何对数据库进行增删查改,主要为对单表进行操作. ORM简介 查询数据层次图解:如果操作 mysql,ORM 是在 pymysql ...

  6. web框架开发-Django模型层(1)之ORM简介和单表操作

    ORM简介 不需要使用pymysql的硬编码方式,在py文件中写sql语句,提供更简便,更上层的接口,数据迁移方便(有转换的引擎,方便迁移到不同的数据库平台)…(很多优点),缺点,因为多了转换环节,效 ...

  7. Django模型层-单表操作

    ORM介绍 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的 ...

  8. django——模型层之单表

    1.ORM简介 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人 ...

  9. Django之django模型层一单表操作

    一 ORM简介 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人 ...

随机推荐

  1. Oracle 11g 数据库 shutdown 后立即执行 startup mount 报错的解决办法

    最新文章:Virson's Blog 今天在配置Goldengate时Capture进程提示未开启归档日志,然后立即用sys用户登录orcl数据库,然后执行了“shutdown immediate”命 ...

  2. python一天一题(2)

    python查询mysql数据库 import pymysql host = '192.168.74.5' user = 'root' passwd ='root' port = 3310 db = ...

  3. (笔记)Linux下的ioctl()函数详解

    我这里说的ioctl函数是指驱动程序里的,因为我不知道还有没有别的场合用到了它,所以就规定了我们讨论的范围.写这篇文章是因为我前一阵子被ioctl给搞混了,这几天才弄明白它,于是在这里清理一下头脑. ...

  4. C语言中的运算和运算符

    一.运算符的优先级和结合性 1,优先级 运算符一览表中,运算符越靠上,优先级越高. 2,结合性 假如用O表示需要两个操作数的双目运算符,那么对于表达式aObOc: 左结合运算符会将表达式解释为  (a ...

  5. (转)关于yuv 格式:planar和semi-planar格式

    关于yuv 格式 YUV 格式通常有两大类:打包(packed)格式和平面(planar)格式.前者将 YUV 分量存放在同一个数组中,通常是几个相邻的像素组成一个宏像素(macro-pixel);而 ...

  6. Git -- 工作区 和 暂存区

    Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念. 先来看名词解释. 工作区(Working Directory) 就是你在电脑里能看到的目录,比如我的learngit文件夹就是一个工 ...

  7. JavaScript资源收集分享,持续更新中。。。

    平时收集的一些JavaScript资源,分享给大家 jQuery UI jEasyUI Extensions http://jqext.sinaapp.com 布局做的挺不错,有比较复杂的菜单导航.P ...

  8. html常用对照表

    常用对照表:http://tool.oschina.net/commons

  9. AMQ5540, AMQ5541 and AMQ5542, application did not supply a user ID and password, 2035 MQRC_NOT_AUTHORIZED

    Technote (troubleshooting) Problem(Abstract) As an MQ administrator you create a new queue manager i ...

  10. linux vi命令详解2

    刚开始学着用linux,对vi命令不是很熟,在网上转接了一篇. vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指 ...