美文网首页
chapter01-1-python需要知道的基础

chapter01-1-python需要知道的基础

作者: Yin小贱 | 来源:发表于2018-03-17 19:52 被阅读0次

    仅学习用,引用自《零基础学Python》张志强、赵越等编著

    文件类型

    • 源文件:就是写的代码原始文件,可以使用任何字母作后缀,如.pp,.ab但一般用.py
    • 字节代码文件:对源文件进行编译后的文件,以.pyc作后缀,无法使用文本编辑器打开或修改,pyc文件是与平台无关,因此可在windows,linux,Unix下运行
    • 优化代码文件:对源文件进行优化后就是优化代码文件,以.pyo作后缀,也无法使用文本编辑器打开或修改,需要使用命令行工具生成
      • 优化命令:python -O -m py_compile hello.py

    编码规范

    • 命名规则
      1. 变量,包,模块通常小写,可使用下划线,如filename,file_name
      2. 类,对象,类名首字母大写,对象名采用小写,类的属性和方法名以对象作为前缀,类的私有变量、私有方法以两个下划线作为前缀,哪__name = "Jack";
        3.函数名,通常小写,并用下划线或首字母大写增加名称可读性
    class Person:   #类名
        __name = ""   #私有变量
        def __init__(self,name):         
            self.__name=name  #self相当于java中的this,指当前类
        def getName(self):  #方法名首字母小写,其后每个单词首字母大写
            return self.__name
    
    if __name__=="__main__":
        person=Person("jack")  #对象名小写
        print(person.getName())
    
    • 代码缩进与冒号
      • 缩进指在每行代码前输入空格或制表符,表示每行代码的层次关系,基于其他语言如java,c++等,代码缩进只是作为一种良好习惯,对于python,代码缩进是一种语法,作为一个代码块,以冒号开始,之后的相同缩进为一个代码块
    if x==1:
      print 'x>0'
    if x==-1:
      print 'x<0'
    
    • 模块导入规范
      • 模块定义:模块是类和函数的集合,用于处理一类总是,模块的导入和java中包的导入概念相似
        1.import 语句
    import sys
    print (sys.path)
    print (sys.argv)
    
    1. from...import...语句
      与import语句不同,from...import...语句只导入模块中的一部分内容,并在当前的命名空间创建导入对象的引用;而import语句在当前程序的命名空间中创建导入模块的引用,从而可以使用"sys.path"的方式调用sys模块中的内容
    from sys import path
    from sys import argv
    
    print (path)
    print (argv)
    
    • 正确的注释
      • python 的单行注释和多行注释都使用“#”符号
    # this is comment
    # this is annother comment
    ########################
    
    name="javck"
    print (name)
    
    • python中有一些特殊的注释,如中文注释,程序的跨平台
    # -*- coding: UTF-8 -*-
    
    • 使用空行分隔代码
      • 函数之间、类的方法之间用空行分隔增加代码可读性
    • 语句的分隔
      • 分号是C,java语言中标识语句结束的标志,python也支持分号,同样可使用分号作为结束标识,但在python分号不是那么重要,可省略,主要通过换行来识别语句的结束,以下语句是等价的:
    print ("hello python")
    print ("hello python");
    

    变量和常量

    • 定义:变量是计算机内存中的一块区域,可以存储任何值且可以改变。常量是一块只读的内存区域,一旦初始化就不能修改
    • 命名:由字母、数字、下划线组成,第一个字母只能是字母或下划线
    #正确的变量命名
    var=1
    _var=1
    var_=1
    var1=1
    #错误的变量命名
    1var=1
    $var=1
    
    • 赋值
      • python中的变量不需要声明,变量的赋值操作即是变量的声明和定义的过程。每个变量在内存中创建,都包括变量的标识、名称、和数据这些信息。
    #一次新的赋值操作,将创建一个新的变量
    #以下两次打印的同一个变量的id不一样
    x = 1
    print (id(x))
    x = 2
    print (id(x))
    print (y)   #如果没有赋值,则python认为不存在,未定义
    
    • 局部变量
      • 定义:只能在函数或代码段内使用的变量,函数或代码段结束,变量的生命周期就结束
    def fun():
      local =1   #局部变量local
      print (local)
    fun()
    
    • 全局变量
      • 定义:能够被不同的函数,类或文件共享的变量,在函数之外定义的变量都可以称为全局变量
    #在文件开头定义全局变量
    a=1
    b=2
    def add():
      global a #global关键字引用全局变量
      a = 3
      return "a + b",a+b
    def sub():
      global b
      b=4
      return "a - b" ,a-b
    
    print (add())
    print (sub())
    
    • 常量
      • 定义:一但初始化就不能改变的变量,如数字3,字符串“abc“都是常量,python没有提供定义常量的关键字,可以自己定义一个常量类来实现常量功能
    #const.py
    class _const:    #定义常量类const
        class ConstError(TypeError): pass  #继承处TypeError
        def __setattr__(self,name,value):
            if self.__dict__.has_key(name):  #如果__dict__中不包含对应的key则抛出错误
                raise self.ConstError, "Can't rebind const(%s)"%name
            self.__dict__[name]=value
    
    import sys
    sys.modules[__name__]=_const()   #将const注册进sys.modules的全局dict中
    
    import const
    Person.magic=23
    Person.magic=33   #抛出异常const.ConstError: Can't rebind const(magic)
    
    • 数字
      • python3数字类型分为:整型、浮点型、布尔型、分数类型、复数类型
      • python变量无需声明变量类型
    a =1
    b= 0.1
    c= 2+3j
    print(type(c))
    
    • 字符串
      • python3中表示字符串--单引号、双引号、三引号,单引号和双引号的作用一样,三引号的用法是python特别语法,三引号中可以输入单引号,双引号或换行等字符
    str = 'hello world'
    str2 = "hello world"
    str3 = '''hello world'''
    str3 = ''' "hello world ,I'm Chinese" '''
    

    运算符与表达式

    • 算术运算符和表达式
    运算符 描述
    + 加法
    - 减法
    * 乘法
    / 除法
    % 求模
    ** 求幂
    • 关系运算符和表达式
    运算符 描述
    > 大于
    < 小于
    >= 大于等于
    <= 小于等于
    == 等于
    != 不等于
    • 逻辑运算符和表达式
    运算符 描述 表达式
    and 逻辑与 x and y 当x为True时才计算y
    or 逻辑或 x and y 当x为False时才计算y
    not 逻辑非 not x

    相关文章

      网友评论

          本文标题:chapter01-1-python需要知道的基础

          本文链接:https://www.haomeiwen.com/subject/gqmjqftx.html