美文网首页
Python入门之基础语法(一)

Python入门之基础语法(一)

作者: Coralline_xss | 来源:发表于2017-12-07 22:59 被阅读0次

    笔者花了三个多月的时间学了一把 Python,在学习过程中总是拿已习得的 Java 做对比,惊异于 Python 的简单与强大,决定后期定要继续深入学习 Python。现在以自己所学做一下总结。

    关于 Python

    官方对 Python 的介绍如下:

    Python 是一款易于学习且功能强大的编程语言。它具有高效率的数据结构,能简单又有效地面向对象编程。
    Python 简洁的语法与动态输入之特性,加之其解释性语言的本质,使其成为一种在多领域与绝大多数平台都能 进行脚本编写 与 应用快速开发工作 的理想语言。

    Python 特色

    • 简单:具备伪代码的特质;
    • 易于学习:有一套极其简单的语法体系;
    • 自由且开放:是 FLOSS (自由/开放源代码软件) 成员之一;
    • 高级语言:不必考虑诸如程序应当如何使用内存等底层细节;
    • 跨平台性:由于其开源特性,已被移植到其它诸多平台;
    • 解释性:不需要像 C/C++ 语言将源代码最终编译成二进制码,只需要直接从源代码 运行 该程序。在程序内部,Python 会将源代码转换为字节码的中间形式,而后在转换为电脑所用的语言;
    • 面向对象:同时支持面向过程和面向对象编程;
    • 可扩展性:可将 C/C++ 程序运用于 Python 程序;
    • 可嵌入性:可在 C/C++ 程序中嵌入 Python,从而向你的程序用户提供 脚本 功能;
    • 丰富的库:Python 标准库规模庞大,还可以在 [Python库索引] 中发掘许多其它高质量的库。

    Python 基础

    以下将介绍下Python变量、基本数据类型、运算符、控制流。

    变量

    变量时标识符的一个例子。标识符命名规则:以字母或下划线( _ )开头,其余字母为数字、字符、下划线组成。

    Python 中的变量具有这样几个特点:

    • 可以表示任意数据类型;
    • 用‘=’可将同一个变量反复赋值,并且可以是任意数据类型;

    Python变量能指向任何类型变量,决定Python是一种动态语言。

    动态语言 vs 静态语言:

    • 动态语言 - 变量本身类型不固定的语言,如 Python;
    • 静态语言 - 在定义变量时必须指定类型,并且赋值时类型不匹配会报错,如 Java .

    Python 中变量分两种:

    • 局部变量:作用范围有限,如函数中声明的变量;
    • 全局变量:在程序的顶层赋值,不存在任何作用域,类或函数。用 global 修饰。
    基本数据类型

    Python 几种数据类型有整数、浮点数、字符串、布尔值和空值。这里不一一介绍,以一张导图说明各类型使用。


    基本数据类型.png

    这里重点说下 空值None 。Python 中 None 可以作为 if 条件语句,返回 False,其他非 None 的任何变量作为 if 条件语句,会返回 True。示例如下:

    if None:
        print('False')
    elif 'abc':
        print('True')
    elif 2:
        print('True')       
    
    运算符

    以下列举几种常见的运算符,对于位移运算、位运算等这里不做说明。


    运算符.png

    这里重点说下 '*' 运算符,可以返回 字符串重复指定次数的结果,如:

    print('ab' * 3) # ababab
    

    Python 中也可以使用 变量 运算 = 表达式 这种结构,如:

    a = a * 2    ->    a *= 2
    
    控制流

    Python 中有三种控制流语句——ifforwhile

    控制流.png

    这里重点说下 for...in.. 循环,能用于任何工作队列,常常使用内置的 range 方法生成一串数字列表,示例代码如下:

    for x in range(1, 5):
        print(x, end = ' ')
    # 打印结果:1 2 3 4  
    

    Python 数据结构

    Python 中有四种数据结构对象:list(列表), tuple(元组), dict(字典) 和 set(集合)。

    list 列表

    定义:Python 内置的一种数据类型列表,用 [] 表示。
    特点:有序集合;随时可添加和删除元素;一种可变的数据类型。
    常见用法:

    • list0 = ['Jane', 'June', 'July'] - 列表定义;
    • len(list0) - 获取列表元素个数;
    • list[index] - 用索引获取某个元素,越界抛异常,0表示第一个;
    • list[-index] - 用负索引获取倒数第index个元素,如最后一个元素用-1索引,越界抛异常;
    • list.insert(index, 'Jack') - 把元素插入到索引为 index 的位置;
    • list.pop(index) - 删除指定索引为 index 的元素;
    • del list[index] - 删除指定元素 list[index];
    • list.pop() - 删除末尾元素;
    • list[index] = 'val' - 给index位置元素赋值;
    • list0 = [] - 表示空数组;

    Tips: list 中可以存放不通数据类型元素;其元素也可以是一个 list,如果便是一个二维数组形式。

    示例代码如下:

    animals = ['cat', 'dog', 'parrot', 'bird']
    print('There are', len(animals), 'kind of animal')
    
    print(animals[2])   # parrot
    animals.insert(2, 'sheep')
    print(animals)      # ['cat', 'dog', 'sheep', 'parrot', 'bird']
    
    print('These animals are:', end = ' ') # 打印不换行
    for animal in animals:
        print(animal, end = ' ')
    # 打印:These animals are: cat dog parrot bird 
    
    animals.sort() # 列表排序
    print('Sorted list is', animals) # ['bird', 'cat', 'dog', 'parrot']
    
    del animals[2] 
    print(animas) # ['bird', 'cat', 'dog']  
    
    tuple 元组

    定义:也是 Python 内置的一种有序列表,用 () 表示。
    特点:一旦初始化就不能改变。因为不可变性,所以代码更安全。
    常见用法:

    • tuple0 = ('Cindy', 'Coral', 'Xss'):元素定义;
    • tuple0[index] - 获取元素;
    • tuple0 = () - 表示空元组;
    • tuple = (1, ) - 当元组中仅有一个元素,需要加逗号区别;Python 中会将 (1) 识别为 1 这个数字;

    Tips:

    • 因不可修改性,所以没有 append(), insert() 以及赋值给某个某诉等修改元组的方法;
    • tuple = (1, 's', ['a', 'b']) 元组中也可存放不同类型数据。当有列表元素时,列表中的元素可以改变,但列表本身不能改变,如指向另一个列表。

    示例代码如下:

    animals = ('cat', 'dog', 'bird')
    new_animal = ('sheep', )
    
    new_animals = animals, new_animal 
    print(new_animals) # (('cat', 'dog', 'bird'), ('sheep',))
    print(new_animals[2][0]) # sheep
    
    print(animals, 'sheep') # (('cat', 'dog', 'bird'), 'sheep')
    
    dict 字典

    定义:Python 内置字典,对应其它语言的 map,用 {} 表示。
    特点:使用 key - value 键值对存储,具有极快的查找速度。
    常见用法:

    • dict = {'Jane': 96, 'July': 85, 'Juce': 100} - 字典定义;
    • dict[key] - 获取key对应的元素值;;
    • dict[key] = 'value' - 给某个key对应的value赋值;
    • pop(key) - 删除一组键值对;

    区别于list列表的几个点:
    1)查找和插入的速度极快,不会随着 key的增加而变慢;list元素越多查找和插入时间越长;
    2)dict 需要占用大量内存,内存浪费多;list占用空间小,浪费也很少。

    Tips:

    • 一个 key 只对应一个 value,所以多次对一个key放入value,后面的值会覆盖前面的值;
    • 若 key 不存在,dict会报错: KeyError;判断key是否存在方法:
      • 通过 in 判断:exist = key in dict;
      • 通过 dict.get()方法判断:exist = (dict.get(key) == None)
    • dict 是无序的,其元素存放的顺序和 key 放入的顺序是无关的;
    • dict 的key必须是不可变对象,list是可变的不能作为key;通过key计算位置的算法称为 哈希算法。

    示例代码如下:

    student = {'s01': 'Amy', 's02': 'Cindy', 's03': 'Bob'}
    print('s01 is', student['s01']))
    
    for number, name in student.items():
        print('{} is Student {}'.format(number, name))
    
    if 's01' in student:    # 判断某个key值是否存在用 in
        print('s01 is', student('s01'))
    
    del student['s03'] # 删除一对键值对    
    
    set 集合

    定义:类似于 dict,也是一组无序 key 的集合。用 {} 表示。
    特点:不存储 value,key也不能重复;创建一个 set,需要提供一个 list 作为输入集合。
    常见用法:

    • set = set([1, 2, 2, 3]) - 定义,需要传入一个list,重复元素会自动被过滤,输出形式:{1, 2, 3}
    • set.add(key) - 添加元素到 set,可以添加重复元素,但是最终会被过滤;
    • set.remove(key) - 删除元素;
    • 两个set可以做数学意义上的交集、并集等操作,最后得到的也是 set;
      代码如下:
    s1 = set([1, 2])
    s2 = set([2, 3])
    print(s1 & s2)  # {2}
    print(s1 | s2)  # {1, 2, 3}
    

    Tips: set 和 dict 的唯一区别是set没有存储对应的 value;同样不能存放可变对象。

    Python 输入和输出

    以一张图来展示输入和输出的使用说明:


    输入和输出.png

    示例代码:

    in_str = input('Enter text: ')
    print(in_str)
    
    # 执行命令:python io_input.py
    # 提示输入:Enter text: Hello, world !
    # 打印:Hello, world !
    

    相关文章

      网友评论

          本文标题:Python入门之基础语法(一)

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