1、写完python程序的运行方式
(1)python2 *.py
(2)./*.py 如果不能执行,我们在首行需要声明解释器#!/usr/bin/env python
前面的路径可以用which python查看
2、让程序支持中文
#encoding=utf-8
3、注释
#单行注释
'''
多行注释
'''
4、标识符、关键字
驼峰法:userName,myName(小驼峰法:第一个字母小写)
UserName大驼峰法
区分大小写
5、输出print
格式化输出
print(“my score is %d”%score)
print(“my math score is %d,english score is %d”%(score,engscore))
python核心编程
import导入的模块路径是按sys.path的路径内的顺序来找。
如果自己写的模块,我们可以在sys.path内添加模块的地址用sys.path.append()命令。如果导入的路径在当前路径下,我们可以直接导入,不需要添加路径到sys.path。
在当前目录下创建一个*.py文件,然后在另一个文件中import导入,当你导入之后,修改了导入的那个文件,此时你使用的还是原先的文件,如果你想重新获取,第一种方法,你退出,再重新导入;第二种方法,reload(*.py)。reload在ipm里面,重新加载的功能。
循环导入
就是有几个模块互相导入,这便会出现问题,所以预防的方法就是再建一个主模块来导入这些子模块,以防止她们互相导入。
==,is
a=[11,22,33]
b=[11,22,33]
a == b true
a is b False
==判断内容is判断是否是同一个值
深拷贝,浅拷贝
浅拷贝
c = a
id(a)和id(b)相同,说明只是把地址拷贝了,这就是浅拷贝
深拷贝
import copy
c = copy.deepcopy(a)
此时id(a)与id(c)是不同的。
copy.copy()
使用copy.copy()时,他会根据当前拷贝的数据类型是可变类型还是不可变类型有不同的处理方式,只拷贝第一层:
比如
a=[11,22,33]
b=[44,55,66]
c=[a,b]
e=copy.copy(c)
d=(a,b)
f=copy.copy(d)
id(c)和id(e)不同,但是当改变a和b的值时,c和e都改变
id(c)和id(f)的值相同,因为集合是不可变的类型,改变a,b的值,c和f也都变
网友评论