python基础学习(介绍,环境,基础语法)

231 阅读5分钟

记录学习python的历程,以下代码和概念均出自:菜鸟教程 学习的是python3。

一、介绍

python介绍

  1. 是一种解释型语言解释型语言是相对于编译型语言存在的,源代码不是直接翻译成机器语言,而是先翻译成中间代码,再由解析器对中间代码进行解释运行。

  2. 是交互式语言:是一种能够很好地描述终端用户与交互系统进行对话过程,而且还可以借助于图形工具,把对话过程形象地表述成为图示的结构

  3. 是面向对象语言: 是一类以对象作为基本程序结构单位的程序设计语言,指用于描述的设计是以对象为核心,而对象是程序运行时刻的基本成分。语言中提供了类、继承等成分,有识认性、多态性、类别性和继承性四个主要特点。

python的特点

  1. 易于学习: 关键字少,结构简单,语法定义明确。
  2. 易于阅读: 代码定义清晰
  3. 易于维护: 源代码容易维护
  4. 一个广泛的标准库: 库丰富,兼容性好
  5. 互动模式:可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断
  6. 可移植:基于其开放源代码的特性
  7. 可扩展:可以写其他语言,用python调用
  8. 数据库:提供所有主要的商业数据库的接口
  9. GUI编程:支持GUI可以创建和移植到许多系统调用
  10. 可嵌入: 可以嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力

二、环境搭建

运行环境

windows, linux, Mac OSX

下载

python官网

安装

在这里选择Customize installation 并选择 Add python to PATH,进入后默认全选,再next,选install for all users, install!

以下是安装成功的界面!

image.png

image.png

image.png

三、基础语法

python3源码文件以UTF-8编码

注意点

  1. 第一个字符必须是字母表中字母或下划线 _
  2. 标识符的其他的部分由字母、数字和下划线组成
  3. 标识符对大小写敏感
  4. 单行注释以  #  开头
  5. 多行注释可以用多个 # 号,还有 ''' 和 """
  6. 用缩进表示代码块,不需要{},同一个代码块的语句必须包含相同的缩进空格数
  7. 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠 \ 来实现多行语句

python保留字

Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:

image.png

数字类型(Number)

四种类型: int整数(1)、bool布尔型(True),float浮点数(1.1, 3E-2), complex复数(1+2j,1.1+2.2j)

字符串(String)

  1. 单双引号都可以,三引号可以指定一个多行字符串,转义符 \,使用 r 可以让反斜杠不发生转义。 如 r"this is a line with \n"  则 \n 会显示,并不是换行。 2.字符串可以用 + 运算符连接在一起,用 * 运算符重复

image.png

  1. 字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。截取的语法格式如下:变量[头下标:尾下标:步长]

代码书写

  1. \n\n 在结果输出前会输出两个新的空行。一旦用户按下 enter 键时,程序将退出。如下
input("\n\n按下enter键后推出")

image.png

  1. 不换行操作:在变量尾加上end=""

  2. 导入操作:import与form...import。 导入和js的导入正好是把import form 前后颠倒以下,语法大致相同

导入整个模块: import a

导入某个函数:from a import b

导入多个函数:from a import b, c, d

导入全部函数: form a import *

命令参数

python提供了getopt模块获取命令行参数

  1. sys.argv 是命令行参数列表
  2. len(sys.argv) 计算命令行参数个数

getopt 模块

是专门处理命令行参数的模块,用于获取命令行选项和参数,也就是 sys.argv,同时支持短选项模式 - 和长选项模式 --,该模块提供了两个方法及一个异常处理来解析命令行参数

getopt.getopt

用于解析命令行参数列表, 语法格式

getopt.getopt(args, options[, long_options])
  1. args: 要解析的命令行参数列表
  2. options: 以字符串的格式定义,options 后的冒号 : 表示该选项必须有附加的参数,不带冒号表示该选项不附加参数。
  3. long_options: 以列表的格式定义,long_options 后的等号 = 表示如果设置该选项,必须有附加的参数,否则就不附加参数。
import sys
import getopt

def site():
  name = None
  url = None

  argv = sys.argv[1:]

  try:
    # opts, args = getopt.getopt(argv, 'n:u:') #短选项模式
    opts, args = getopt.getopt(argv, 'n:u:', ['name=', 'url=']) #长选项模式
  except:
    print('Error')
  
  for opt, arg in opts:
    if opt in ['-n', '--name']:
      name = arg
    elif opt in ['-u', '--url']:
      url = arg
    
  print(name + "--" + url)

site()

Exception getopt.GetoptError

在没有找到参数列表,或选项的需要的参数为空时会触发该异常。异常的参数是一个字符串,表示错误的原因。属性 msg 和 opt 为相关选项的错误信息。

import sys, getopt

def main(argv):
  inputfile = ''
  outputfile = ''
  try:
    opts, args = getopt.getopt(argv, 'hi:o:', ['ifile=', 'ofile='])
  except getopt.GetoptError:
    print('print-python.py -i <inputfile> -o <outputfile>')
    sys.exit(2)
  for opt, arg in opts:
    if opt == '-h':
      print('print-python.py -i <inputfile> -o <outputfile>')
      sys.exit()
    elif opt in ('-i', '--ifile'):
      inputfile = arg
    elif opt in ('-o', 'ofile'):
      outputfile = arg
  print('输入文件为:', inputfile)
  print('输出文件为:', outputfile)

if __name__ == "__main__":
  main(sys.argv[1:])