qingyunqu's blog


  • Home

  • Archives

Python3快速入门

Posted on 2019-02-23 | In python

人生苦短,我用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.5,1.0
      • 布尔型bool a = True,False
      • 字符串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""来解决
  • 元组的一个大用处,是可以在函数返回时得到两个或两个以上的返回值
  • 关于惰性迭代和迭代器可自行查找相关资料

参考资料

  • 廖雪峰
  • 十分钟速成Python3

Hello World

Posted on 2019-02-22

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment

YuanqiangLiu

2 posts
1 categories
1 tags
© 2019 YuanqiangLiu
Powered by Hexo
|
Theme — NexT.Muse v5.1.4