Python基础语法

一、python基础数据结构,基础语法

  • 编码
    python3的默认编码是UTF-8,字符串的编码是unicode;
    python2的默认编码是ASCII,字符串的编码也是ASCII。
  • 标识符规则(变量名)
    由字母、数字和下划线组成
    首位字符必须是字母表中的字母或下划线
    变量名是区分大小写的
    
    注意:python3中,中文可作为变量名(不推荐使用);python2不可以。
    在这里插入图片描述
  • 注释
    单行注释以 # 开头
    多行注释可以用多个 # 号,还有'''和"""
    
  • 保留字(关键字,不能用作任何标识符名称)
    共33个
    'False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 
    'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 
    'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'
    # 查看关键字方法
    import keyword
    keyword.kwlist
    
  • 数字类型
    整数、布尔型、浮点数和复数
    int (整数), 如 1, 只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
    bool (布尔), 如 True。
    float (浮点数), 如 1.23
    complex (复数), 如 1 + 2j	#  常用于数学实验的计算等
    
  • 操作运算符:
    <、<=、>、>=、==、!=

二、脚本执行、控制台交互执行

  • 脚本执行
    python  python脚本文件的路径
    

在这里插入图片描述

  • 控制台交互执行
    在这里插入图片描述

三、数组(列表)、元组、字符串

  • 数组(列表)
    定义:把逗号分隔的不同的数据项使用方括号括起来
    特性:列表是可变的
    # 定义
    list_obj = ['name', 'age', 20]
    # 部分函数
    list_obj1 = [1, 2]
    list_obj2 = [3, 4, -1]
    list_obj1.extend(list_obj2) 	# 在列表末尾一次性追加另一个序列
    print(list_obj1)
    list_obj1.append(10)	# 列表末尾添加新的对象
    print(len(list_obj1))		# 列表元素个数
    print(max(list_obj1))	# 列表元素最大值
    
    在这里插入图片描述
  • 元组
    定义:把逗号分隔的不同的数据项使用小括号括起来
    特性:元组的元素不可变、元组是有序的。
    # 定义
    tuple_obj = (100,)		# 元组类型
    num_obj = (100)		# 结果是整型
    # 元组的排序
    tuple_obj = (1, 2, 3, 6, 5, 4)  # 元组是没有办法直接排序的  需要先转成列表 进行排序,再转回元组
    tuple_obj = tuple(sorted(list(tuple_obj )))
    print(tuple_obj )
    
    在这里插入图片描述
  • 字符串
    定义:指定字符串可以使用单引号、双引号和三引号(’’'或""")
    特性:字符串是不可变的
    #  定义
    string_obj = "This is a book."
    #  字符串部分函数使用
    string_obj = 'this is a book'
    print(len(string_obj))          # 字符串长度
    objs = string_obj.split(' ')    # 字符串以某一字符str进行分割,返回列表 string.split(str)
    print(objs)
    #  部分字符串匹配替换
    string_obj2 = string_obj.replace('book', 'phone')  # a的值并没有发生改变  b指向了新建的字符串对象
    print(string_obj)
    print(string_obj2)
    
    在这里插入图片描述

四、字典、集合、文件

  • 字典
    定义:字典的每个键值 key=>value 对用冒号分割,每个对之间用逗号分割,包括在花括号 {} 中。
    格式:d = {key1 : value1, key2 : value2, key3 : value3 }
    特性:键唯一、键使用的数据类型必须是不可变的
    #  定义
    dict1 = {'a': 1, 'a': [1, 2], 1: 'b', (1, 2): 'c'}
    dict2 = {[1, 2]: 1}  # 错误的key定义
    #	字典部分函数使用
    dict_obj = {"name": 'xiaoming', 'age': 18, 'sex': 'Man'}
    dict_obj2 = {"id": "202011052639"}
    print(dict_obj.keys())	#  返回字典所有的键
    print(dict_obj.items())	#  字典遍历的(键, 值)
    print('name' in dict_obj)  # 判断的是name这个key是否存在这个字典的keys中
    dict_obj.update(dict_obj2)	#  字典dict2的键/值对更新到dict里
    print(dict_obj)
    
    在这里插入图片描述
  • 集合
    定义:使用大括号 { } 或者 set() 函数创建集合
    格式:set1 = {value01,value02,…} 或者set(value)
    特性:一个无序的不重复元素序列
    注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
    #	定义
    set_obj = set()
    #	集合部分函数使用
    set_obj.add(1)	# 集合添加元素
    set_obj.update([2, 3])		# 集合添加元素
    set_obj.update({4, 5})		# 集合添加元素
    print(set_obj)
    set_obj.remove(1)	 	# 移除元素
    print(set_obj)
    set_obj.update([6, [7, 8]]) # 错误的使用  添加的可以是元素或集合 不可以不是元素
    
    在这里插入图片描述
  • 文件
    定义:open() 方法用于打开一个文件,并返回文件对象。
    常用格式:open(file, mode)
    注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。
    # 定义使用
    x = open('D:\\pro_py3\\requirements.txt', 'r')
    print(x.read())
    x.close()
    
    在这里插入图片描述

五、控制流和函数

  • 控制流:条件控制和循环语句
    条件控制:
    定义:是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。
    注意:在Python中没有switch – case语句。
    #  if--else 、if--elif--else  当某个条件符合时,按顺序执行的其它条件则不会执行
    number = 33
    if not number % 2 or not number % 11:
        print('{0}可以被2或者11整除'.format(number))
    elif number % 33:
        print('{0}可以被33整除'.format(number))
    else:
        pass
    
    在这里插入图片描述
    循环语句:
    分类:while和for
    break:break 语句可以跳出 for 和 while 的循环体
    continue: 继续进行下一轮循环
    注意:Python 中没有 do…while 循环
    while语句形式:
    while 判断条件(condition):
    	执行语句(statements)……
    
    for循环的一般格式如下:
    for <variable> in <sequence>:
        执行语句<statements>
    
    #  定义样例
    # 找出0-10的奇数
    i = 0
    while i < 10:
        if i % 2:
            print(i, end=' ')
        else:
            pass
        i += 1
    print()
    # 找出0-10的偶数
    for i in range(0, 11):
        if not i % 2:
            print(i, end=" ")
    
    在这里插入图片描述
  • 函数
    定义:组织好的,可重复使用的,用来实现单一,或相关联功能的代码段
    格式:
    def 函数名(参数列表):
    	函数体
    
    注意:函数代码块以 def 关键词开头
    #  样例
    def get_name(name):
    	return '我的名字:{0}'.format(name)
    
    print(get_name('小明'))	# 我的名字:小明
    
  • 匿名函数
    定义:使用 lambda 来创建匿名函数,再使用 def 语句这样标准的形式定义一个函数
    格式:lambda 参数:表达式
    注意:能访问自己参数列表之外或全局命名空间里的参数
    #  样例
    sum = lambda x, y: x + y
    print(sum(1, 2))	# 3
    

六、模块引用和内置模块(os、sys)

  • 模块导入:
    定义:import 或者 from…import 来导入相应的模块
    注意:当将某个模块的函数等信息全部导入,采用from xxxx import * (正常使用中不建议导入*)
    # 样例
    import sys, os
    from sys import path, argv
    

七、装饰器函数

  • 装饰器
    定义:用函数A装饰函数B。当然,也可以认为是A包装函数B。
    # 样例
    def day2(func):
        print("hello world")
        return func
        
    @day2
    def day1():
        print("My function name is:", day1.__name__)
    
    day1()
    
    在这里插入图片描述

八、异常处理

  • 异常处理:

    背景:即便 Python 程序的语法是正确的,在运行它的时候,也有可能发生错误
    目的:需要进行异常处理,保证代码的正常运行不中断。
    在这里插入图片描述

#  样例
try:
    a = 1 % 0
except Exception as e:
    print(e)
else:
    print(a)
finally:
    print('结束')

try:
    a = 1 % 3
except Exception as e:
    print(e)
else:
    print(a)
finally:
    print('结束')

在这里插入图片描述

九、面向对象编程

  • 类(Class)
    定义:用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
    类语法格式:
    class ClassName:
        <statement-1>
    	    .
    	    .
    	    .
    	<statement-N>
    
    # 类定义
    class people:
        # 定义基本属性
        name = ''
        age = 0
        # 定义私有属性,私有属性在类外部无法直接进行访问
        __weight = 0
    
        # 定义构造方法
        def __init__(self, n, a, w):
            self.name = n
            self.age = a
            self.__weight = w
        def speak(self):
            print("%s 说: 我 %d 岁。" % (self.name, self.age))
    
    # 实例化类
    p = people('runoob', 10, 30)
    p.speak()
    
  • 继承和多继承
    语法格式:
    继承和多继承
    class people(Base1, Base2, Base3):
        <statement-1>
        .
        .
        .
    	<statement-N>
    
    注意:当多继承时,存在同名方法,子类使用该方法时,寻找该方法的顺序是按照括号里父类从左往右。

十、模块开发

  • 模块定义:包含代码的文件
  • 为什么用模块
    使用模块可以提高代码的可维护性和重复使用,还可以避免函数名和变量名冲突。

十一、编码规范和检查工具
编码规范:要符合flake8语法
检查工具:安装flake8依赖

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值