• 【Python】动手学Python(附示例代码)快速入门


    ①基本概念

    为了对Python有大致的了解,我在这里列出Python与C语言的几点区别,帮助大家更好的理解Python

    语言C语言Python
    类型解释型高级语言编译型高级语言
    效率
    特点面向对象面向过程
    文件类型.py.c
    变量类型无需指定必须指定
    范围界定利用缩进利用花括号{}
    代码分隔回车分号;
    内存管理自动管理手动管理
    代码块开始标志:{

    ②基础知识

    标识符:标识符由字母、数字、下划线组成,不能以数字开头,区分大小写
    范围界定:同一代码块语句必须包含相同的缩进空白数量,而不使用花括号{}来界定
    字符串表示:可以使用单引号’’、双引号””、三引号””” ””” 三引号可用于多行字符串

    在这里插入图片描述

    注释:单行注释# 多行注释””” ”””
    在这里插入图片描述

    输出函数print()

    使用print()进行输出,当输出内容中含有变量时可以使用 %变量类型 进行替换

    整型 %d
    字符串 %s
    浮点数 %f

    输出内容用单引号’’ 或双引号"" 均可(当输出内容中含有’时,用",当输出内容含有”时,用’)

    print('Hello World')
    print("Hello World")
    str1 = "你好"
    str2 = "世界"
    print("输出内容为 %s %s" %(str1,str2))
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    输入函数input()

    variable = input(“提示文字”) 提示文字为要打印的内容,variable为要将输入值赋值的变量
    在Python3中使用input()读取的内容将被视为字符串,若要赋值为数值需要进行强转
    type(变量)可以获取变量的类型

    variable = input("这里是提示内容,请进行输入:")
    print(variable)
    print(type(variable))
    variable = int(input("这里是提示内容,请进行输入:"))
    print(variable)
    print(type(variable))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    导入模块

    模块是在代码量变得相当大后,将需要重复使用的代码段放在一块,这部分代码可以导入到现有的Python程序中,导入的过程叫做导入import
    导入格式如下
    import 模块名 as 别名 使用时 别名.XXX 代表导入整个模块
    from 模块名 import 方法名 使用时 方法名( )直接调用 代表从模块中导入某个函数(可同时导入多个函数,以逗号分隔)
    安装模块: 在命令行中使用命令 pip install 模块名

    #方式一
    import time
    
    print(time.time())
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    #方式二
    import time as hellotime
    
    print(hellotime.time())
    
    • 1
    • 2
    • 3
    • 4
    #方式三
    from time import time
    print(time())
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    赋值 =
    Python允许同时为多个变量赋值,也允许为多个对象指定多个变量

    a=b=c=1
    d, e, f = 2, 2.2 , "hello"
    print(a)
    print(b)
    print(c)
    print(d)
    print(e)
    print(f)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    ③数据类型

    基本数据类型

    Python3 的六个标准数据类型中:
    不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
    可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)

    type(变量)可以获取变量的类型

    数字类型:int(整型)、bool(布尔型)、float(浮点数)、complex(复数)

    Python3 中,bool 是 int 的子类,True 和 False 可以和数字相加, True == 1、False == 0 会返回 True
    数值运算:+ - × %均与C语言相同,在这里仅介绍几个Python特有的运算符

    /除会返回浮点数
    //除是地板除,会直接舍去小数部分,只留下整数部分
    **是乘方
    Python中没有++,–运算

    print(12/5)
    print(12//5)
    print(3**2)
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    字符串:’、 “ 、‘’’、 “””均可指定字符串,其中三个单引号或双引号可指定多行字符串, Python无字符类型char

    str*N 代表字符串str重复N遍(N为整数)

    print("Hello World "*3)
    
    • 1

    在这里插入图片描述

    字符串中可使用\转义字符,当不想使\发生转义,要在字符串前加上r

    print("Hello \nWorld")
    print(r"Hello \nWorld")
    
    • 1
    • 2

    在这里插入图片描述
    字符串是不可变类型
    不可以对字符串的内容进行二次修改

    a = "Change"
    a[0]='H'
    
    • 1
    • 2

    在这里插入图片描述

    元组Tuple:元组不可变,元素写在小括号里(),以逗号分隔 且元素类型可不同 索引下标从0开始
    tup = (1, 2.2, "hello")
    print(tup)
    print(tup[0])
    print(tup[1])
    tup[0]= 3
    
    • 1
    • 2
    • 3
    • 4
    • 5

    报错是由于元组为不可变类型
    在这里插入图片描述
    两个元组之间可以进行比较
    两个元组会从对应位置,从左至右开始比较

    tup1 = (12,13,1)
    tup2 = (12,13,3)
    tup3 = (15,13,3)
    print("tup1 > tup2吗 ",tup1 > tup2)
    print("tup3 > tup2吗 ",tup3 > tup2)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    列表List:写在[ ]中,元素之间以逗号分隔,与C语言不同,Python的列表中元素类型可不相同

    List是可变类型,元素可以改变

    a = [1, 2, 3, 4, 5, 6]
    print(a)
    a[0]= 9
    print(a)
    a[3:6]= [1, 2, 3]
    print(a)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述
    Python提供增加和删除元素的函数
    xxx.append(元素) 在列表最后位置添加元素
    xxx.remove(元素) 删除某元素

    a = [1, 2, 3, 4, 5, 6]
    print(a)
    a.append(2.2)
    print(a)
    a.remove(1)
    print(a)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    字符串,列表,元组均可以称为序列,有序排列,可以通过下标偏移量访问成员,下标从0开始 XXX[0]
    这里介绍一下上面出现的a[3:6]的代码 [:]切片操作符
    xxx[m:n] 代表下标从m,到n-1的元素
    xxx[-1] 代表最后一个元素
    xxx[:] 代表从第一个到最后一个元素
    xxx[::-1] 代表倒序,从最后一个元素到第一个元素

    a = [1, 2, 3, 4, 5, 6]
    print(a[2:4])
    print(a[-1])
    print(a[:])
    print(a[::-1])
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    集合Set:可以使用大括号{}或set()函数创建集合,创建一个空集合必须使用set(),{}用于创建空字典。由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员,基本功能是进行成员关系测试和删除重复元素。

    Set支持集合运算,Set是一个无需不重复元素集

    a = set(['a','b','c','d','e'])
    print("a = ",a)
    b = {'a','b','f'}
    print("b = " ,b)
    print("a和b的差集 ",a-b)  #计算a和b的差集
    print("a和b的并集 ",a|b)  #计算a和b的并集
    print("a和b的交集 ",a&b)  #计算a和b的交集
    print("a和b不同时存在的元素 ",a^b)  #计算a和b中不同时存在的元素
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    字典Dictionary:用{}表示,是无序的key(键):value(值)字典元素通过键来存取,key必须使用不可变类型,且key不能重复。

    形式为 {key1:value1,key2: value2}

    dict = {'x':1, 'y':2}
    print(dict)
    print(dict['x'])
    dict['z']=3
    print(dict)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述
    遍历字典
    借助Python中提供的函数
    dict.keys()取出字典中所有的key
    dict.values()取出字典中所有的key
    dict.items()取出字典中所有的key,value

    dict = {'x':1, 'y':2}
    for each_key in dict.keys():
        print('key: ',each_key)
    print('----------')
    for each_value in dict.values():
        print('key: ',each_value)
    print('----------')
    for key,value in dict.items():
        print('key: ',key,'value: ',value)
    print('----------')
    for item in dict.items():
        print('key: ',item[0],'value: ',item[1])
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    在这里插入图片描述
    推导式:用于优化简单循环
    [表达式 for 临时变量 in 可迭代对象 [if 条件表达式]] if条件表达式可以省略
    列表推导式式

    #eg.求1到10所有偶数的平方  一般写法
    alist = []
    for i in range(1,11):
        if(i%2==0):
            alist.append(i*i)
    print(alist)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    #eg.求1到10所有偶数的平方  列表推导式写法
    blist = [i*i for i in range(1,11) if(i%2==0)]
    print(blist)
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    字典推导式:与列表推导式类似,均可以简化简单循环

    #eg.将字典的value均+1  一般写法
    dict = {'a':1, 'b':2, 'c':3}
    for i in dict.keys():
        dict[i]= dict[i]+1
    print(dict)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    #eg.将字典的value均+1  字典表达式写法
    dict = {'a':1, 'b':2, 'c':3}
    dict = {i: dict[i]+1 for i in dict.keys()} # i: dict[i]+1 格式是 key : value
    print(dict)
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    隐式类型转换:自动转换,由低数据向较高数据类型转换,如int转换到float
    显式类型转换:使用类型转换的内置函数

    在这里插入图片描述

    a = 2.78
    b = int(a)
    c = str(a)
    print('a = ',a, ' 类型为 ',type(a))
    print('b = ',b, ' 类型为 ',type(b))
    print('c = ',c, ' 类型为 ',type(c))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    ④运算符

    比较运算符:基本同C语言,当表达式为真时返回True,为假时返回False

    在这里插入图片描述

    赋值运算符

    =	简单的赋值运算符	c = a + b 将 a + b 的运算结果赋值为 c  
    +=	加法赋值运算符	c += a 等效于 c = c + a  
    -=	减法赋值运算符	c -= a 等效于 c = c - a
    *=	乘法赋值运算符	c *= a 等效于 c = c * a  
    /=	除法赋值运算符	c /= a 等效于 c = c / a  
    %=	取模赋值运算符	c %= a 等效于 c = c % a  
    **=	幂赋值运算符	c **= a 等效于 c = c ** a  
    //=	取整除赋值运算符	c //= a 等效于 c = c // a  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    逻辑运算符:与and,或or,非not

    运算符逻辑表达式描述
    andX and Y若X为False,返回X的值,否则返回Y的值
    orX or Y若X为True,返回X的值,否则返回Y的值
    notnot X若X为True,返回False,如果X为False,返回True
    x = 10
    y = 5
    print('x = 10  y = 5, x and y 为',x and y)
    print('x = 10  y = 5, x or y 为', x or y)
    print('x = 10  y = 5, not x 为', not x)
    x = 0 # 0 看作false
    print('x = 0  y = 5, not x 为', not x)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    成员运算符:in 和 not in

    in 如果在指定的序列中找到值返回 True,否则返回 False
    not in 如果在指定的序列中没有找到值返回 True,否则返回 False

    a = [1, 2, 3, 4]
    b = 3
    c = 6
    print('b in a 吗?', b in a)
    print('c in a 吗?', c in a)
    print('c not in a 吗?', c not in a)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    身份运算符:身份运算符用于比较两个对象的存储单元

    is是判断两个标识符是不是引用自一个对象
    x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
    is not是判断两个标识符是不是引用自不同对象
    x is not y , 类似 id(x) != id(y)。如果引用的不是同一个对象则返回结果 True,否则返回 False

    ⑤条件控制

    条件语句if

    if 表达式:
        代码块
    
    • 1
    • 2

    复合条件语句if elif else

    if 表达式:
        代码块
    elif 表达式:
        代码块
    else: 
        代码块
            
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    代码块的范围由前面的缩进控制!!!

    a = 99
    if a>100:
        print("a大于100")
    elif a<50:
        print("a小于50")
    else:
        print("a大于50,小于100")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述
    在这里插入图片描述

    ⑥循环语句

    Python中仅有for循环与while循环,没有do-while循环,循环中可以结合break,continue,if语句

    for 循环

    用法如下:

    for 临时变量 in 序列(指字符串,列表,元组):
        循环体
    
    for 临时变量 in range(XXX):
        循环体
    
    • 1
    • 2
    • 3
    • 4
    • 5
    a =[1,2,3,4,5]
    for i in a:
        print(i)
    print('-----------')
    for y in range(0,13,2):
        print(y)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    while循环

    whlie 表达式:
        循环体
    
    • 1
    • 2
    i = 0
    while i<5:
        print(i)
        i=i+1
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    ⑦函数和类

    函数:以def关键字开头 后接函数标识符和圆括号,圆括号中传入参数,以return 表达式 结束函数,不带表达式的return相当于返回None

    函数的定义
    def 函数名称(参数):
        函数体
        return 需返回的内容
    
    
    函数的调用
    函数名称(参数)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    def myfunc():
        print('这是我定义的函数')
    
    myfunc()
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    类:用来描述具有相同属性和方法的对象的集合,定义了该集合中每个对象所共有的属性和方法,对象则是类的实例

    class 类名():
        def __init__(self,参数):
            self.xxx = xxx
            self.xxxx = xxxx
            self.__xxxx = xxxxx #__属性,使得该属性不能被直接修改,只能通过调用方法修改
        def 函数(参数):
            函数体
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    init 是 Python 中的特殊“方法”(special method),它用于初始化对象
    创建实例时它是最先被调用的函数,并且每次创建实例,它的__init__都会被调用,而且它的第一个参数永远是 self,指向创建的实例本身

    pass语句:pass是空语句,是为了保持程序结构的完整性,不做任何事情,一般用做占位语句`
    当定义的类为明确其功能时,可以使用pass关键字

    类的实例化 实例名 = 类名(参数值1,参数值2)
    调用类中定义的函数 实例名.函数()
    class Monster():
        def __init__(self,name,hp=100):
            self.name = name
            self.hp = hp
        def run(self):
            print('正在移动')
    
    a = Monster('Mike',50)
    print(a.name)
    print(a.hp)
    a.run()
    a.name = 'John'
    a.hp = 120
    print(a.name)
    print(a.hp)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    在这里插入图片描述

    类的继承
    class 子类名(父类名):
        类的内容
    
    • 1
    • 2

    当父类和子类定义同名方法时,子类的调用会覆盖父类同名方法

  • 相关阅读:
    时间序列预测模型实战案例(八)(Informer)个人数据集、详细参数、代码实战讲解
    批处理的应用
    考研:研究生考试(五天学完)之《线性代数与空间解析几何》研究生学霸重点知识点总结之第六课特征值、特征向量及相似矩阵
    LDR6328Q,快充界的黑马
    【c++面试题】04-继承(详细版)
    Redis(03)| 数据结构-链表
    Cisco Firepower 9300 Series FTD Software 7.2.0 & ASA Software 9.18.1
    Kibana--KQL查询语法的使用
    Redis 常用命令
    vscode连接远程Linux服务器及免密登陆
  • 原文地址:https://blog.csdn.net/Ever_____/article/details/127601928