• 【Python】Python基础语法


    总感慨万千,虽只道寻常


    前言

    在测试中,python语法是很常用的,python和java语法有一定程度的区别,让我们走进Python的世界吧。


    1. python与Java的主要区别

    语法:Java是一种静态类型的编程语言,需要在代码中明确声明变量的数据类型,并使用分号结尾。而Python是一种动态类型的编程语言,不需要显式地声明变量类型,也不需要分号结尾。

    面向对象:Java是一种面向对象的编程语言,所有的代码必须定义在类中。Python也支持面向对象编程,但是也允许使用函数式编程和过程式编程的风格。

    运行速度:Java代码在编译时需要被转换为机器码,并在Java虚拟机中运行,相对而言运行速度较快。而Python代码是解释执行的,运行速度相对较慢。

    生态系统:Java拥有广泛的生态系统,有许多开源库和框架,可以用于开发各种类型的应用程序。Python也有丰富的生态系统,特别擅长于数据分析、科学计算和人工智能等领域。

    异常处理:Java强制要求处理所有可能的异常情况,需要使用try-catch块来捕获和处理异常。Python在语法层面上支持异常处理,但是不强制要求处理异常。

    2. 数据类型

    Python的几种常见的数据类型包括:

    整数(int):表示整数,例如 1、2、3 等。
    区别于java,python中对于整型只有int一种类型,在Python中,int类型表示的范围取决于所使用的操作系统和计算机架构。对于大多数计算机,int类型表示的范围通常在 -2^31 (-2,147,483,648) 到 2^31-1 (2,147,483,647) 之间,也就是32位有符号整数的范围。不存在java中的长整型,短整型等多种整型变量。
    在这里插入图片描述

    浮点数(float):表示带有小数部分的数值,例如 1.5、3.14、2.0 等。python的浮点数为双精度,双精度浮点数的范围约为-1.7 x 10^308 到 1.7 x 10^308,可以表示非常大或非常小的数值。同时,双精度浮点数的精度也比单精度浮点数更高,可以表示更多的有效数字。
    在这里插入图片描述

    字符串(str):表示文本数据,由一系列字符组成,例如 “hello”、“world”、“Python” 等。python中的字符串可以用单引号和双引号或者三引号引起来,这是为了防止一个句子中出现其他引号的情况
    如下图,句子中出现了单引号和双引号,这是为了避免歧义,我们可以用三引号将字符串引起来。
    在这里插入图片描述
    les(s), 可用于求得字符串s的长度
    s3 = s1 + s2,表示将s1与s2拼接,赋值给s3
    布尔值(bool):表示真(True)或假(False)两种状态。
    在这里插入图片描述

    剩下的几种我们在之后的内容中详细说明

    列表(list):表示一组有序的元素,元素可以是不同的数据类型,用方括号 [] 包含,例如 [1, 2, 3]、[“apple”, “orange”, “banana”] 等。
    元组(tuple):与列表相似,但元素不可改变,用圆括号 () 包含,例如 (1, 2, 3)、(“apple”, “orange”, “banana”) 等。
    字典(dict):表示键值对的集合,用花括号 {} 包含,每个键值对用冒号 : 分隔,例如 {“name”: “Alice”, “age”: 25}。
    集合(set):表示一组唯一的元素,用花括号 {} 包含,没有重复值,例如 {1, 2, 3}、{“apple”, “orange”, “banana”} 等。

    3. 输入与输出

    3.1 输入

    python用input()t输入,如下图所示,python用Input输入,输入的数据类型默认是字符串类型str
    在这里插入图片描述
    若想以整数的数据类型进行使用,需要使用类型强制转换。如下图,b = int(b),将b由字符串类型强制转换为整数类型。
    在这里插入图片描述

    3.2 输出

    python用print()输出
    输出方式如下几种,

    print(变量1,变量2,.....)
    需要注意的是,这种输出方式对于变量的类型没有要求。
    
    • 1
    • 2

    在这里插入图片描述

    使用占位符输出指定格式的数据
    a = 178
    print("今年傻明高%d"%(a))
    b = 3.14159
    print("%.2f"%(b))      //保留小数点后两位小数
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    在字符串中插入数据,用f标注,数据用{}括起来
    print(f"我男票是{b},他{a}岁了")
    print(f'今天他有{d}%的几率惹我生气')
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    4. 注释

    python注释快捷键是ctrl+/,可同时选中多行,进行快捷键注释.
    单行注释,在句首加符号“ # ”,代表这一行是注释
    在这里插入图片描述
    多行注释,如下图所示,用三引号引起来,可用于多行注释
    在这里插入图片描述

    5. 运算符

    下面只介绍python中与java不同的运算符

    1. 15 //2 ,代表整除,只保留整数位
    2. 2 ** 3,表示2的3次幂
      其余运算符与java一致,可正常使用

    6. 条件语句

    如下3种if语句块,python中,if的条件语句不需要加括号,用“ :”代表一个语句块。并且if-else语句被替换成if-elif-else语句,python代码块中,对缩进的要求很严格,要注意格式。

    if a == 'hello':
        print(True)
    
    • 1
    • 2
    if a == 'hello/':
        print("True")
    else:
        print("False")
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    if a == 'hello/':
        print("Yes")
    elif a > 'hello/':
        print("Large")
    else :
        print('Small')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    pass可表示一个空行占位,即满足了条件,不进行任何操作。

    if d != 'love':
        pass
    else:
        print('i said love')
    
    • 1
    • 2
    • 3
    • 4

    7. 循环

    range规定是左闭右开

    for i in range(0,11):
        print(i,end=" ")
    
    • 1
    • 2

    在这里插入图片描述
    可以规定步长,如下图所示,每两个打印一个数

    for i in range(0,11,2):
        print(i,end=" ")
    
    • 1
    • 2

    在这里插入图片描述

    步长可以为负数,意思是倒着打印

    for i in range(10,-1,-2):
        print(i,end=" ")
    
    • 1
    • 2

    在这里插入图片描述

    8. 函数

    如下代码所示,即使是有返回值的函数,在python中也不需要写返回值的类型,只需要写def ,函数名,以及形参的列表,java对形参的类型不做要求,只要是能符合函数的规则都可以进行传参

    def sum_Num(x,y):
        return x + y
    t = sum_Num(1,2.13)
    print(t)
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    与Java不同,python的函数可以返回多个值,如下图,可以同时返回x,y以元组的方式进行接收。

    # //多个形参
    def point(x,y):
        return x*20,y*20
    x = 2
    y = 3
    x,y = point(x,y)
    print(x,",",y)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述
    在函数内部使用局部变量,python内部的局部变量在函数结束时就被销毁了,它的作用域就是在函数内部,若想在函数内部使用全局变量,需手动定义使用全局变量,如下代码

    #在函数内部全局变量
    g = 20
    def fun():
        global g
        g /= 5
    fun()
    print(int(g))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    # 形参默认值
    def add(h, j,de = 12):
        if de == 10:
            print(h,j)
        return h + j
    # 用于调试,传如默认参数10时可以打印参数值,便于调试观察
    num = add(12,13,10)
    print(num)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    
    # 根据形参个数进行传参
    def count(a, b, c):
        return a + b + c*2
    count_num = count(a = 10, c = 20, b = 50)
    print(count_num)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    9. 列表

    9.1 创建

    a = []
    b = list()
    c = [1, 'hello',True, 3.14, b]
    
    • 1
    • 2
    • 3

    9.2 根据下标访问元素

    print(c[3])
    //越界访问会报错
    print(c[100])
    //-1为倒数第一个元素,-2为倒数第二个元素
    print(c[-1])
    
    • 1
    • 2
    • 3
    • 4
    • 5

    9.3 列表切片

    冒号左边为左边界,右边为右边界,左闭右开。
    越界访问不报错,越界时打印到最后一个元素

    print(c[:])
    print(c[0:-1])
    print(c[0:100])
    print(c[:-2])
    print(c[2:])
    print((c[0::2]))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    9.4 遍历

    for elem in c:
        print(elem,end=" ")
    print()
    
    for i in range(0,len(c)):
        print(c[i],end=" ")
    print()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    9.5 插入元素

    越界添加时不报错,放到最后一个位置

    for i in range(0,len(c)):
        print(c[i],end=" ")
    print()
    c.insert(4,"hello")
    c.append("hhh")
    c.insert(0,"ddd")
    c.insert(100,"lll")
    for i in range(0,len(c)):
        print(c[i],end=" ")
    print()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述

    9.6 查找元素下标

    若元素不存在,则抛出异常

    b1 = "hhh" in c
    print(b1)
    print(c.index(1))
    print(c.index(3.14))
    print(c.index(-1))
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    9.7 删除元素

    # # 移除第一个值的“hello”的元素
     c.remove("hello")
    # # 删除末尾元素
     c.pop()
    # # 删除下标为1的元素
     c.pop(1)
     for elem in c:
        print(elem,end=" ")
     print()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    9.8 列表的连接

    d = [1,12,1.2]
    # 把d + c的数组赋值给d
    d = d + c
    for elem in d:
        print(elem,end=" ")
    print()
    # 把c放在d的后面
    d.extend(c)
    for elem in d:
        print(elem,end=" ")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述

    10. 元组

    元组不能被修改,其余的使用方法与列表类似

    10.1 创建

    y = tuple()
    z = ()
    u = (1,2,3,'s')
    
    
    • 1
    • 2
    • 3
    • 4

    10.2 元组的使用

    元组与列表的使用大体相同,除了涉及到修改数组元素的方法,其余方法列表皆可正常使用

    11. 字典

    11.1 创建

    d = {}
    di = dict()
    dic = {'name':'dm','age':12}
    
    • 1
    • 2
    • 3

    11.2. 查找value

    t1 = 'name' in dic
    print(t1)
    t2 = 'name' not in dic
    print(t2)
    # 查找value
    v1 = dic['name']
    print(v1)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    11.3 新增修改

    # 新增
    dic['sex'] = '女'
    
    # 修改
    dic['sex'] = '男'
    
    • 1
    • 2
    • 3
    • 4
    • 5

    11.4 删除

    # 删除
    dic.pop('sex')
    
    • 1
    • 2

    11.5 遍历

    for key in dic:
        print(key,dic[key])
    
    print(dic.keys())
    print(dic.values())
    print(dic.items())
    for key, value in dic.items():
        print(key, value)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

  • 相关阅读:
    【简单学习一下卷积神经网络】-基于肆十二的高考例子
    MySQL-DDL数据定义语言-约束
    获取任意时间段内周、季度、半年的二级联动
    Linux不同格式的文件怎么压缩和解压
    边缘计算:基于tflite实现andriod边缘端回归预测推理实战
    CentOS7.9离线安装Docker环境
    驱动——串口工具点灯实验
    动态内存管理
    CASIO FX-4800P圆曲线及缓和曲线上任意点切线方位角计算程序
    [技巧]Arcgis之图斑四至范围批量计算
  • 原文地址:https://blog.csdn.net/scsery/article/details/132603902