• day01_20170423_python-基础(一)


    一、Python介绍

          -为了能让程序员减少开发成本。

    二、Python和其他语言对比

         -c:机器码

         -其他高级语言:字节码-机器码

    三、Python的种类

          -Cpython:先给代码->c语言直接转成字节码->在转成机器码(一行一行执行)

          -pypy:拿到代码->c语言直接转成字节码-再转成机器码 全部转换完成->再去执行

          -其他Python:代码->转化成自己语言的字节码->机器码

    四、Python基础

          Python规则:学习一门语言,实际上就是学习他的规则。

    1.安装:Python解释器

    2.写程序(在D:python201720170423目录下新建1.txt,并写 print('hello world'),这样就写完了一个程序,把他交给Python解释器进行编译。如下cmd中执行语句)

          C:Userszhaichao.DS>D: oolspythonpython.exe D:python2017201704231.txt

              #a.打开文件,读取文件内容

              #b.读取之后,进行词法和语法分析,分析一下我们写的语法是不是人家的规则

              #c.转换成字节码,然后在转成机器码进行运行。

      还有一种形式就是,不写文件名,如:C:Userszhaichao.DS>D: oolspythonpython.exe cmd执行以下,给一行,就解释一行。

      这两种方式都是什么时候用呢?我们写的程序一般都是用第一种方式执行。而第二种更多的用于自己调试,一些功能性的代码,一次性调试。

    3.解释器两种执行方式

       Window:

               1)C:Userszhaichao.DS>D: oolspythonpython.exe D:python2017201704231.txt(文件解析)

               2)C:Userszhaichao.DS>D: oolspythonpython.exe(单行解析)

       Linux:

               1)C:Userszhaichao.DS>D: oolspythonpython.exe D:python2017201704231.txt(文件解析)

               2)C:Userszhaichao.DS>D: oolspythonpython.exe(单行解析)

               3)除了以上两种,还有个特殊的文件头部细信息:

                   #!/usr/bin/python  这个必须写在最顶部,/usr/bin/python这是Linux中解释器的路径

                   写完之后,给这个文件一个可执行的权限,chmod 755 1.py。执行 ./1.py ,他会自动根据头部解释器的路径找到解释器,执行代码。跟shell差不多。

    五、编码

         asicc-unicode-utf-8- gb2312-gbk

         -*- coding:utf-8 -*-

    六、pycharm

      使用:

          1、  new project

          2、  new 创建文件夹

          3、  new py文件

          4、  在py文件中右键,run xx.py

           注意:1、设置编码

                      2、设置模板

                      3、设置大小

           注意:使用pycharm的坑

    七.运算符

    算数运算

     

    比较运算

     

    注意执行顺序:当比较运算中有and和or,其执行顺序为:and与or没有优先级,含or的运算符,如果or前面的成立,后面的不管成不成立都不用看了。Or两个中只要有一个成立就好了。

    #1==1为true,但是后面为or,那么后面就不用看了
    if 1 ==1 or 1 > 2 and 1==4:
        print('正确')
    else:
        print('错误')

    如果是含and的运算符,and前面的如果是错误的,那后面的也不需要看了。但是如果and前面的是正确的,那么还得继续做比较。因为后面是true还是false会影响整个条件,只要and前面遇到false的条件,后面的就不用看了,整体为false。or前面遇到true的,后面的也不需要看了,整体为true。切记:没有优先级,一个一个往后看。

     赋值运算

     

    逻辑运算

     

    注意:如果是你自己定义的条件,含and或者or的,你可以通过加上括号来决定条件判定的优先级。

    成员运算

     

    In在什么时候用呢?

    Content =”Alex 是个好人”

    If  “好人” in content:

             Print(‘包含敏感字符’)

    Else:

             Print(content)

    In多用在判断某个元素是否包含在其他元素中。与其相反的为not in

    八、数据类型

    -整数(包括了长整型,已经没有长整型了)

       -创建一个数字

    a=123

    a=int(123)

    -转换

    age=”19”

    new_age=int(age)

    怎么验证我输入的变量是什么类型呢?

    如:

       a=123

       print(type(a))

    -布尔值

     -创建

       True

       False

     -转换

       bool()表示把某个值转换成布尔类型

       例: v = bool(-5)

            print(v)

    在数字里面,转换成布尔类型的时候,数字转换的时候只有0是false,其他的都是 true

    字符串可以转成布尔类型的么?

    对于字符串,只有””是false,其他是true

    -字符串

     -创建字符串

      A=”alex”

      A=str(‘alex’)

     -转换

      Age=19

      New_age = str(age)

    -字符串的拼接

    第一种拼接:

    name='alex'

    gender = '女'

    new_str = name + gender

    print(new_str)

    第二种拼接:

    S%表示占位符,临时占位,方便以后修改,字符串格式化

     name='我叫李杰,性别:%s, 我今年%s岁'

    new_str = name %('男',19)

    print(new_str)

    占位符是有严格的顺序的。%s的s代表的是字符串;后面的年龄%s也可以写成%d,d代表的是数字

    占位符还可以这样写:

    name='我叫李杰,性别:%s, 我今年%s岁'  %('男',19)

    print(name)

    为什么非要做类型转换呢?因为只有是同一种类型的时候,比较起来才有意义。

     字符串的其他功能:

       移除空白:

    注意:val = “ alex ”

          表示换行符。Strip也可以移除换行

    分割字符串

    长度:

    注意:在Python3里面汉字和字母在一起,求长度都按字符算

    例:

    Val=”李杰sb”

    V= len(val)

    Print(v)

    结果为4

    索引:

    Val = “李杰sb”

    V= val[4]

    Print(v)

    索引的位置从0开始

    切片:

    ---列表

    创建:

                        a = ['alex','狗','eric',123]

                        a = list(['alex','狗','eric',123])

                       

                     in判断:

                    

                        if 'al' in a:

                            pass

                           

                        if 'al' in a[0]:

                            pass

           

                     索引:

                        val = a[0]

                       

                     长度:

                        val = len(a)

                       

                     切片:

                        a = ['alex','狗','eric',123]

                        v = a[0::2]

                        print(v)

                    

                     追加:

                        a = ['alex','狗','eric',123]

                        a.append('xxoo')

                        print(a)

                     插入:

                        a = ['alex','狗','eric',123]

                        a.insert(0,'牛')

                        print(a)

                     删除:

                        a = ['alex','eric','狗','eric',123]

                        # a.remove('eric')

                        del a[0]

                        print(a)

                       

                    更新:

                        a = ['alex','eric','狗','eric',123]

                        a[1] = '阿斯顿发送到'

                        print(a)

                               

                    For循环:

                        a = ['alex','eric','狗','eric',123]

                        for item in a:

                            print(item)

                            # break

                            # continue

    字典操作:

    创建字典:

    V= {

             ‘name’:’alex’,

        ‘password’:’123123’

    }

    注意:字典是无序的

    #常用操作

    如果v是一个用户信息,我是不是可以获取当前用户的用户名

    n=v[‘name’]  根据key获取value

    print(n)

    #如果没有age,就是增加;如果有,就是修改

    v[‘age’]=19

    print(v)

    #删除

    del v[‘name’]

    print(v)

    字典是否可以进行for循环

        # 循环

                    # for item in v.keys():

                    #     print(item)

                    # for item in v.values():

                    #     print(item)

                    # for key,val in v.items():

                    #     print(key,val)

           

            

                    print(len(user_dict))

    嵌套:字典和列表之间相互嵌套

    列表里面可以嵌套列表,可以无限嵌套

  • 相关阅读:
    压测基础
    性能压测终极武器之arthas
    python 返回当前文件夹下的所有文件的绝对路径;打印文件中的中文字符
    python 虚拟环境及项目快速迁移
    python3 解决bytes转str时抛“UnicodeDecodeError”异常
    mac系统环境变量
    kafka生产消费消息
    mac pycharm打不开问题
    jmeter获取毫秒时间戳
    两种方式 获取数据库某个表中所有的数据数量条数
  • 原文地址:https://www.cnblogs.com/zhaic/p/6802452.html
Copyright © 2020-2023  润新知