美文网首页pythonpython3学习
Python3(2) Python语法基础

Python3(2) Python语法基础

作者: 猿来如痴 | 来源:发表于2018-01-05 09:52 被阅读312次

    本系列主要学习Python的基本使用和语法知识,后续可能会围绕着AI学习展开。
    Python3 (1) Python语言的简介
    Python3 (2) Python语法基础
    Python3 (3) Python函数
    Python3 (4) Python高级特性
    Python3 (5) Python 函数式编程
    Python3 (6) Python 模块
    Python3 (7) Python 面向对象编程
    Python3 (8) Python 面向对象高级编程
    Python3 (9) Python 错误、调试和测试
    Python3 (10) Python IO编程
    Python3 (11) Python 进程和线程
    Python3 (12) Python 常用内建模块
    Python3 (14) Python 网络编程
    python基础部分相对简单,属于动态语言,大小写敏感,代码块通过缩进表示(约定4个空格键进行缩进,没有格式化的功能),注释采用“#”开头,典型的脚本语言特征,文件以“.py”格式保存。

    数据类型

    1. 整数

    python 中整数没有大小限制,超出一定范围就直接表示为 inf(无限大)
    python 通常用十进制(-10000、1234)、十六进制(0xa2b3c4d5、0xff00)
    python 整数的运算是精确的(10/3 = 3.3333333333333335,10//3 = 3 只取整数部分)

    2. 浮点数

    python 中浮点数没有大小限制,超出一定范围就直接表示为 inf(无限大)
    python 中浮点数写法有两种 一般写法(1.234)科学记数法(123.4e-2)
    python 浮点数的运算会有四舍五入的误差

    3. 字符串

    python 中字符串用 ''('abc')或者""("abc")表示 ,多行字符串用''' ''' ('''abc
    def''')
    python 中支持转义符,也可以通过r'abc'或r'''abc'''来屏蔽转义符
    python 中支持占位符“ %d 整数 ”、“%f 浮点数”、“%s 字符串”、“%x 十六进制整数”
    python 中支持 format() 格式化 “'我是 {0}, 体重{1:.1f}kg'.format('小明', 60.125)”
    python 中字符串一般采用 “utf-8” 编码,在文本首行进行申明,如下:

    # -*- coding:utf-8 -*-
    
    # 验证 r 与多行字符串的显示 并且屏蔽转义符
    print(r'''hello,\n 
    python''')
    
    # 验证占位符的使用
    print('abc%sef%.1f'%('d',12.345))
    
    # 验证format()的使用
    print('我是{0},体重{1:.1f}kg'.format('小明',60.125))
    

    输出结果:

    hello,\n 
    python
    abcdef12.3
    我是小明,体重60.1kg
    

    4. 布尔值

    python 中布尔值用True、False 表示(注意是大写)
    python 中支持 "and"、"or"、"not" 运算

    5. 空值

    python 中空值用 “None” 表示是一个特殊的值,不同于“0”

    6. 列表 list

    Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素
    list中的元素可以是不同的数据类型

    #定义list
    names = ['张三','李四','王五']
    print(names)
    
    #获取list元素个数
    print(len(names))
    
    #获取list某个元素
    print(names[0])
    
    #获取list倒数某个元素
    print(names[-1])
    
    #追加元素到末尾
    names.append('赵六')
    print(names)
    
    #指定位置插入元素
    names.insert(1,'456')
    print(names)
    
    #替换指定位置的元素
    names[0]= 123
    print(names)
    
    #删除list末尾元素
    names.pop()
    print(names)
    
    #删除指定位置的元素
    names.pop(0)
    print(names)
    
    #list中嵌套list
    ages = [16,17,18]
    names.insert(1,ages)
    print(names)
    
    #得到list中嵌套list的某个元素
    print(names[1][0])
    

    输出结果:

    ['张三', '李四', '王五']
    3
    张三
    王五
    ['张三', '李四', '王五', '赵六']
    ['张三', '456', '李四', '王五', '赵六']
    [123, '456', '李四', '王五', '赵六']
    [123, '456', '李四', '王五']
    ['456', '李四', '王五']
    ['456', [16, 17, 18], '李四', '王五']
    16
    

    7. 元组 tuple

    元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改,没有增删改查的方法

    #定义tuple
    names=('张三','李四','王五')
    print(names)
    
    #定义 空的tuple
    names = ()
    print(names)
    
    #定义 一个元素的tuple
    names =('张三',)
    print(names)
    

    输出结果:

    ('张三', '李四', '王五')
    ()
    ('张三',)
    

    8. 字典 dict

    Python内置了字典:dict的支持,全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。优缺点与java的map一致

    #定义dict
    dicts = {'张三': 16, '李四': 17, '王五': 18}
    print(dicts)
    
    #根据key查找对应的value
    print(dicts['张三'])
    
    #替换key对应的value
    dicts['张三']=20
    print(dicts)
    
    #判断key是否存在
    print('赵六'in dicts)
    
    #通过get方法取value,key不存在可以设置默认值
    print(dicts.get('赵六',-1))
    

    输出结果:

    {'张三': 16, '李四': 17, '王五': 18}
    16
    {'张三': 20, '李四': 17, '王五': 18}
    False
    -1
    

    9. 只存key的字典 set

    set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
    set可以看成无序和无重复元素的集合,可以做交集、并集等操作

    # 定义Set
    sets = set([1, 2, 4])
    print(sets)
    
    # 验证Set元素的唯一性
    repeatSets = set([1,2,4,2,4,1])
    print(repeatSets)
    
    #set中 添加一个key
    sets.add(3)
    print(sets)
    
    #set中 移除一个key
    sets.remove(1)
    print(sets)
    
    #set 做交集、并集操作
    s1 = set([1,2,3])
    s2 = set([3,4,5])
    print(s1&s2)
    print(s1|s2)
    

    输出结果:

    {1, 2, 4}
    {1, 2, 4}
    {1, 2, 3, 4}
    {2, 3, 4}
    {3}
    {1, 2, 3, 4, 5}
    

    变量

    python 中变量可以是任意数据类型
    python 中同一个变量可以反复赋值,而且可以是不同类型的变量(动态语言的特性)
    python 支持多种数据类型,在计算机内部,可以把任何数据都看成一个“对象”,而变量就是在程序中用来指向这些数据对象的,对变量赋值就是把数据和变量给关联起来

    常量

    python 中通常用全部大写的变量名表示常量 (PI = 3.14159265359)

    条件语句

    if...elif...

    # if...else...
    a = input("a: ")  # int
    b = input("b: ")  # int
    a = int(a)
    b = int(b)
    if (a > b):
        print("max: ", a)
    else:
        print("max: ", b)
    
    # if...elif...else...
    score = input("score: ")  # string
    score = int(score)
    if (score >= 90) and (score <= 100):
        print("A")
    elif (score >= 80 and score < 90):
        print("B")
    elif (score >= 60 and score < 80):
        print("C")
    else:
        print("D")
    

    输出结果:

    a: 10
    b: 15
    max:  15
    score: 60
    C
    

    循环语句

    for...in...循环

    # for...in...
    a = 0
    for x in range(5):
        a = a + x
        print(a)
    

    输出结果:

    0
    1
    3
    6
    10
    

    while...循环

    # while
    n = 0
    while n < 5:
        n = n + 1
        print(n)
    

    输出结果:

    1
    2
    3
    4
    5
    

    关键字

    break、continue 使用方法与其他语言相同

    参考

    https://www.python.org
    http://www.runoob.com/python3/python3-tutorial.html
    https://www.liaoxuefeng.com

    相关文章

      网友评论

        本文标题:Python3(2) Python语法基础

        本文链接:https://www.haomeiwen.com/subject/ouzhnxtx.html