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 ...
随机推荐
- python二级登陆菜单
""" 1.三级菜单 注册 登陆 注销 2.进入每一个一级菜单,都会有下一级的菜单"""user_item = dict()try: whi ...
- ListUtil常用操作
/** * 获取列表总页数 */ public static <T> int getListPages(List<T> list,int pageNum,int pageSiz ...
- [USACO4.2] 草地排水 Drainage Ditches (最大流)
题目背景 在农夫约翰的农场上,每逢下雨,贝茜最喜欢的三叶草地就积聚了一潭水.这意味着草地被水淹没了,并且小草要继续生长还要花相当长一段时间.因此,农夫约翰修建了一套排水系统来使贝茜的草地免除被大水淹没 ...
- 学习笔记——ST表
作用: 给定一个数列 ai O(nlogn) 预处理 O(1) 查询区间最值 实现: 定义f(i,j) 为ai开始,包括ai的连续2^j个元素的最值 下面以最大值为例: f(i,j)表示max{ak} ...
- leetCode笔记--(1)
陪朋友刷题,记录下. 1.Evaluate the value of an arithmetic expression in Reverse Polish Notation.Valid operato ...
- 基于Linux ALSA音频驱动的wav文件解析及播放程序 2012
本设计思路:先打开一个普通wav音频文件,从定义的文件头前面的44个字节中,取出文件头的定义消息,置于一个文件头的结构体中.然后打开alsa音频驱动,从文件头结构体取出采样精度,声道数,采样频率三个重 ...
- 性能测试之Jforum平台的搭建
学习Jmeter性能基础,想要借助1款现有的软件平台,来练习jmeter基础,<Jmeter实战>书籍上给出样例软件平台:Jforum 一.环境准备 准备:tomcat9.mysql5.5 ...
- 最简单的tomcat安装部署
[安装环境] 适用于所有Linux操作系统,本人使用的是Centos 7.4 [安装] 浏览器登陆到tomcat官网 http://tomcat.apache.org/ 点击左侧需要下载的版本 右键图 ...
- springmvc中配置拦截器
-------------------------------------------- 登陆controller方法 @Controller public class LoginController ...
- 2015 Multi-University Training Contest 7 hdu 5378 Leader in Tree Land
Leader in Tree Land Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Othe ...