ZBlog

1566883029034

Python快速入门

Python简介

  • Python是著名的“龟叔”Guido van Rossum(吉多·范罗苏姆)在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言;1991年初,Python发布了第一个公开发行版。Python是用C编写的高级的、面向对象的、开放源代码的编程语言。
  • 龟叔给Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。
  • 现在Python是由一个核心开发团队在维护,Guido van Rossum 仍然占据着至关重要的作用,指导其进展。
  • Python的学习成本低,上手快,而且学习后的用处很多,也可以利用Python写出非常复杂的程序,以及复杂的算法等
  • Python是一门解释性编程语言,在实际开发中,如果是开发小型工具等可以优先使用Python,开发效率会明显优于Java等编译性语言
  • Python也可以开发web网站、http接口等

Python安装

  • 现在Python常用的版本是2.x以及3.x。Linux中会自带Python大部分默认安装的是2.x的版本。

  • 在官方网站下载需要的版本 https://www.python.org

  • 在Linux系统中Python的默认安装目录是:/user/bin/python

  • 下载安装完成以后需要进行环境变量配置就如同配置JDK一样

  • 安装完毕以后再命令行下执行Python命令查看

  • 我使用的是windows操作系统

    • 1566883609834
  • 可以直接在命令行里面输入代码进行操作

    • 1
      2
      3
      print("Hello,World")
      结果是:
      Hello,World
    • 想退出Python命令行可以输入指令exit()或者quit()

  • 我们使用idea作为Python的IDE,需要自行下载Python插件就可以,直接在idea里面搜索下载就可以,在这里就不演示了。

Python常用操作

  • Python的一些基础语法

    • 没有大括号,直接使用缩进来代表逻辑的层次
    • 单行注释 以#开头
    • 多行注释使用三个单引号或者双引号都可以 ‘’‘ 注释 ’‘’ “”“ 注释 ”“”
    • 注意:如果注释里面要写中文的话需要指定coding=utf8 否在在别人的IDE中会出现注释乱码的现象
    • Python是大小写敏感的
  • 基本数据类型

    • 与其他语言基本相似
    • 整数、浮点数、字符串、布尔值
    • 空值:none
    • 转义符
      • \n 换行符
      • \t 制表符
      • r 表示禁止字符转义,即转义字符会被当作为普通字符解析
    • type(arg) 获取arg的数据类型
    • isinstance(arg,type) 判断arg是否是type这个类型的 例如 isinstance(1.22,int)
    • 注意:bool类型的数据底层存储的是0,1如果是布尔值判断是否为int类型的返回值为true
  • 字符串常用操作

    • 1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      # coding=utf8
      """
      string字符串测试
      """
      str1 = " Hello World "
      # 所有字母转换为小写
      print (str.lower(str1))
      # 所有字母转换为大写
      print (str.upper(str1))
      str1 = " \tHello World "
      # 删除字符串开头结尾的空格 默认会删除空白符('\n','\t','\r')
      print (str1.strip())
      # 只删除开头结尾的空格
      print (str1.strip(" "))
      str1 = " Hello World "
      # 分割字符串 查看分割结果的数据类型
      split = str1.split(" ")
      print (split)
      print (type(split))
      # 使用指定字符对数据进行拼接
      arr = ["1","2","3","4","5"]
      joinstr = "_".join(arr)
      print (joinstr)
      # 使用+可以直接拼接两个字符串
      str2 = str1 + "hhhhh"
      print (str2)
      # str3 = str2 + 1 是错误的 不支持字符串直接+上int类型值拼接
      str3 = "hello %d"%(3)
      print (str3)

      E:\python2.7\python.exe E:/ideapython/PythonDemo/StrTest.py
      hello world
      HELLO WORLD
      Hello World
      Hello World
      ['', 'Hello', 'World', '']
      <type 'list'>
      1_2_3_4_5
      Hello World hhhhh
      hello 3

      Process finished with exit code 0
  • List常用操作

    • list是一种有序集合,可以添加和删除其中的元素

    • 1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      # coding=utf8
      """
      List测试
      """
      # 创建一个list
      list1 = [1, 2, 3, 2, 4, 5, 6]
      # 向末尾插入一个数据
      list1.append(10)
      print (list1)
      # 向指定索引位置添加数据
      list1.insert(0, 10)
      print (list1)
      # 删除元素 不加索引位置参数默认删除list列表最后一个
      list1.pop()
      print (list1)
      list1.pop(0)
      print (list1)
      # 删除第一次出现的 2 只会删除一个
      list1.remove(2)
      print (list1)
      # 替换某个位置的元素
      list1[0] = 100
      print (list1)
      # 计算某个元素出现的次数
      count = list1.count(3)
      print (count)
      # 将list列表中的数据倒置
      print (list1)
      list1.reverse()
      print (list1)
      # tuple和list类似 但是tuple初始化以后将不能够在进行修改
      tuple1 = tuple(list1)
      print (tuple1)
      # 计算tuple内某个元素出现的次数
      tcount = tuple1.count(100)
      print (tcount)

      E:\python2.7\python.exe E:/ideapython/PythonDemo/ListTest.py
      [1, 2, 3, 2, 4, 5, 6, 10]
      [10, 1, 2, 3, 2, 4, 5, 6, 10]
      [10, 1, 2, 3, 2, 4, 5, 6]
      [1, 2, 3, 2, 4, 5, 6]
      [1, 3, 2, 4, 5, 6]
      [100, 3, 2, 4, 5, 6]
      1
      [100, 3, 2, 4, 5, 6]
      [6, 5, 4, 2, 3, 100]
      (6, 5, 4, 2, 3, 100)
      1

      Process finished with exit code 0
  • Dict常用操作

    • 1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      53
      54
      55
      56
      57
      58
      # coding=utf8
      """
      Dict测试
      """
      # 创建一个Dict并赋值 Dict相当于是Java中的map
      dict1 = {'Michael': 95, 'Bob': 75, 'Tracy': 100}
      print (dict1)
      # 修改指定key的value
      dict1['Bob'] = 60
      print (dict1)
      # 取出指定key的value 使用此方法如果可以不存在程序就会报错
      data = dict1['Bob']
      print (data)
      # 使用 dice.get()如果key不存在将会返回none值
      data2 = dict1.get('bob')
      print (data2)
      # 删除指定key的键值对 如果指定key不存在就会报错
      dict1.pop('Bob')
      print (dict1)
      # 删除第一个键值对并返回删除的元素
      data3 = dict1.popitem()
      print (data3)
      print (dict1)
      # 清理所有元素
      dict1.clear()
      print (dict1)

      d = {'Michael': 95, 'Bob': 75, 'Tracy': 'hello'}
      print (d)
      # 判断对列中是否存在指定的key
      res = d.has_key('bob')
      print (res)
      # 返回一个list,list中的元素是tuple类型的
      res2 = d.items()
      print (res2)
      # 返回一个包含所有key的list
      res3 = d.keys()
      print (res3)
      # 返回一个包含所有value的list
      res4 = d.values()
      print (res4)

      E:\python2.7\python.exe E:/ideapython/PythonDemo/DictTest.py
      {'Bob': 75, 'Michael': 95, 'Tracy': 100}
      {'Bob': 60, 'Michael': 95, 'Tracy': 100}
      60
      None
      {'Michael': 95, 'Tracy': 100}
      ('Michael', 95)
      {'Tracy': 100}
      {}
      {'Bob': 75, 'Michael': 95, 'Tracy': 'hello'}
      False
      [('Bob', 75), ('Michael', 95), ('Tracy', 'hello')]
      ['Bob', 'Michael', 'Tracy']
      [75, 95, 'hello']

      Process finished with exit code 0
  • Set常用操作

    • 1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      # coding=utf8
      """
      Set测试
      """
      # 新建一个set set会自动删除重复的元素
      set1 = set([1, 2, 3, 4, 1])
      print (set1)
      # 向set中添加元素
      set1.add(5)
      print (set1)
      # set不能直接删除元素 需要将set转换为list修改以后再转为set
      l = list(set1)
      l[1] = 100
      set2 = set(l)
      print (set2)
      # 删除元素
      set1.remove(5)
      print (set1)
      # 清空元素
      set1.clear()
      print (set1)

      E:\python2.7\python.exe E:/ideapython/PythonDemo/SetTest.py
      set([1, 2, 3, 4])
      set([1, 2, 3, 4, 5])
      set([1, 3, 100, 5, 4])
      set([1, 2, 3, 4])
      set([])

      Process finished with exit code 0
  • 循环语句

    • 1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      # coding=utf8
      """
      循环的测试
      """
      # for循环
      l = ['ok', 'yes', 'no']
      for i in l:
      print(i)
      d = {'Michael': 95, 'Bob': 75, 'Tracy': 'hello'}
      for k,v in d.items():
      print (k,v)

      # while 循环
      sum = 0
      n = 10
      while n>0 :
      sum+=n
      n-=1
      print (sum)

      E:\python2.7\python.exe E:/ideapython/PythonDemo/XunHuanTest.py
      ok
      yes
      no
      ('Bob', 75)
      ('Michael', 95)
      ('Tracy', 'hello')
      55

      Process finished with exit code 0
  • 判断语句

    • 1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      # coding=utf8
      """
      判断测试
      """
      age = 20

      if age > 18 :
      print ("已经成年了")

      if age >= 18 :
      print ("已经成年了")
      else:
      print ("还未成年")


      if age < 18 :
      print ("还未成年")
      elif age < 40 :
      print ("还年轻")
      else:
      print ("老了")

      E:\python2.7\python.exe E:/ideapython/PythonDemo/IfElseTest.py
      已经成年了
      已经成年了
      还年轻

      Process finished with exit code 0
  • 函数

    • 1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      # coding=utf8
      """
      函数的使用
      """
      '''
      1:使用def定义函数
      2:指定函数名称
      3:指定函数参数(如果有的情况下)
      4:指定函数体的执行逻辑
      5:return返回值(如果需要返回的情况)
      '''
      # 一般函数
      def fun(x):
      x += 1
      return x
      res = fun(1)
      print (res)
      # 空函数
      def fun2 ():
      pass
      # 多返回值函数
      def funs(y):
      return y, y+1
      # 含有默认参数值的参数,如果不传入参数的话就会按默认值
      # 后面不可以跟不带默认参数值的参数
      def defalut(x=1):
      return x
      # 在参数前面加*表示该参数为可变参数,他需要放在最后一个
      def fun5(y,*x):
      return x,y
      res2 = fun5(1,2,3,4,5)
      print (res2)

      E:\python2.7\python.exe E:/ideapython/PythonDemo/DefTest.py
      2
      ((2, 3, 4, 5), 1)

      Process finished with exit code 0
  • 异常处理

    • 1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      # coding=utf8
      """
      异常处理
      """
      def fun():
      try:
      print ("打开链接")
      print ("业务代码1")
      print ("业务代码2")
      print ("提交任务")
      except Exception as e:
      print ("exception %s"%e)
      finally:
      print ("关闭链接")
      # Python脚本执行的入口 相当于Java中的main函数
      if __name__ == "__main__":
      fun()

      E:\python2.7\python.exe E:/ideapython/PythonDemo/ExceptionTest.py
      打开链接
      业务代码1
      业务代码2
      提交任务
      关闭链接

      Process finished with exit code 0
  • 切片【List、tuple】

    • 1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      # coding=utf8


      """
      切片功能
      """

      def func():
      li = [1, 2, 3, 4, 5, 6]
      # 指定索引左闭右开
      print(li[2:5])
      # 不指定索引 切开所有数据
      print(li[::])

      if __name__ == "__main__":
      func()

      E:\python2.7\python.exe E:/ideapython/PythonDemo/QiePian.py
      [3, 4, 5]
      [1, 2, 3, 4, 5, 6]

      Process finished with exit code 0
  • 迭代【List、tuple、dict、set】

    • 即for循环迭代取值代码参考循环中的for循环
  • 面向对象

    • 创建类

    • 1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      # coding=utf8
      '''
      创建一个Person的实体类
      '''
      class Person:
      # 定义一个name属性
      name = ''

      def __init__(self,_name):
      """
      构造函数
      :param _name:
      """
      self.name = _name
      def hello(self):
      print ("hello %s"%self.name)

      if __name__ == "__main__":
      # 实例化 不需要new
      p = Person("zs")
      p.hello()

      E:\python2.7\python.exe E:/ideapython/PythonDemo/Person.py
      hello zs

      Process finished with exit code 0
  • Python模块

    • Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。模块让你能够有逻辑地组织你的 Python 代码段,把相关的代码分配到一个模块里能让你的代码更好用,更易懂,模块能定义函数,类和变量,模块里也能包含可执行的代码。
    • Python本身就内置了很多很好用的模块,只要正常安装,这些模块就可以正常使用
    • 在Python中有很多第三方的模块,通过管理工具pip使用
    • 一般来说,第三方库都会在Python官方的pypi.python.org网站注册,要安装一个第三方库需要知道库的名称,就可以在官网搜索。类似于Java中的maven
    • 本地模块的引用
      • 引用其他包里的类
      • 首先被引用的包里必须有init.py文件
      • 然后使用指令 import 包地址 as 别名
      • 也可以使用 from 包地址 import 需要使用的方法
      • 注意:当一个文件被引用的时候会进行一次编译,生成一个.pyc的文件,主要是为了加快程序的运行速度
  • 编译以及反编译

    • Python程序,是把原始程序代码放在.py文件里,而Python会在执行.py文件的时候将.py形式的程序编译成中间式文件(byte-compiled)的.pyc文件,这么做的目的就是为了加快下次执行文件的速度。
    • 所以,在我们运行python文件的时候,就会自动首先查看是否具有.pyc文件,如果有的话,而且.py文件的修改时间和.pyc的修改时间一样,就会读取.pyc文件,否则,Python就会读原来的.py文件。
    • 其实并不是所有的.py文件在与运行的时候都会产生.pyc文件,只有在import xxx.py文件的时候,才会生成相应的xxx.pyc文件

博客内容遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议

本站使用 Blog Zhao 作为主题 , 总访问量为 次 。
载入天数...载入时分秒...