1.全局变量与局部变量练习

 1 # -*- coding: UTF-8 -*-
2 def bar():
3 print('from bar')
4 def foo():
5 print('from foo')
6 bar()
7 foo()
8
9 name = 'lhf'
10 def change_name():
11 global name
12 name = 'such a good young boy'
13 print('change_name',name)
14 def change_name1():
15 name1 = '帅了一比'
16 name2 = '帅了一比'
17 name3 = '帅了一比'
18 print('change_name',name)
19 change_name()
20 change_name1()
21 print(name)
22
23 NAME = '杠娘'
24 def yangjian():
25 global NAME
26 NAME = 'a cute little northwestern man'
27 print('i am going to hang out with ' + NAME)
28 def qupengfei():
29 NAME = 'alex'
30 print('i am going to hang out with ' + NAME)
31 yangjian()
32 qupengfei()
33
34 NAME = ['a','b']
35 def qupengfei():
36 NAME = 'myself'
37 print('i am fucking ' + NAME)
38 qupengfei()
39
40 NAME = ['c','d']
41 def yuyukun():
42 NAME.append('e')
43 print('i am fucking',NAME)
44 yuyukun()
45
46 result:
47 from foo
48 from bar
49 ('change_name', 'such a good young boy')
50 ('change_name', 'such a good young boy')
51 such a good young boy
52 i am going to hang out with a cute little northwestern man
53 i am going to hang out with alex
54 i am fucking myself
55 ('i am fucking', ['c', 'd', 'e'])
2.全局变量与局部变量 例子
#global keywork
name = '刚娘'
def weihou():
name = '陈卓'
def weiweihou():
global name #此处全局变量对应line780,表示重申变量name为全局变量
name = '冷静' #此处name仅为weiweihou()中的全局变量
weiweihou()
print(name) #此时打印的name对应'陈卓',因为weihou()中声明了name='陈卓'的局部变量
print(name)
weihou()
print(name)
#nonlocal keywork
name = '刚娘'
def weihou():
name = '陈卓'
def weiweihou():
nonlocal name #修改上级变量,陈卓改为冷静
name = '冷静'
weiweihou()
print(name)
print(name)
weihou()
print(name) result:
刚娘
陈卓
冷静 刚娘
冷静
刚娘

3.累加的递归练习

def add(n):
print(n)
if n == 1:
return n
else:
return (n + add(n-1))
res = add(10)
print(res) result:
10
9
8
7
6
5
4
3
2
1
55

4.公因子的递归练习

    print(n)
if int(n / 2) == 0:
return n
res = calc(int(n/2))
return res
res = calc(10)
print(res)

5.问路的递归练习

person_list = ['alex','wupeiqi','linhaifeng','zsc']
def ask_way(person_list):
print('-'*60)
if(len(person_list)) == 0:
return '根本没人知道'
person = person_list.pop(0)
if person == 'linhaifeng':
return '%s说:我知道,老男孩就在沙河汇德商厦,下地铁就是'%person
print('hi 美男[%s],敢问路在何方' %person)
print('%s回答道:我不知道,但念你慧眼识珠,你等着,我帮你问问%s...'%(person,person_list))
# time.sleep(10)
res = ask_way(person_list)
print('%s问的结果是:%res'%(person,res))
return res
res = ask_way(person_list)
print(res)

forward reference前向引用,gloal values and local values全局变量和局部变量,recursive function递归函数的更多相关文章

  1. wpf staticresource 是不允许向前引用(forward reference)的

    不允许向前引用(forward reference)在C/C++中中很常见,即在语法上,未定义变量.类之前,不能使用. 没想到wpf中的wpf staticresource也遵循这种规则.资源字典中, ...

  2. java 报错非法的前向引用

    今天在看<thinking in java>的时候,第四章提到了非法的前向引用,于是自己试了一下,书中的例子倒是一下就明白了,但是自己写的一个却怎么也不明白,于是上网问了一位前辈,终于明白 ...

  3. Forward reference vs. forward declaration

    Q:Im a bit confused. What is the difference between forward declaration and forward reference? Forwa ...

  4. 错误代码: 1247 Reference 'startTime' not supported (forward reference in item list)

    1.错误描述 1 queries executed, 0 success, 1 errors, 0 warnings 查询:SELECT a.createUserId AS typeId, (SELE ...

  5. Python小白学习之路(十二)—【前向引用】【风湿理论】

    前向引用 风湿理论(函数即变量) 理论总是很抽象,我个人理解: 代码从上到下执行,一旦遇到定义的函数体,内存便为其开辟空间,并用该函数的名字作为一个标识但是该函数体内具体是什么内容,这个时候并不着急去 ...

  6. 018--python 函数参数、变量、前向引用、递归

    目录 一.python函数的定义 二.函数参数 三.全局变量和局部变量 四.前向引用 五.递归 一.python函数的定义 python函数是对程序逻辑进行结构化或过程化的一种方法 1 python中 ...

  7. C++类的组合、前向引用声明

    3.5类的组合 Part1.应用背景 对于复杂的问题,往往可以逐步划分为一系列稍微简单的子问题. 解决复杂问题的有效方法是将其层层分解为简单的问题组合,首先解决简单问题复杂问题也就迎刃而解了. 在面向 ...

  8. C++11中std::move、std::forward、左右值引用、移动构造函数的测试

    关于C++11新特性之std::move.std::forward.左右值引用网上资料已经很多了,我主要针对测试性能做一个测试,梳理一下这些逻辑,首先,左值比较熟悉,右值就是临时变量,意味着使用一次就 ...

  9. vs2015类中方法前的引用链接不显示的解决方案

    在工具→选项,打开如下界面,寻找“文本编辑器→所有语言”中设置显示:&lt;img data-rawheight="761" data-rawwidth="130 ...

随机推荐

  1. Iris 语录

    Iris:hello,Loki first congratulatioins to you to upgrade to V2You really did a big progress in v0 an ...

  2. eolinker 安装时遇到的坑

    Access denied for user 'root'@'localhost' (using password:YES) 从githup 上下载的代码,直接把release 里的文件发布到服务器上 ...

  3. POJ-3233 Matrix Power Series 矩阵A^1+A^2+A^3...求和转化

    S(k)=A^1+A^2...+A^k. 保利求解就超时了,我们考虑一下当k为偶数的情况,A^1+A^2+A^3+A^4...+A^k,取其中前一半A^1+A^2...A^k/2,后一半提取公共矩阵A ...

  4. Python 多进程进程池Queue进程通信

    from multiprocessing import Pool,Manager import time def hanshu(queue,a): n = 1 while n<50: # pri ...

  5. matplotlib各图形绘制

    2D图形 import numpy as np import pandas as pd from pandas import Series,DataFrame import matplotlib.py ...

  6. NOIp 2018 D2T1 旅行//未完成

    这个题没有认真读的话就会写下以下的DD代码 #include<bits/stdc++.h> #define N 5010 using namespace std; int n,m; int ...

  7. JQ 向上查找指定 同辈元素 找到后返回

    由于JQ 只有 prev() 和 prevAll() prev()只能找一个 prevAll()把所有的都给找了 我想要的是: 在同辈元素中向上找,直到找到 我指定的元素 后,返回他. 所以自己写了个 ...

  8. Java中的值传递与引用传递

    1.基本类型和引用类型在内存中的保存 Java中数据类型分为两大类,基本类型和对象类型.相应的,变量也有两种类型:基本类型和引用类型. 基本类型的变量保存原始值,即它代表的值就是数值本身: 而引用类型 ...

  9. RSA加密及加签

    1.对方要求我们的私钥是pkcs8格式,但是实际的公钥没有用pkcs8转换之后的私钥完成,所以是可以不是pkcs8的格式的.我们加签跟格式没有关系. 2.数据格式很重要,to_mpint而非crypt ...

  10. 创建Car类,包含name,price属性,构造器等方法,创建测试类,在main方法中创建Set接口的实现类,添加5个以上的Car对象,遍历集合元素,验证重复元素是否过滤了; 如果没有过滤,实现过滤功能;把每个小车的price降10000元,再遍历,查看price是否已改变

    i汽车类 package com.lanxi.demo2_3; public class Car { private String name; private int price; @Override ...