1,参数陷阱 如果默认参数的只是一个可变数据类型,那么每一次调用的时候,如果不传值就共用这个数据类型的资源. 2,三元运算 c=a if a>b else b#如果a>b返回a,否则,返回b 变量 =条件返回True的结果 if 条件 else 条件返回False的结果 必须要有结果 必须要有if和else 只能是简单的情况 def func(a,b):     a if a>b else b print(func(5,1)) 3,命名空间与作用域 3.1命名空间的种类     命名空间…
类命名空间 在一个类中它的函数(方法)属于动态属性,直接定义的变量属于静态属性 首先先定义一个类,并在这个类里面加入静态变量.属性等然后将一个对象实例化 class Fighter: #定义一个战机的类 price = 5000 #静态变量 def __init__(self,name,speed,atk,hp): self.name = name self.speed = speed self.atk = atk self.hp = hp def Attack(self): print('本次…
类命名空间与对象.实例的命名空间 创建一个类就会创建一个类的名称空间,用来存储类中定义的所有名字,这些名字称为类的属性 而类有两种属性:静态属性和动态属性 静态属性就是直接在类中定义的变量 动态属性就是定义在类中的方法 对于类的静态属性和方法不同操作发生的效果 #·类名操作变量 不管操作可变还是不可变数据类型 都是类中对应的变量发生变化#对象名操作静态变量#引用变量:现在自己的命名空间中查找,找不到就去类的命名空间找#修改变量:# 如果是对可变数据类型中的元素进行修改,那么全局生效 #如果对可变…
知识回顾 在上一周的学习里,我学习了一些学习Python的基础知识下面先简短的回顾一些: 1Python的版本和和安装 Python的版本主要有2.x和3.x两个版本这两个版本在语法等方面有一定的区别.在安装的的时候需要注意.剩下的就是在官网选择适合自己操作系统版本的Python安装即可 2Python的内容编码 接下来就有关Python的内容编码的问题 .Python2.x默认是acsll编码.因此不支持中文.Python 3 则不存在这个问题 因此在Python2.x环境中需要在代码的开始加…
Python学习日记 --day2 1.格式化输出:% s d  (%为占位符 s为字符串类型 d为数字类型) name = input('请输入姓名') age = int(input('请输入年龄')) height = input('请输入身高') job = input('请输入工作') hobbie = input('我的爱好是') msg = '''-------info of %s -------- 姓名: %s 年龄: %d 身高: %s 工作: %s 爱好: %s ------…
数字 int 主要是用于计算的,常用的方法有一种 #既十进制数值用二进制表示时,最少使用的位数i = 3#3的ASCII为:0000 0011,即两位 s = i.bit_length() print(s) 布尔值 bool  True/False while True: 等价于: while 1:   ###较简便 while 1: print('all trule') 字符串 str 字符串的索引与切片 索引:索引既下标,字符串元素从第一个开始,初始索引为0.以此类推. s = 'sdfjs…
一.动态参数 def func(a,b,c,d,e,f,g): pass func(1,2,3,4,5,6,7) 如果加30个参数呢?有没有万能的参数,可以代表一切参数呢? *args 动态参数,万能参数agrs接收的就是实参对应的所有位置参数,并将其放在元组中它不会接收关键字参数 def func(*args): pass func(1,2,3,4,5,6,7) 打印返回值 def func(*args): print(args) func(1,2,3,4,5,6,7) 执行输出:(1, 2,…
此处将抽象和结构.自定义函数.参数的使用.作用域.递归放在一起学习,看起来很怪是不是? 但实际上这几者之间是有紧密联系的,不然Python基础教程(第三版)的作者为什么会把它们放在一起哪?手动滑稽 好了,不说废话了,不乱想了,上硬货!!! 1.抽象和结构 抽象的目的是节省人力,实际上,抽象虽然看起来更高,但实际上抽象是程序能被人们更好地理解的关键所在. page=download_page() freqs=compute_frequence(page) for word ,freq in fre…
命名空间 内置命名空间 存放了python解释器为我们提供的名字:print,input...等等,他们都是我们熟悉的,拿过来就可以用的方法. 内置的名字在启动解释器(程序运行前)的时候被加载在内存里. 全局命名空间 放置了我们设置的所有变量名和函数名. 是在程序从上到下被执行的过程中依次加载进内存里. 局部命名空间 函数内部定义的名字. 调用函数的时候.才会产生这个名称空间,函数执行结束的时候,这个名称空间就消失(被释放)了. 使用规则 在局部:可以使用全局.内置命名空间中的名字 在全局:可以…
1,参数陷阱 如果默认参数的只是一个可变数据类型,那么每一次调用的时候,如果不传值就共用这个数据类型的资源. 2,三元运算 c=a if a>b else b#如果a>b返回a,否则,返回b 变量 =条件返回True的结果 if 条件 else 条件返回False的结果 必须要有结果 必须要有if和else 只能是简单的情况 def func(a,b):     a if a>b else b print(func(5,1)) 3,命名空间与作用域 3.1命名空间的种类     命名空间…