Python3快速入门

人生苦短,我用Python

一、安装

  • Linux和MacOS直接在Terminal中输入python3即可
  • Windows前往官网Python, 选择Python3之后最新的版本下载,注意选择自动配置环境变量或手动添加环境变量
  • 直接在命令行交互中运行python代码,或将代码写成.py文件后在命令行中运行python3 xxx.py

二、python基本设计思想

  • 注:可以在实践中经常性回顾本节内容(实践是学好编程的关键)
  • python以简洁为设计理念,一切越简单越好
  • python中变量无固定类型,变量无需定义,是一种动态语言,依赖解释执行
  • python以严格缩进(一般全为四个空格或全为一个Tab)区分代码的层次
  • python以丰富的第三方库著名,在实际中为解决特定问题时需要查找安装特定的库,可自行搜索使用pip这一库管理工具

三、变量、类型和运算符

1
2
3
# 这是注释,以下部分为可直接执行的python语句
a = 3 # 变量无需定义,直接使用,但使用新的变量前需先给变量赋值
a = 1.5 # a已经从整型数3变为浮点数1.5
  • 一个变量可以重复使用,并且被赋值为不同类型(可以为下列中任意类型)的值

  • python中的类型:
    • 基本类型:
      • 整型int 3
      • 浮点数float 1.51.0
      • 布尔型bool a = TrueFalse
      • 字符串string a = "this is a string"
    • 高级类型:
      • 列表list a = [],a = [1,3],[1,True,1.5,"string"]
      • 元组tuple (),(1,),(1,True),(1,True,"string")
      • 字典dict {},{"one":1,"two":2,"three":3},{False:True , 1:"one" , 2:2}
    • 自定义类型:通过Class来由用户自己定义生成的类
  • python中的算术运算符:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    1 + 1 # =2
    2 - 1 # =1
    10 * 2 # =20
    3 * 2.0 # =6.0 此处说明运算中同时出现整数和浮点数时,整数会向浮点数靠拢

    35 / 5 # =7.0 除法会自动转换成浮点数
    5 / 3 # =1.6666666666666667
    5 // 3 # =1 整除为向下取整,结果为整数
    5.0 // 3.0 # =1.0 浮点数中的整除,结果为浮点数
    5 // 3.0 # =1.0
    -5 // 3 # =-2
    -5.0 // 3 # =-2.0

    7 % 3 # =1 取余
    -7 % 3 # =2

    2**4 # =16 幂
  • python中的布尔运算符:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    # 布尔运算的结果只有True和False这两种
    True
    False
    not True # =False
    True and False # =False
    True or False # =True

    1 == 1 # =True
    1 == 2 # =False
    1 != 2 # =True
    1 < 10 # =True
    2 <= 2 # =True
    1 < 2 < 3 # =True
    2 < 3 < 2 # =False
  • python中字符串的用法:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    a = "this is a string!"
    b = 'this is also a string!' # 单引号和双引号都表示字符串
    c = "this is a 'string'!" # 单双引号可用来区分歧义
    d = 'this is a "string"!'

    "hello " + "world!" # ="hello world!" 字符串的拼接
    a + b # 使用变量名也能用于拼接

    "hello"[0] # ='h'
    a[0] # ='t' #注:python并不区分字符和字符串,统一认为为字符串

    # 格式化语法:
    "%d is %s"%(1,"one") # "1 is one"

四、内置高级类型的简单使用

  • 列表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
    li = [] # 空列表
    li_li = [1,2,"one",True]
    list = [4,5,6]
    list.append(1) # list=[4,5,6,1]
    list.pop() # 返回值为1,list=[4,5,6]
    list[0] # =4
    list[2] # =6
    list[-1] # =6 python支持反向索引
    list[-3] # =4
    list[4] #抛出IndexError

    li = [1,4,2,5]
    # 切片:li[始:终] 左闭右开
    li[1:3] # =[4,2]
    li[2:] # =[2,5]
    li[:3] # =[1,4,2]
    # 切片:li[始:终:步长]
    li[::2] # =[1,2]
    li[::-1] # =[5,2,4,1]

    del li[2] # 删除一个元素 li=[1,4,5]

    # 列表相加,注意此时li和li_li的值都没变,而是产生了新的值
    li+li_li # =[1,4,5,1,2,"one",True]

    1 in li # =True 判断一个元素是否在列表中

    len(li) # =3 列表的长度
  • 元组tuple:元组与列表类似,列表支持的操作它也大部分支持,但元组中的元素是不允许修改的

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    tup = (1,2,3)
    tup[0]
    tup + (4,5,6) # (1,2,3,4,5,6)
    tup[:2]
    2 in tup

    a,b,c=(1,2,3) # 元组解包,分别赋值给三个变量
    a,b,c=1,2,3 # 括号可省略

    d,e = e,d # 两个元素交换值
  • 字典dict:字典的关键是键值对(key-value)的映射

    1
    2


  • 集合:

    五、常用逻辑语句

  • if-else:

    1
    2
    3
    4
    5
    6
    7
    a = 1
    if a == 1 :
    print("a=1")
    elif a == 2 :
    print("a==2")
    else:
    pass
  • for-in:

    1
    2
    3
    4
    5
    6
    7
    li = [1,2,3,4]
    for i in li :
    print(i) # 输出为 1 2 3 4
    for animal in ["dog""cat","mouse"] :
    print(animal)
    for j in range(100) :
    print(j) # 输出0到99
  • while :

    1
    2
    3
    4
    x=0
    while x<4:
    x++ #或 x+=1 或 x=x+1
    print(x)
  • try-except:用于处理异常情况

    1
    2
    3
    4
    5
    6
    7
    8
    try:
    raise IndexError("this is an index error") # 主动抛出异常
    except IndexError as e:
    pass
    except (TypeError,NameError):
    pass
    else:
    print("all good!") # 只有try中所有语句运行正确才会运行此处

六、迭代器和可迭代对象

七、函数

八、类

九、模块(库)

附录、Python中一些不常用但需要了解的操作

  • python默认自己的编码为UTF-8
  • 判断一个变量的类型:type(a)
  • 整数也可以参与布尔运算,一般0为False,1为True,其他整数既不是True,也不是Flase
  • 字符串可以用.format来格式化,或使用参数{0} {1}或者关键字{name}等来格式化
  • 字符串中如出现冲突,可以使用转义符或r""来解决
  • 元组的一个大用处,是可以在函数返回时得到两个或两个以上的返回值
  • 关于惰性迭代和迭代器可自行查找相关资料

参考资料