zoukankan      html  css  js  c++  java
  • 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 '''
     
     





  • 相关阅读:
    BI之SSAS完整实战教程1 -- 开篇, BI简介 & SSAS简介
    MVC 5 + EF6 入门完整教程14 -- 动态生成面包屑导航
    MVC5+EF6 入门完整教程12--灵活控制Action权限
    JVM垃圾收集
    JVM类加载
    前端UI框架
    前端学习
    JVM字节码
    网络编程
    Java NIO
  • 原文地址:https://www.cnblogs.com/byron-li/p/7599786.html
Copyright © 2011-2022 走看看