# def test(x) :  #形参:不占内存空间,调用函数时传入值,程序完成形参释放内存
# # 注释内容
# # 代码内容
# y = x*2
# print(y)
# # return
# # test(2)
# 4 PS:位置参数必须在定义函数左边,必须一一对应
# 默认参数在定义的时候直接调用函数设置的时候的默认值,而不设置函数的值
# test(x,*args,**kwargs)*args **kwargs可以接收多个参数,*args接收列表,表示为元祖 **kwargs接收字典
# 可以减少重复代码;保持一致性,易维护;可扩展性
###############################################上节课复习#########################################################
########################################局部变量与全局变量#########################################################
# 在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。
# 全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。
# 当全局变量与局部变量同名时:
# 在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。
# name = 'lhf'#没有任何缩进的就是全局变量,任何情况下都可以调用
# def change_name():
# print('change_name')
# change_name()在子函数过程中定义的变量成为局部变量
# 变量私有化的只能是函数
# global 如果函数的内部无global关键字,优先读取局部变量,读取全局变量,无法重新赋值
# 如果函数中有global关键字,变量本质就是全局的变量,可以读取可以重新赋值
#对于可变对象,可以对内部的全局变量进行元素操作进行任何的内部方法
###########全局变量全部大写###############
###########局部变量全部小写###############
# NAME = '海风'----1
# def huangwei():----3
# name = "黄伟"
# print(name)----4
# def liuyang():----6
# name = "刘洋"
# print(name)----7
# def nulige():----10
# name = '沪指花'
# print(name)---11
# print(name)----8
# nulige()----9
# liuyang()-----5
# print(name)----12
# huangwei()----2
# 黄伟
# 刘洋
# 刘洋
# 沪指花
# 黄伟
#################################################################################################################
##################################前向引用#######################################################################
# def foo():
# print('from foo')
# bar()#未定义该函数,所以运行时报错
# foo()
# def bar():
# print('from bar')
# def foo():
# print('from foo')
# bar()
# #未定义该函数,所以运行时报错
# foo()
#风湿理论:函数即变量
###############################################递归############################################################
# import time
# def calc(n):
# print(n)
# time.sleep(1)
# calc(n)
# calc(10)
# 用栈的方式去保存,递归占用内存导致最终报错
#递归特性:
# 1.需要明确的结束条件(可以设置条件判断return)
# 2.每次进入更深一层时,问题规模相比上次递归应有所减少
# 3.递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,
# 每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,
# 所以,递归调用的次数过多,会导致栈溢出)
# import time
# person_list = ['alex','wupeiqi','yuanhao','lihaifeng']
# def ask_way(person_list):
# if len(person_list) == 0:
# return '根本没人知道'
# person = person_list.pop(0) # 依次弹出列表中的元素
# if person == 'lihaifeng':
# return '%s说:我认识路'%person
# print('问[%s]' %person)
# print('%s说:帮你问问%s'%(person,person_list))
# time.sleep(1)
# res = ask_way(person_list)
# return res
# res = ask_way(person_list)
# print(res)
##########################################################################################################

Pyhton学习——Day6的更多相关文章

  1. Pyhton学习——Day26

    #多态:多态指的是一类事物有多种形态# import abc# class Animal(metaclass = abc.ABCMeta):# 同一类事物:动物# @abc.abstractclass ...

  2. pyhton 学习

    官方学习文档 https://docs.python.org/3/tutorial/

  3. python 学习day6(面向对象)

    博客部分内容转自:http://www.cnblogs.com/wupeiqi/p/4493506.html 面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法 ...

  4. 20190320_head first pyhton学习笔记之构建发布

    1.把代码nester.py放入文件夹nester中,在文件夹中再新建一个setup.py文件,文件内容如下: from distutils.core import setup setup( name ...

  5. android开发学习——day6

    关于UI的几个插件学习 button和textview,以及点击button利用Toast提醒,editText private EditText editText; @Override protec ...

  6. Python学习-day6 面向对象概念

    开始学习面向对象,可以说之前的学习和编程思路都是面向过程的,从上到下,一步一步走完. 如果说一个简单的需求,用面向过程实现起来相对容易,但是如果在日常生产,面向对象就可以发挥出他的优势了. 程序的可扩 ...

  7. Pyhton学习——Day2

    Python开发IDE(工具)Pycharm.eclipse1.循环while 条件 #循环体 #条件为真则执行 #条件为假则执行break用于退出所有循环continue用于退出当前循环 2.Pyc ...

  8. Pyhton学习——Day28

    #上下文协议:文件操作时使用with执行# with open('a.txt','w',encoding='utf-8') as f1:# with语句,为了让一个对象兼容with语句,必须在这个对象 ...

  9. Pyhton学习——Day27

    # hasattr(obj,'name')-->obj.name# getattr(obj,'name',default = 'xxx')--->obj.name# setattr(obj ...

随机推荐

  1. 机器学习PAI快速入门

    什么是机器学习? 机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论.统计学.逼近论.凸分析.算法复杂度理论等多门学科.专门研究计算机怎样模拟或实现人类的学习行为,以 ...

  2. [codeforce 975C] Valhalla Siege (二分)

    Examples input 5 5 1 2 1 2 1 3 10 1 1 1 output 3 5 4 4 3 input 4 4 1 2 3 4 9 1 10 6 output 1 4 4 1 N ...

  3. 在Tomcat中配置域名:linux下的配置

    域名的配置 端口要改成80 找到/usr/tomcat/apache-tomcat-8.5.30/conf的目录,找到server.xml文件,到 <Host name="localh ...

  4. linux 编译网卡驱动

    将smsc7500网卡驱动拷贝到/drive/net/usb文件夹下 拷贝ioctl_7500.h  smsc7500usbnet.c smsc7500version.h smsclan7500.h ...

  5. 面试题(JVM加载机制)

    JVM加载class文件的原理机制? JVM中类的装载是classLoader 和它的子类来实现的,Java classLoader是个重要的java运行时的系统组件.它在运行时查找和装入类文件的类. ...

  6. UVA10200 Prime Time

    /* UVA10200 Prime Time https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8& ...

  7. BA-siemens-apogee自适应控制

    简介 APOGEE楼控系统的控制器中,包括了由 Cybosoft开发的基于无模型自适应控制技术的自适应控制. 自适应控制是一个复杂的闭环循环控制算 法.自适应控制能自动校正参数以补偿机械的系 统/负载 ...

  8. 浙大PAT考试1013~1016(最伤的一次。。)

    我能说我1016WA了几天都不得最后还是拿别人代码交的么. .. 真心找不到那个神数据.. . 自己把整个程序的流程都画出来了.细致推敲是木有问题的啊... 题目地址:点击打开链接 先从1013開始介 ...

  9. HDU 2874

    简单的tarjan #include <iostream> #include <cstdio> #include <cstring> #include <al ...

  10. Quartz2D二维画图引擎

    Quartz2D二维画图引擎 这个二维画图引擎的功能很强大 一般苹果公司xcode 提供给我们的一些UI控件不能满足我们的需求 所以我们会自己定义控件 xcode 提供的全部控件都是由这个画图引擎画出 ...