Python3学习(1)-基础篇

时间:2022-05-09 06:42:42

  • 安装(MAC)
    • 直接运行:
      brew install python3

      Python3学习(1)-基础篇

    • 输入:python3 --version,查看验证安装是否成功 (一定是python3)Python3学习(1)-基础篇
  • Python解释器
    • CPython
      • 官网下载的安装包中,会自带此解释器。也是使用最多的解释器。使用C编写的解释器
    • IPython使用

      • 在CPython的基础上增强了交互的解释器,执行Python代码与CPython一致。
    • PyPy
      • 使用JIT技术,对Python进行动态编译,从而提升Python的执行速度。
    • Jython
      • 运行在Java平台上的Python解释器,把Python编译成Java的字节码
    • IronPython
      • 运行与.net平台上的Python解释器,把Python编译成.net的字节码
  • 编写第一个Python程序且运行Python程序
    • 新建一个文件“hello.py”,内容(建议使用工具:Sublime TextNotepad++):
    • print('Hello,world!')
    • 控制台中进入此文件目录,输入:python3 hello.pyPython3学习(1)-基础篇
    • python3 hello.py:支持Cpython解释器来直接执行hello.py中的源代码文件
  • Python基础
    • 数据类型
      • 整数:Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样。如:1,-1,0,999999
      • 浮点数:小数,支持科学计数法,支持任意大小的值。如:1.0,5.0,-1.9,5.1e2
      • 字符串:使用单引号、双引号括起来的任意文本。若文本中仍需要单引号或双引号时,可使用转义字符"\"如:'a',"123aaa",'a\'b\''(要表达的字符串:a'b')
      • 布尔值:一个布尔值是有True、False两种值,注意大小写
      • 空值:None,与0(数字)是不同的,0是有意义的,None是特殊的空值的。
    • 变量
      • 由大小写英文、数字或下划线组成,不能以数字开头。如:a12,_a2,a_1123,123a(非法)
      • 变量在赋值后,类型不可变更,但值可随意变更
    • 常量
      • 建议命名全部使用大写字母。如:PI=3.1415926
    • 占位符
      • %d 整数
        %s 字符串
        %f 浮点数
        %x 10进制整数
    • 列表
      • list:有序集合,如listT=['AAA','BBB','CCC']
      • 获取列表中元素个数len(),如:len(listT)-->3
      • 直接使用索引,来获取列表中的指定元素内容。从0开始,最后一个元素的索引为总元素个数减1。如:listT[0]-->'AAA',listT[1]-->'BBB'
      • 可使用倒数索引。如:listT[-1]-->'CCC',listT[-2]-->'BBB'
      • 添加元素,自动追加到未尾append(value)。如:listT.append('DDD'),结果为listT[3]-->'DDD'
      • 指定位置添加元素,insert(index,value)。如:listT.insert(1,'insert'),结果为:listT[1]-->'insert',listT[2]-->'BBB'
      • 删除未尾元素,pop()。如:list.pop(),结果为listT中的'DDD'元素被删除,listT的长度减1
      • 可直接给指定元素赋值或变更值内容。如:listT[0]='BBB',结果为listT的第一个元素变为'BBB'
      • 列表中的元素类型可为多种类型,列表中的元素也可为列表(多层嵌套,多维列表)
    • 元组
      • tuple:元组初始化之后不可修改。如tupleT=('Jack','Leon',"Mike")
      • 没有append()、insert()方法,
    • 字典
      • dict:使用键-值(key-value)存储,具有极快的查找速度。如:d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
      • 获取字典中的值。如:d['Michael']-->95
      • 给字典中的键重新赋值。如:d['Michael']=100,结果为d['Michael']-->100
      • 删除字典中的指定键及值(一并删除),pop('key')。如:d.pop('Bob'),结果为d字典中的d['Michael']=75被删除,仅剩2个键值对
    • set
      • 数学意义上的无序和无重复元素的集合
    • 条件判断
      • if <条件判断1>:
        <执行1>
        elif <条件判断2>:
        <执行2>
        elif <条件判断3>:
        <执行3>
        else:
        <执行4>
      • 注意:每个判断后都需要有冒号“:”
    • 循环
      • for...in ...
        • 依次把list或tuple中的每个元素迭代出来
        • names = ['Michael', 'Bob', 'Tracy']
          for name in names:
          print(name)
      • while...
        • 只要条件满足,就不断循环,条件不满足时退出循环
        • sum = 0
          n = 99
          while n > 0:
          sum = sum + n
          n = n - 2
          print(sum)
  • 函数
    • 函数名、参数、返回值
    • 默认参数:在不传递参数时,会有默认值
    • 参数
      • 可变参数:*args是可变参数,args接收的是一个tuple
      • 关键字参数:**kw是关键字参数,kw接收的是一个dict
    • 一个函数可同时返回多个返回值
    • import math
      
      def move(x, y, step, angle=0):
      nx = x + step * math.cos(angle)
      ny = y - step * math.sin(angle)
      return nx, ny