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

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

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

  • 相关阅读:
    Nginx 部署多个 web 项目(虚拟主机)
    Nginx 配置文件
    Linux 安装 nginx
    Linux 安装 tomcat
    Linux 安装 Mysql 5.7.23
    Linux 安装 jdk8
    Linux 安装 lrzsz,使用 rz、sz 上传下载文件
    springMVC 拦截器
    spring 事务
    基于Aspectj 注解实现 spring AOP
  • 原文地址:https://www.cnblogs.com/zhaic/p/6802452.html
Copyright © 2011-2022 走看看