• 第一章 人工智能专题之Python基础知识复习


    1、入门程序

    (1)创建demo1.py文件,编写以下语法保存

    print("这个世界")
    
    • 1

    (2)运行Python程序

    python demo1.py
    
    • 1
    • 运行结果

    在这里插入图片描述

    2、变量类型

    (1)变量赋值

    • 单个变量赋值
    var1 = 1
    print(var1)
    
    • 1
    • 2
    • 验证结果

    在这里插入图片描述

    • 多个变量赋值
    #Python数字类型分为int、long、float、complex
    var1 = 1
    var2 = var3 = 2
    var4,var5 = 4,5
    print(var1)
    print(var2)
    print(var3)
    print(var4)
    print(var5)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 运行结果

    在这里插入图片描述

    (2)数字类型

    • 数字类型:int、float、long、complex,其中int类型在Python3.x版本数据溢出后会自动转换为long类型
    var1 = 1
    var2 = 1.1
    var3 = 1+2J
    print(type(var1))
    print(type(var2))
    print(type(var3))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 运行结果

    在这里插入图片描述

    (3)字符串类型

    • 字符串:由数字、字母、下划线组成的一组字符
    • 有两种取值顺序:
      • 从左到右默认从0开始,最长范围是字符串长度少1
      • 从由到左索引默认-1开始,最大范围是字符串开头
    str1 = "abcdef"
    print(str1[0:3])
    print(str1[3:])
    print(str1[-4:-1])
    print(str1*2)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 验证结果

    在这里插入图片描述

    (4)列表类型

    • 列表类型:最频繁使用的数据类型,支持字符、数字、字符串、嵌套列表。
    list = [1,'str','a',[1,2,3,4]]
    print(list[-1])
    print((list[-1])[1:3])
    print(list[1:3])
    print(list[1:])
    print(list+list)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 验证结果

    在这里插入图片描述

    (5)元组类型

    • 元组类型:元组类似于列表,但不能二次赋值。
    tuple = (1,'str','a',[1,2,3,4])
    print(tuple[-1])
    print((tuple[-1])[1:3])
    print(tuple[1:3])
    print(tuple[1:])
    print(tuple+tuple)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 验证结果

    在这里插入图片描述

    (6)字典类型

    • 字典类型:有序的对象集合,字典是无序的对象集合,通过键值对进行匹配。
    dict = {}
    dict["one"] = "this is one"
    dict[2] = "this is two"
    
    print(dict['one'])
    print(dict[2])
    print(dict.keys())
    print(dict.values())
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 验证结果

    在这里插入图片描述

    3、运算符

    運算符描述实例
    +3+3==》6
    -3-1==》2
    *2*3==》6
    /4/2==》2
    %取余3%2==》1
    **幂次方2**3==>8
    //取整9//2 ==》4

    4、条件语句

    • 条件语句:通过一条或多条语句的执行结果来决定执行的代码块
    num = 5
    if  num == 1:
        print("等于1")
    elif num < 1:
        print("小于1")
    else:
        print("大于1")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 输出结果

    在这里插入图片描述

    5、循环语句

    (1)for循环语句

    • 含义:在给定的判断条件为true时执行循环,否则退出循环体
    num = [1,'a',"string",[1,2,3,4]]
    for i in range(len((num))):
        print('当前元素: %s' % num[i])
    print("this is end")
    
    • 1
    • 2
    • 3
    • 4
    • 验证结果

    在这里插入图片描述

    (2)while循环语句

    • 含义: 重复执行语句
    num = 5
    while (num<10):
        print("This num is",num)
        num = num+1
    
    • 1
    • 2
    • 3
    • 4
    • 验证结果

    在这里插入图片描述

    (3)循环控制语句

    ①Break语句:在语句块执行过程中终止循环,并且跳出整个循环

    num = [1,'a',"string",[1,2,3,4]]
    for i in range(len((num))):
        if num[i] == 'a':
            break
        print('当前元素: %s' % num[i])
    print("this is end")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 验证结果

    在这里插入图片描述

    ②continue语句:在语句块执行过程中终止当前循环并跳出,执行下一次循环

    num = [1,'a',"string",[1,2,3,4]]
    for i in range(len((num))):
        if num[i] == 'a':
            continue
        print('当前元素: %s' % num[i])
    print("this is end")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 验证结果

    在这里插入图片描述

    ③pass语句:pass是空语句,为了保持结结构完整新

    num = [1,'a',"string",[1,2,3,4]]
    for i in range(len((num))):
        if num[i] == 'a':
            pass
        print('当前元素: %s' % num[i])
    print("this is end")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 验证结果

    在这里插入图片描述

    6、面向对象编程

    6.1、基础概念

    (1)类与对象

    • 类:对客观世界中事物的抽象化
    • 对象:类实例化后的试题
    :猫类
    对象:英短尾
    
    • 1
    • 2

    (2)对象定义

    • 注意事项1:使用Class关键字定义一个类,类名的首字母大写
    class People:
    
    • 1
    • 注意事项2:类的主体由一系列的属性和方法组成
    class People:
        def __init__(self,name):
            self.name = name
        def get_name(self):
            print(self.name)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    (3)对象创建

    • 类实例化:包含3个方面特性,包括对象的句柄、属性和方法
    if __name__ == "__main__":
        fruit = Fruit()
        fruit,grow()
    
    • 1
    • 2
    • 3

    (4)类的属性和方法

    • 属性:一般分为共有属性和私有属性,私有属性名字以两个下划线开始,公共属性则没有
    • 方法:一般分为公有方法和私有方法,私有方法不能被模块外的类或方法调用。
    class People:
        
    
    • 1
    • 2
    • 特殊方法:
      • _ _ init__方法:构造函数用于初始化类的内部状态,为类的属性设置默认值
      • _ _ del__方法:构析函数用来释放对象占用的资源。

    (5)内部类

    • 定义:

    ①定义内部类

    class MyOuter:
        age=18
        def __init__(self,name):
            self.name=name
    
        class MyInner:
            def __init__(self,inner_name):
                self.inner_name=inner_name
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    ②main类

    from Outer import MyOuter
    
    if __name__ == '__main__':
        out = MyOuter('外部类')
        inner = out.MyInner('内部类')
        print(inner.inner_name)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 验证结果

    在这里插入图片描述

    2.2、实战案例

    (1)people类定义

    # 类与对象
    '''
    同JAVA类相同,包含属性和变量
    '''
    class people:
    
        #构造函数,生成类的对象自动调用
        def __init__(self,my_name,my_age,my_sex):
            self.my_name = my_name
            self.my_age = my_age
            self.my_sex = my_sex
    
        def self_name(self):
            return self.my_name
        #获取人员信息
        def get_info(self):
            print("name:%s,age:%d,sex:%s"%(self.my_name,self.my_age,self.my_sex))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    (2)people类调用

    import people
    
    
    # Press the green button in the gutter to run the script.
    if __name__ == '__main__':
    
    
        # 生成类的对象
        people = people.people('小王',18,'男')
        # 调用方法并打印
        print("姓名:"+people.self_name())
    
        # 调用方法
        people.get_info()
    # See PyCharm help at https://www.jetbrains.com/help/pycharm/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    (3)运行结果

    在这里插入图片描述

  • 相关阅读:
    用AVR128单片机的音乐门铃
    四川汇聚荣科技有限公司靠谱吗?
    如何在您的Shopify商店中添加实时聊天功能?
    delphi JDAESExtend中AES-base64解密报错的解决办法
    kubelet源码 删除pod(二)
    209. 长度最小的子数组
    idea项目设置鼠标右键点击文件夹通过IDEA打开
    【面试八股】IP协议八股
    live555
    Spring Cloud Netflix Hystrix
  • 原文地址:https://blog.csdn.net/qq_27924553/article/details/125626545