首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
Py修行路 python基础 (九)作用域 函数嵌套 闭包
】的更多相关文章
Py修行路 python基础 (九)作用域 函数嵌套 闭包
名称空间与作用域 变量,函数 分成三种 #内置名称空间 内置函数, 系统函数内部自定义的. python查看内置函数,命令: import builtins dir(builtins) #全局名称空间 文件中 顶头写,没有任何缩进定义的函数或是变量. 定义之后,在整个文件的任何位置都可以用. #局部名称空间 定义之后,在局部环境内可以调用,例如在一个定义函数中定义的变量,只能在当前函数内部调用,往外全局或是其他函数均不能调用. 在外部,或是其他定义的函数调用的话,会报错! 内置和全局名称空间…
Py修行路 python基础 (四)运算 copy
字符串的格式化 在字符串中插入 %s ,作为占位符,后边儿再定义插入变量. 算术运算 % 取模 判断奇偶数 / 除法 有小于号 // 取整除 返回整数部分 逻辑运算 and or not 'str'.isdigit() 是判断一个字符串能否转换成数字 布尔运算 以下几种情况为假! []空列表 {}空字典 ()空元组,空集合 ''空字符串 0 位运算 == 二进制运算 列表的copy 浅copy与深copy的关系 用在内存占位的 id 理解! 字典 中的 fromkeys() 从序…
Py修行路 python基础 (十二) 协程函数应用 列表生成式 生成器表达式
一.知识点整理: 1.可迭代的:对象下有_iter_方法的都是可迭代的对象 迭代器:对象._iter_()得到的结果就是迭代器 迭代器的特性: 迭代器._next_() 取下一个值 优点: 1.提供了一种统一的迭代对象的方式,不依赖于索引 2.惰性计算 缺点: 1.无法获取迭代器的长度 2.一次性的,只能往后取值,不能往前退,不能像索引那样去取得某个位置的值 2.生成器:函数内带有yield关键字,那么这个函数执行的结果就是生成器 生成器的本质就是迭代器 def func(): n=0 whil…
Py修行路 python基础 (十三)匿名函数 与 内置函数
一.匿名函数 1.定义: 匿名函数顾名思义就是指:是指一类无需定义标识符(函数名)的函数或子程序. 2.语法格式:lambda 参数:表达式 lambda语句中,开头先写关键字lambda,冒号前是参数,可以有多个,用逗号隔开:冒号右边的为表达式,需要注意的是只能有一个表达式.由于lambda返回的是函数对象(构建的是一个函数对象),所以需要定义一个变量去接收. 3.注意点:lambda 函数可以接收任意多个参数 (包括可选参数) 并且返回单个表达式的值.lambda 函数不能包含命令,包含…
Py修行路 python基础 (十九)面向对象进阶(下)
item系列 __slots__方法 __next__ 和 __iter__实现迭代器 析构函数 上下文管理协议 元类一.item系列 把对象操作属性模拟成字典的格式. 例如:对象名['key'] = value class Foo: def __init__(self,name): self.name = name def __getitem__(self, item): return self.__dict__[item] def __setitem__(self, key, value…
Py修行路 python基础 (八)函数(随时更改)
为何要用函数: 1.解决代码重用的问题 2.提高代码的可维护性,统一维护 3.程序的组织结构清晰,可读性强 定义函数 先定义后使用!!! def funcname(arg1,arg2,.....) #funcname = 函数体 “描述信息” 函数体 return value 定义无参函数 无返回值 def foo() print("foo") 定义有参函数 接受外部传入的值,有return 返回一个值 def my_sum(x,y) return x+y 定义空函数 …
Py修行路 python基础 (二十五)线程与进程
操作系统是用户和硬件沟通的桥梁 操作系统,位于底层硬件与应用软件之间的一层 工作方式:向下管理硬件,向上提供接口 操作系统进行切换操作: 把CPU的使用权切换给不同的进程. 1.出现IO操作 2.固定时间 切换过程中就涉及到状态的保存,状态的恢复,资源利用等问题. 线程和进程在多语言之间通用. 二.进程和线程的概念(面试会用到) 1.进程定义: 进程就是一个程序在一个数据集上的一次动态执行过程.进程一般由程序.数据集.进程控制块三部分组成.我们编写的程序用来描述进程要完成哪些功能以及如何完成…
Py修行路 python基础 (二十)模块 time模块,random模块,hashlib模块,OS及sys模块
一.前提介绍: 可以开辟作用域的只有类,函数,和模块 for循环 if,else: 不能开辟自己的作用域 避免程序复用和重复调用,将这些写到一个.py文件中,做成一个模块,进行调用,就不再需要重复的编写代码. 模块就是py文件 使用的话就是:import 模块名 二.时间模块:time 1.python中有三种方式来表示时间:时间戳.元组(stuct_time),格式化的时间字符串. 时间戳:time.time() 从1970年开始以秒为单位计数的一个浮点型数字. 格式化…
Py修行路 python基础 (十一)迭代器 与 生成器
一.什么是迭代? 迭代通俗的讲就是一个遍历重复的过程. 维基百科中 迭代(Iteration) 的一个通用概念是:重复某个过程的行为,这个过程中的每次重复称为一次迭代.具体对应到Python编程中就是,对于一个可迭代对象,比如Python中的list.tuple.string.dictionary,set等,使用某种循环结构来遍历其中的元素,这种遍历就是迭代. #对列表进行遍历! l=['a','b','c','d','e'] #while循环的方式 i=0 while i < len(l):…
Py修行路 python基础 (十四)递归 及 面向对象初识及编程思想
一.递归 1.定义: 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. (1)递归就是在过程或函数里调用自身: (2)在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口. def age(n): if n ==1: #条件判定 return 10 #返回一个结果 else: return age(n-1)+2 #重复调用函数本身,系统会将运算的结果存放到栈,然后再依次的进行取值调用. print(age(5)) #打印结果 执行结果:18 2.优缺点…