基础
- 元组:
tup1 = (‘zz’,)
元组中只包含一个元素时,需要在元素后面添加逗号 - 任意无符号的对象,以逗号隔开,默认为元组
- 键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行
- 在 python 中,类型属于对象,变量是没有类型的:
a=[1,2,3]
a=”Runoob”
以上代码中,[1,2,3] 是 List 类型,”Runoob” 是 String 类型,而变量 a 是没有类型,她仅仅是一个对象的引用(一个指针),可以是 List 类型对象,也可以指向 String 类型对象。
在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象 传递的始终是对象 不是引用
python 函数的参数传递:
不可变类型:类似 c++ 的值传递,如 整数、字符串、元组。如fun(a),传递的只是a的值,没有影响a对象本身。比如在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。
可变类型:类似 c++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响
python 中一切都是对象,严格意义我们不能说值传递还是引用传递,我们应该说传不可变对象和传可变对象。
可在函数内用global修饰声明全局变量
类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称, 按照惯例它的名称是 self。从执行结果可以很明显的看出,self 代表的是类的实例,代表当前对象的地址,而 self.class 则指向类。
异常
io.UnsupportedOperation
fo =open('fo.text','w')
fo.write("www.runoob.com")
str2=fo.read(5)
print(str)
一、用open打开一个文件,此时调用的是w写入模式,下面使用read是没有权限的,得使用w+读写模式
二、使用write写入字符时,但是此时并没有真正的写入,而是还存在与内存中。此时执行read读取的为空字符。需要执行a.close()以后,再使用a=open(“D://2.txt”)
a.read()才能够读取到数据。