Python 模块一考核
1. #!/usr/bin/python 和#!/usr/bin/env python 含义
大部分python文件的头部都会写上 #!/usr/bin/python 或者 #!/usr/bin/env ,这个语句主要和运行模式有关,
如果我们用普通运行模式例如(linux) : python *.py 那么这个语句在此运行模式下无效。如果想让python程序像普通程序一样运行,例如:./*.py (文件要有可执行权限chmod a+x *.py),这个语句就起作用了,他用来为脚本语言指定解释器,通常认为用 #!/usr/bin/env python 要比 #!/usr/bin/python 更好,因为 python 解释器有时并不安装在默认路径,例如在虚拟环境中。
解释:
#!/usr/bin/env python
这种写法在你机器上安装了多个版本的python的时候有意义,这样声明的时候,会去取你机器的 PATH 中指定的第一个 python 来执行你的脚本。如果这时候你又配置了虚拟环境的话,那么这样写可以保证脚本会使用你虚拟环境中的 python 来执行。
#!/usr/bin/python
表示写死了就是要 /usr/bin/python 这个目录下 python 来执行你的脚本。这样写程序的可移植性就差了,如果此路径下python命令不存在就会报错。
所以一般情况还是用第一种写法。
2. 1字节=8比特
3. 变量命名规范
- 变量名只能是 字母、数字或下划线的任意组合
- 变量名的第一个字符不能是数字
- 以下关键字不能声明为变量名
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
4. 全局变量与局部变量
5. 字典的key可以是什么类型
不可变数据都可以做为key,如数字、字符串、元组等
6.ascii unicode utf-8 gbk之间的关系
7.下列代码输出结果是 ”成长%是烦恼的”
1 s = "成长%%是烦%s的" 2 n = s %('恼') 3 print(n)
8.下列数据类型,是否可改,内部"k2"能改吗,可改的话如何添加一个字符串。深浅拷贝区别?
("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
a=("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
a[1][2]["k2"].append("string")
浅拷贝只拷贝第一层
9. break continue pass 区别
10.求差集 s.difference(t)
11.lambda 匿名函数
12.下列代码运行结果 None, 函数没有返回值,默认返回None.
1 def func(arg): 2 arg.append(55) 3 4 li = [11, 22, 33, 44] 5 li = func(li) 6 print(li)
13.使用while循环实现输出1 - 2 + 3 - 4 + 5 ... - 100 的和,答案-50
想出了三种方法:
1 #-------------------方法1:取模------------------------------- 2 3 s=0 4 i=1 5 while(i<101): 6 if(i%2==1): 7 s=s+i 8 else: 9 s=s-i 10 i=i+1 11 print(s) 12 13 #---------------------方法2:指数函数---------------------------- 14 15 s=0 16 i=1 17 while(i<101): 18 s=s+pow(-1,i+1)*i 19 i=i+1 20 print(s) 21 22 #----------------------方法3:变量变符号--------------------------- 23 s=0 24 i=1 25 j=1 26 while(i<101): 27 s=s+i*j 28 i=i+1 29 j=-j 30 print(s) 31 -
14.打印1-100既能被3整除又能被5整除的数
1 for i in range(1,101): 2 if(i%3==0 and i%5==0): 3 print(i) 4 5 ''' 6 答案: 7 15 8 30 9 45 10 60 11 75 12 90 13 '''