您的位置:首页 > 编程语言 > Python开发

python基础学习总结day01

2019-02-27 08:08 330 查看

pythonday01

  • 2.python初体验
  • 3.python基础讲解
  • 4.python数值基础知识
  • python学习第一天总结

    1.环境搭建

    a)anaconda环境配置

    anacodnda是什么?为什么要用anaconda?以及怎么安装?
    Anaconda 是一个可用于科学计算的 Python 发行版,支持 Linux、Mac、Windows系统,内置了常用的科学计算包。它解决了官方 Python 的两大痛点。

    1. 第一:提供了包管理功能,Windows 平台安装第三方包经常失败的场景得以解决。
    2. 第二:提供环境管理的功能,功能类似 Virtualenv,解决了多版本Python并存、切换的问题。

    anaconda安装过程 —我是按照百度的anaconda安装的。

    b)解释器

    一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。当你运行你的程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行程序。
    在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。事实上,由于你不再需要担心如何编译程序,如何确保连接转载正确的库等等,所有这一切使得使用Python更加简单。由于你只需要把你的Python程序拷贝到另外一台计算机上,它就可以工作了,这也使得你的Python程序更加易于移植。
    Python的解释器如今有多个语言实现,我们常用的是CPython(官方版本的C语言实现),其他还有Jython(可以运行在Java平台)、IronPython(可以运行在.NET和Mono平台)、PyPy(Python实现的,支持JIT即时编译)

    2.python初体验

    a)print and input

    password = raw_input("请输入密码:")
    print ('您刚刚输入的密码是:', password)

    1).

    1. raw_input()的小括号中放入的是,提示信息,用来在获取数据之前给用户的一个简单提示
    2. raw_input()会把用户输入的任何值都作为字符串来对待
    3. input()接受表达式输入,并把表达式的结果赋值给等号左边的变量
    a = input('please input name')
    print(a)

    报错:
    将zhangsan赋值给了a,若想输出zhangsan字符串用Python2时需加’zhangsan’
    2).python3中

    1. 没有raw_input()函数,只有input()
    2. 并且 python3中的input与python2中的raw_input()功能一样
    3. print(“I’m %(name)s. I’m %(age)d year old” % {‘name’:‘Vamei’, ‘age’:99})
    格式符号 转换
    %c 字符
    %s 通过str() 字符串转换来格式化
    %i 有符号十进制整数
    %d 有符号十进制整数
    %u 无符号十进制整数
    %o 八进制整数
    %x 十六进制整数(小写字母)
    %X 十六进制整数(大写字母)
    %e 索引符号(小写’e’)
    %E 索引符号(大写“E”)
    %f 浮点实数
    %g %f和%e 的简写
    %G %f和%E的简写

    3.python基础讲解

    a)python变量特性+命名规则

    变量 , 其实就是计算机内存中的一块储存空间 , 用来存储CPU需要使用的数据 ,而这个储存空间需要一个名字 , 这个名字的统称就叫变量 。
    问:怎样知道一个变量的类型呢?

    1. 在python中,只要定义了一个变量,而且它有数据,那么它的类型就已经确定了,不需要咱们开发者主动的去说明它的类型,系统会自动辨别
    2. 可以使用type(变量的名字),来查看变量的类型

    google的python的命名规范:

    命名样式 命名类型
    module_name 模块
    package_name
    ClassName
    method_name, 方法
    ExceptionName 异常
    function_name 函数
    GLOBAL_VAR_NAME 全局变量
    instance_var_name 实例
    function_parameter_name 参数
    local_var_name 本变量

    命名规则:
    小驼峰式命名法(lower camel case): 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog
    大驼峰式命名法(upper camel case): 每一个单字的首字母都采用大写字母,例如:FirstName、LastName
    不过在程序员中还有一种命名法比较流行,就是用下划线“_”来连接所有的单词,比如send_buf
    3. 类
    总是使用首字母大写单词串。如MyClass。内部类可以使用额外的前导下划线。
    4. 函数&方法
    小写+下划线
    注意:混合大小写仅被允许用于这种风格已经占据优势的时候,以便保持向后兼容。
    5. 函数和方法的参数
    如果一个函数的参数名称和保留的关键字冲突,通常使用一个后缀下划线
    6. 全局变量
    对于from M import *导入语句,如果想阻止导入模块内的全局变量可以使用旧有的规范,在全局变量上加一个前导的下划线。
    注意:应避免使用全局变量
    7. 变量
    小写,由下划线连接各个单词。如color = WHITE,this_is_a_variable = 1
    注意:
    1.不论是类成员变量还是全局变量,均不使用 m 或 g 前缀。
    2.私有类成员使用单一下划线前缀标识。
    3.变量名不应带有类型信息,因为Python是动态类型语言。如 iValue、names_list、dict_obj 等都是不好的命名。
    8. 常量
    常量名所有字母大写,由下划线连接各个单词如MAX_OVERFLOW,TOTAL。
    9. 异常
    以“Error”作为后缀。
    文件名
    全小写,可使用下划线
    10. 包
    应该是简短的、小写的名字。如果下划线可以改善可读性可以加入。如mypackage。
    11. 模块
    与包的规范同。如mymodule。
    12. 缩写
    命名应当尽量使用全拼写的单词,缩写的情况有如下两种:
    1.常用的缩写,如XML、ID等,在命名时也应只大写首字母,如XmlParser。
    2.命名中含有长单词,对某个单词进行缩写。这时应使用约定成俗的缩写方式。
    例如:
    function 缩写为 fn
    text 缩写为 txt
    object 缩写为 obj
    count 缩写为 cnt
    number 缩写为 num,等。
    13. 前导后缀下划线
    一个前导下划线:表示非公有。
    一个后缀下划线:避免关键字冲突。
    两个前导下划线:当命名一个类属性引起名称冲突时使用。
    两个前导和后缀下划线:“魔”(有特殊用图)对象或者属性,例如__init__或者__file__。绝对不要创造这样的名字,而只是使用它们。
    注意:关于下划线的使用存在一些争议。
    14. 特定命名方式
    主要是指 xxx 形式的系统保留字命名法。项目中也可以使用这种命名,它的意义在于这种形式的变量是只读的,这种形式的类成员函数尽量不要重载。如
    class Base(object):
    def init(self, id, parent = None):
    self.id = id
    self.parent = parent
    def message(self, msgid):
    其中 idparentmessage 都采用了系统保留字命名法。

    b)注释方法

    1.Python中的注释有单行注释和多行注释:

    1. #单行注释
    2. ‘’’
      单引号多行注释
      ‘’’
    3. “”"
      双引号多行注释
      “”"

    2.pycharm中同时注释多行代码快捷键:
    代码选中的条件下,同时按住 Ctrl+/,被选中行被注释,再次按下Ctrl+/,注释被取消

    c)python中的": "作用

    1)字典中的key,value。person={name:‘张三’}
    列表中list[start : end : step]start:起始位置,end:结束位置,step:步长。
    元组中tup2 = (1, 2, 3, 4, 5, 6, 7 )print "tup2[1:5]: ", tup2[1:5]
    2)python语法中没有括号限定子模块的范围,用冒号:表示子模块的开始。有缩紧tab表示语法块。(类,方法,if,esle,while,for等)

    d)学会使用dir()及和help()

    dir() 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。
    help()函数,相对于dir()函数,不光有属性,还多了属性介绍。
    4. 查看python所有的关键字:help(“keywords”)
    5. 查看python所有的modules:help(“modules”)
    6. 单看python所有的modules中包含指定字符串的modules: help(“modules yourstr”)
    7. 查看python中常见的topics: help(“topics”)
    8. 查看python标准库中的module:import os.path + help(“os.path”)
    9. 查看python内置的类型:help(“list”)
    10. 查看python类型的成员方法:help(“str.find”)
    11. 查看python内置函数:help(“open”)

    e)import

    1)可以使用import将一个源文件导入,并可以使用该模块的方法。可以单个模块导入,也可以同时导入多个模块,还可以导入模块的部分方法。

    1. import queryengine#导入一个模块
    2. import os,sys#导入多个模块(不推荐使用)
      import sys
      sys.path

    2)sys.path.append(’…/…/bole_untils’)#可以确保先搜索这个路径,一般是导入自己的工具包时常用。
    3)import queryengine as qe #添加别名,方便使用
    4)这种格式用于大型的模块,可以只导入需要的方法即可。from_future_import division

    f) pep8介绍

    pep8是python的编码规范。主要对代码编排,文档编排,空格使用、注释、文档描述、命名规范以及编码建议等。在写程序时如果都遵循这个规则,很大程度提升了代码的可阅读性。
    Python PEP8 编码规范中文版

    代码不符合PEP8规范的,在PyCharm中,不符合规范的代码下面会有波浪线提示。那么有没有办法快速格式化代码使之符合PEP8规范呢?
    在pycharm中用ctrl+alt+l对文件自动整理为pep8编码格式。

    4.python数值基础知识

    a)python中的数值类型,int,float,bool,e计数法等

    int是整型
    float是浮点型
    bool True Flase
    c = 10e2=1000.0(e计数法是浮点数)
    a = 10+6j = complex(10,6)

    b)算数运算符

    运算符 描述 实例
    & 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 (a & b) 输出结果 12 ,二进制解释: 0000 1100
    | 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1 (a | b) 输出结果 61 ,二进制解释: 0011 1101
    ^ 按位异或运算符:当两对应的二进位相异时,结果为1 (a ^ b) 输出结果 49 ,二进制解释: 0011 0001
    ~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1 (~a ) 输出结果 -61 ,二进制解释: 1100 0011,在一个有符号二进制数的补码形式。
    << 左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。 a << 2 输出结果 240 ,二进制解释: 1111 0000
    >> 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数 a >> 2 输出结果 15 ,二进制解释: 0000 1111

    c)逻辑运算符

    运算符 逻辑表达式 描述 实例
    and x and y 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 (a and b) 返回 20。
    or x or y 布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。 (a or b) 返回 10。
    not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not(a and b) 返回 False

    d)成员运算符

    运算符 介绍
    in 如果在指定的序列中找到值返回 True,否则返回 False。x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
    not in 如果在指定的序列中没有找到值返回 True,否则返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。
    if a in list:
    print('is here')

    e)身份运算符

    运算符 描述 示例
    is is 是判断两个标识符是不是引用自一个对象 x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
    is not is not 是判断两个标识符是不是引用自不同对象 x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。
    a = 20
    b = 20
    if a is b:
    print('yes')

    f)运算符优先级

    运算符 描述
    ** 指数 (最高优先级)
    ~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
    * / % // 乘,除,取模和取整除
    + - 加法减法
    >> << 右移,左移运算符
    & 位 ‘AND’
    ^| 位运算符
    <= < > >= 比较运算符
    <> == != 等于运算符
    = %= /= //= -= += *= **= 赋值运算符
    is is not 身份运算符
    in not in 成员运算符
    not and or 逻辑运算符
    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: