Python 基础(1)

论坛 期权论坛 期权     
今晚不下雨   2019-6-30 19:03   3101   0
零、Python简介
人生苦短,我用Python。
Python的创始人为荷兰人吉多·范罗苏姆(Guido van Rossum)。诞生于20世纪90年代,一门弱类型、解释型语言。常用于科学计算、数据处理,网站建设,运维等。之前给人的印象是一门脚本语言,但他不仅仅如此,他是一门强大,成熟的编程语言,近年来愈加火爆,其快速开发的特性,特受中小型公司的青睐。设计思想: 万物皆对象。
一、Python 基础语法
    1、变量名规则
    • 第一个字符必须是字母表中字母或下划线 _ 。
    • 标识符的其他的部分由字母、数字和下划线组成。
    • 标识符对大小写敏感。
                
    2、通过缩进来严格控制代码之间的从属关系。(编码规范可见PEP8)
    3、不需要提前声明变量类型
    4、使用“#” 井号 来注释代码。
    5、python保留字
           保留字即Python自己预设的一些标志,当出现这些字符时,会触发特定的功能。当然变量名依旧可以命名为这些名字,来达到覆盖的目的,但是没有人会这样做,会增加维护人员的阅读混乱。
  1. >>> import keyword
复制代码
  1. >>> keyword.kwlist
复制代码
  1. ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
复制代码
        
二、python中的基础数据类型
  • 1、Number(数字) 分为 int(整数) 和 float(小数、即浮点类型)
  • 2、String(即字符串)
  • 3、List(列表)(有序,可变类型,能出现相同的元素)
        将多个对象存储在一起,每一个元素可以是任何类型的值。他有长度但不需要提前声明列表的长短,每一个元素都有自己的下标,index(索引)。属于可变类型。
    1. list_a = ['元素0','元素1','元素2']
    复制代码
    1. [/code][*]4、Tuple(元组)(有序,不可变类型)
    2. [*][list][/list][code]tuple_a = ('元素0','元素1','元素2')
    复制代码
  • 5、Set(集合)(不可变类型,不能有相同的元素出现,没有顺序,即没有下标index)
      1. set_a = {'元素0','元素1','元素2'}
      复制代码
    • 6、Dictionary(字典)
    • 字典是没有顺序得,通过key (键),value(值),将一些对象放置在一起
        1. dict_a = {"key_1":"value_2","key_2":"value_2"}
        复制代码
              通过观察我们可以发现 list,set,tuple 其实是很相似的,区别在与是否是可变类型(声明后能否修改,不可变即不能修改),是否是有序的(有无下标index)。
              通过list 和set 我们可以快速的实现去重。
      1. number_list = [1,1,1,1,2,2,2,3,4,5,5,5]
      复制代码
      1. single_number_list = list(set(number_list))
      复制代码
      1. ####
      复制代码
      1. # [1, 2, 3, 4, 5]
      复制代码
             在平时工作中用的比较多的是列表list,字典dict。列表可以将代码中上文出现的同类型对象放在一起供下文使用,字典可以帮我们实现各种各样的映射关系。
      三、面向对象编程思想
              面向对象编程(OOP,Object Oriented Programming)。面向对象是一种思想。也不是一种什么神秘的玩意。按照我的理解是将不同的功能点实现在不同的地方,然后需要用到这个功能点,我们直接调用就好了。
              面向对象:函数,类。特性:继承,封装,多态。
              举个栗子。
              现在我们想要修一座房子。首先我们得有工具,比如锤子,锯子,砖刀,铲子等。我们假设这些东西现在市场上时买不到的,我们得自己去做出这些工具。我们可以写一个函数为我们提供锤子,一个函数提供锯子。当我们需要用到锤子时,就调用一次这个函数,它就给我们返回一个锤子(封装)。当我们需要2把就调用两次就好了。同时我们还可以将这些锤子函数,锯子函数,铲子函数放在一起,成为一个仓库,他们就成为一个。当我们下次想修路时,我们可以实现一个修路工具类,它不仅会用到锤子,锯子,铲子,还会用到挖掘机,轧路机等,这时我们就可以(继承)刚刚修房子的工具类,再实现挖掘机,轧路机函数就好了。你会发现修路的锤子和修房子的锤子规格可能不一样,那我们可以在 修路类中重新写一个和锤子函数同名的函数,来给我们返回一个更大的锤子。我们在修路时还是调用这个名字相同的锤子函数,他就会给我们一把大锤子,这就是多态了。
              当这样的编程实现可以大大的减少了代码量,代码思路更加清晰。

      分享到 :
      0 人收藏
      您需要登录后才可以回帖 登录 | 立即注册

      本版积分规则

      积分:5
      帖子:1
      精华:0
      期权论坛 期权论坛
      发布
      内容

      下载期权论坛手机APP