首页 > 代码库 > python基础笔记
python基础笔记
路径和文件名不要有中文
#!/usr/bin/env python
#-*- coding:utf-8 -*- 2.7需要加此行。3.5不用
版本区别:
python3.5 print(‘hello,world‘) 默认utf-8 input("请输入名字") utf-8转换gbk: decode(‘‘utf8‘‘)先解码成unicode,然后encode("gbk")
python2.7 print ‘hello,world‘ 默认ascii raw_input("请输入名字:") utf-8转换gbk:
单行注释:# ; 多行注释:‘‘‘ 很多行 ‘‘‘
.pyc文件:python在执行过程中:python-->字节码-->机器码-->计算机,这个.pyc就是字节码文件,如果把py删掉,pyc也可用
python中的赋值是赋值内存中的地址,a=6;b=a;如果a=7,b仍然是6,因为另外出了个空间装7给a了
continue:跳出当前循环,继续下次循环
break:跳出所有循环
查看对象有哪些方法:
方法1:print(type(temp)),先找到类,然后按住ctrl并在类上面单击
方法2:help(type(temp)) 或dir(temp)
python2.7有的时候不显示文字,而是现实十六进制,这时候需要编码,b=a.decode(‘‘utf8‘‘) ;c=b.encode(‘gbk‘)或者x=str(y,encoding=‘utf-8‘)
修改自身与创建副本:
一般情况下,字符串的方法多数都是创建副本,list,tuple,dic多数都是修改自身
元组的元素虽然不能变,但tu=(1,2,[‘a‘,‘b‘])中的数组是可以变的,其实并不是元组的元素不可以变,只是说元组没有相关的方法。
三元运算:name = 值1 if 条件 else 值2 //如果条件成立,name=值1,如果条件不成立,name=值2
深浅拷贝
一、数字和字符串
对于 数字 和 字符串 而言,赋值、浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址。
import copy # ######### 数字、字符串 ######### n1 = 123 # n1 = "i am alex age 10" print(id(n1)) # ## 赋值 ## n2 = n1 print(id(n2)) # ## 浅拷贝 ## n2 = copy.copy(n1) print(id(n2)) # ## 深拷贝 ## n3 = copy.deepcopy(n1) print(id(n3))
二、其他基本数据类型
1、赋值,只是创建一个变量,该变量指向原来内存地址,如:
n1 = {"k1": "wu", "k2": 123, "k3": ["alex", 456]} n2 = n1
2、浅拷贝
浅拷贝,在内存中只额外创建第一层数据
import copy n1 = {"k1": "wu", "k2": 123, "k3": ["alex", 456]} n3 = copy.copy(n1)
3、深拷贝
深拷贝,在内存中将所有的数据重新创建一份(除了最后一层,即:python内部对字符串和数字的优化)
import copy n1 = {"k1": "wu", "k2": 123, "k3": ["alex", 456]} n4 = copy.deepcopy(n1)
python基础笔记