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 '''

 

 
 





posted on 2017-09-27 02:28  doreimi  阅读(471)  评论(0编辑  收藏  举报

导航