python日记----2017.7.26

命名空间
命名空间一共分为三种
全局命名空间
局部命名空间
内置命名空间(是Python解释器为我们提供的名字,好比‘input,print’等)

三种命名空间之间的加载顺序:
加载顺序:内置命名空间(程序运行前加载)->全局命名空间(程序运行中:从上到下加载)->局部命名空间(程序运行中:调用时才加载)
三种命名空间之间的取值顺序:
在局部调用:
局部命名空间->全局命名空间->
内置命名空间
在全局调用:
全局命名空间->内置命名空间
作用域:
作用域就是作用范围,按照生效范围可以分为全局作用域和局部作用域。

全局作用域:
包含内置名称空间、全局名称空间,在整个文件的任意位置都能被引用、全局有效

局部作用域:
局部名称空间,只能在局部范围内生效
(globals() 函数会以字典类型返回当前位置的全部全局变量。)
(locals() 函数会以字典类型返回当前位置的全部局部变量。)
函数的嵌套:
嵌套函数,顾名思义就是函数里面 套函数。
def A():
print(‘a‘)
def B():
print (‘b‘)
B()
print (‘Over!!!‘)
A()
运行结果
a
b
Over!!!
函数名的本质:
1.可以被引用
2.可以被当作容器类型的元素
3.可以当作函数的参数和返回值
闭包:
内部函数包含对外部作用域而非全剧作用域名字的引用,该内部函数称为闭包函数
def func():
name = ‘eva‘
def inner():
print(name)

作业:

# 2、写函数,,用户传入修改的文件名,与要修改的内容,执行函数,完成整个文件的批量修改操作# import os# def rep(file_name,new,old):##     with open(file_name,‘r‘,encoding=‘utf-8‘) as read_f,\#             open(‘h‘,‘w‘,encoding=‘utf-8‘) as write_f:#         for line in read_f:#             write_f.write(line.replace(new,old))##     os.remove(file_name)#     os.rename(‘h‘,file_name)## rep(‘hello.txt‘,‘*‘,‘7‘)

# 3、写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否含有空内容。

# def func(obj):#     for i in obj:#         if i:#             print(‘该元素不为空‘,i)#         else:#             a = obj.index(i)#             print(‘该元素为空‘,i)### func([‘a‘,‘‘,‘‘])#

# 4、写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。# dic = {"k1": "v1v1", "k2": [11,22,33,44]}   # PS:字典中的value只能是字符串或列表# dic = {"k1": "v1v1", "k2": [11,22,33,44]}# def value_len(leng):#     for k,v in leng.items():#         # print(k,v)#         if len(v) > 2:#             leng[k]=v[0:2]#             # print(leng)#     return leng# # print(value_len(dic))
时间: 2024-10-22 00:02:45

python日记----2017.7.26的相关文章

python日记----2017.8.1

内置函数: 作业: 3.用map来处理字符串列表,把列表中所有人都变成sb,比方alex_sbname = ['alex','wupeiqi','yuanhao','nezha']def ad(l): return l[:len(l)]+'_sb'print(list(map(ad, name)))****************************************************************************4.用filter函数处理数字列表,将列表中所有

python日记----2017.8.2

有待补充: 处理文件,用户指定要查找的文件和内容将文件中包含要查找内容的每一行都输出到屏幕 def file(filename,find_l): with open(filename,'r',encoding='utf-8') as read_r: lines = read_r.readlines() for k,v in enumerate(lines): # print(k) if not v.find(find_l) == -1: yield k+1, v # else: # yield

python日记----2017.7.25

一丶函数 1.函数的定义def是关键字 definedef 之后加函数名 函数名 必须由字母下划线数字组成,不能是关键字,不能是数字开头 函数名还是要有一定的意义能够简单说明函数的功能():必须写函数的调用:函数名+括号2.返回值函数的返回值为None有三种情况1.不写返回值2.只写一个return3.return None (几乎不用)return的作用:结束一个函数的执行首先 返回值可以是任意的数据类型如果有返回值:必须要用变量接收才会有效果函数的返回值不为None,有返回值return x

python日记----2017.7.24

字符编码 1 以什么编码存的就要以什么编码取出 ps:内存固定使用unicode编码, 我们可以控制的编码是往硬盘存放或者基于网络传输选择编码 2 数据是最先产生于内存中,是unicode格式,要想传输需要转成bytes格式#unicode----->encode(utf-8)------>bytes拿到bytes,就可以往文件内存放或者基于网络传输#bytes------>decode(gbk)------->unicode 3 python3中字符串被识别成unicode py

python日记----2017.7.28

装饰器:开放封闭原则 1.对扩展是开放的 我们说,任何一个程序,不可能在设计之 初就已经想好了所有的功能并且未来不做 任何更新和修改.所以我们必须允许代码 扩展.添加新功能. 2.对修改是封闭的 就像我们刚刚提到的,因为我们写的一个函数,很有可能已经交付给其他人使用了,如果这个时候我们对其进行了修改,很有可能影响其他已经在使用该函数的用户. 装饰器完美的遵循了这个开放封闭原则. 3.带参装饰器:需要自己返回以函数作为参数的装饰器. def outer(flag): def timer(func)

python日记----2017.7.27

装饰器: 什么事装饰器: 器即函数 装饰即修饰,意指为其他函数添加新功能 装饰器定义:本质就是函数,功能是为其他函数添加新功能 装饰器需要遵循的原则: 1.不修改被装饰函数的源代码(开放封闭原则) 2.为被装饰函数添加新功能后,不修改被修饰函数的调用方式 装饰器的组成: 装饰器=高阶函数+函数嵌套+闭包 高阶函数定义: 1.函数接收的参数是一个函数名 2.函数的返回值是一个函数名 3.满足上述条件任意一个,都可称之为高阶函数 无参装饰器=高级函数+函数嵌套 基本框架: def timer(fun

量化分析师的Python日记【第1天:谁来给我讲讲Python?】

量化分析师的Python日记[第1天:谁来给我讲讲Python?]薛昆Kelvin优矿 001 号员工2015-01-28 15:48 58 144克隆 ###“谁来给我讲讲Python?” 作为无基础的初学者,只想先大概了解一下Python,随便编个小程序,并能看懂一般的程序,那些什么JAVA啊.C啊.继承啊.异常啊通通不懂怎么办,于是我找了很多资料,写成下面这篇日记,希望以完全初学者的角度入手来认识Python这个在量化领域日益重要的语言 ###一,熟悉基本 在正式介绍python之前,了解

python日记___name__ == '__main__'

在大多数编排得好一点的脚本或者程序里面都有这段if __name__ == 'main': ,虽然一直知道他的作用,但是一直比较模糊,收集资料详细理解之后与大家分享. 1.这段代码的功能 一个python的文件有两种使用的方法,第一是直接作为脚本执行,第二是import到其他的python脚本中被调用(模块重用)执行.因此if __name__ == 'main': 的作用就是控制这两种情况执行代码的过程,在if __name__ == 'main': 下的代码只有在第一种情况下(即文件作为脚本

团队作业4——第一次项目冲刺(Alpha版本)2017.4.26

2017.04.26 天气热. 时间:上午 9:35 ---10:10分 地点:陆大304实验室 会议内容:今天将昨天的的一些问题进行了讨论,以及针对助教提出的问题进行了分析,是因为我们昨天经过讨论后在任务中又加上了一些细节,导致了任务又多了一点点.随着时间的临近,项目Alpha版本即将截止,今天小组成员对任务有又进行了确认,齐心协力完成我们的任务. 1:每日讨论图片(拍摄者小组成员 黄睿) 2.任务分解图: 3.任务分配: 今天的整体分工如下: 武健男:负责今天的博客编写: 林俊鹏:询问实验室