Pyhton学习——Day6
# 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的更多相关文章
- Pyhton学习——Day26
#多态:多态指的是一类事物有多种形态# import abc# class Animal(metaclass = abc.ABCMeta):# 同一类事物:动物# @abc.abstractclass ...
- pyhton 学习
官方学习文档 https://docs.python.org/3/tutorial/
- python 学习day6(面向对象)
博客部分内容转自:http://www.cnblogs.com/wupeiqi/p/4493506.html 面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法 ...
- 20190320_head first pyhton学习笔记之构建发布
1.把代码nester.py放入文件夹nester中,在文件夹中再新建一个setup.py文件,文件内容如下: from distutils.core import setup setup( name ...
- android开发学习——day6
关于UI的几个插件学习 button和textview,以及点击button利用Toast提醒,editText private EditText editText; @Override protec ...
- Python学习-day6 面向对象概念
开始学习面向对象,可以说之前的学习和编程思路都是面向过程的,从上到下,一步一步走完. 如果说一个简单的需求,用面向过程实现起来相对容易,但是如果在日常生产,面向对象就可以发挥出他的优势了. 程序的可扩 ...
- Pyhton学习——Day2
Python开发IDE(工具)Pycharm.eclipse1.循环while 条件 #循环体 #条件为真则执行 #条件为假则执行break用于退出所有循环continue用于退出当前循环 2.Pyc ...
- Pyhton学习——Day28
#上下文协议:文件操作时使用with执行# with open('a.txt','w',encoding='utf-8') as f1:# with语句,为了让一个对象兼容with语句,必须在这个对象 ...
- Pyhton学习——Day27
# hasattr(obj,'name')-->obj.name# getattr(obj,'name',default = 'xxx')--->obj.name# setattr(obj ...
随机推荐
- spring boot-- 三种启动方式
spring-boot的三种启动方式 1. 直接运行SpringbootApplication.java 2.在项目目录下运行mvn spring-boot:run 3.先编译项目mvn instal ...
- WSDL实例解析
WSDL的主要文档元素 WSDL文档可以分为两部分.顶部分由抽象定义组成,而底部分则由具体描述组成.抽象部分以独立于平台和语言的方式定义SOAP消息,它们并不包含任何随 机器或语言而变的元素.这就定义 ...
- nyoj8-一种排序
一种排序 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现在有很多长方形,每一个长方形都有一个编号,这个编号可以重复:还知道这个长方形的宽和长,编号.长.宽都是整数:现 ...
- JZOJ5804. 【2018.08.12提高A组模拟】简单的序列
性质:每个位置的前缀和必须大于0,总和=0.以此dp即可. #include <iostream> #include <cstdio> #include <cstring ...
- PHP 7.1.15安装zabbix-3.2.6出现问题解决
出现问题,显示 A non well formed numeric value encountered [zabbix.php:21 → require_once() → ZBase->run( ...
- Python - def 函数
1.def 函数 如果我们用代码实现了一个小功能,但想要在程序代码中重复使用,不能在代码中到处粘贴这些代码,因为这样做违反了软件工程中 DRY原则. Python 提供了 函数功能,可以将我们这部分功 ...
- --- Error: failed to execute '.\ARMCC\bin\ArmAsm'
1.KEIL4在开发STM32程序时报: Error: failed to execute '.\ARMCC\bin\ArmAsm' 或是Error: failed to execute '.\ARM ...
- ZOJ 2315 New Year Bonus Grant
New Year Bonus Grant Time Limit: 5000ms Memory Limit: 32768KB This problem will be judged on ZJU. Or ...
- APS.NET webform中的isPostBack
IsPostBack介绍Page.IsPostBack是一个标志:当前请求是否第一次打开. 调用方法为:Page.IsPostBack或者IsPostBack或者this.IsPostBack或者th ...
- ASP.NET中的Webconfig 和 Global.asax区别
Web.Config与Global.asax的区别: Config可以根据不同的错误类型定义不同的错误页,网站重定义转向新的错误页面. Global,在全局错误中写入应用程序事件错误信息,并在当前页输 ...