• 【Python】Python基础


    一、字面值常量和表达式

    print(1 + 2 * 3) # 7
    print(1 + 2 / 3) # 1.6666666666666665
    
    • 1
    • 2

    这里的1 + 2 * 3就被称为表达式,表达式的运算结果称为表达式的返回值,而像1,2,3这样的数字称为字面值常量

    细节:

    在C/C++中,2 / 3是向下取整,而在Python中则是变成了浮点数。
    并且Python中不存在四舍五入的概念,所以第二个表达式的结果如上,Python中浮点数在内存中的存储遵循IEEE754标准。

    二、变量

    2.1 定义变量

    跟C/C++一样,Python也有变量

    a = 100 + 120
    print(a) # 220
    
    • 1
    • 2

    这里的a就是变量
    变量存在的目的就是把结果保存起来,方便后续使用

    2.2 变量的命名规则

    • 变量名由数字、字母、下划线构成。
    • 变量名不能以数字开头。
    • 变量名不能和Python的“关键字”重复。
    • 变量名大小写敏感,比如num和Num是两个不同的变量名。

    2.3 变量的类型

    Python中变量的类型不需要在定义的时候显式声明,是根据初始化的值的类型来进行确定的。

    • 整数 int
    a = 1
    print(type(a)) # 
    
    • 1
    • 2

    细节:

    与C/C++等其他语言不同的是,Python中int类型的变量能够表示的数据范围是没有上限的,只要内存足够大,理论上就可以表示无限大的数据。

    • 浮点数 float
    a = 1.01
    print(type(a)) # 
    
    • 1
    • 2

    与C/C++等其他语言不同的是,Python中的浮点数只有float一种类型,没有double类型,实际上Python中的float就相当于C/C++等语言中的double类型,表示双精度浮点数

    • 字符串 str
    a = 'abc'
    print(type(a))
    
    • 1
    • 2

    Python语法要求字符串必须要用引号括起来(单引号双引号三引号都行)

    如果字符串本身包含引号呢?

    a = "my name is "yyh"" # error
    
    • 1

    正确写法:

    a = "my name is 'yyh'"
    b = 'my name is "yyh"'
    
    • 1
    • 2

    字符串中有单引号,就用双引号引起来
    字符串中有双引号,就用单引号引起来

    如果同时有单引号和双引号呢?

    可以使用三引号

    '''或"""
    
    • 1
    a = '''My 'name' is "yyh"'''
    print(a) # My 'name' is "yyh"
    
    • 1
    • 2

    字符串也可以使用len来获取长度

    a = 'abcdef'
    print(len(a)) # 6
    
    • 1
    • 2

    跟C++一样,可以使用+对两个字符串进行拼接,比如:

    a = 'abcdef'
    b = 'ghi'
    c = a + b
    print(c) # abcdefghi
    
    • 1
    • 2
    • 3
    • 4
    • 布尔 bool

    布尔类型的取值只有两种,True(真)和False(假)。
    特别注意大小写

    a = True
    print(a) # True
    
    • 1
    • 2
    a = 10
    b = 20
    print(a == b) # False
    
    • 1
    • 2
    • 3

    2.4 不同类型大小

    int 默认四个字节,可以动态扩容
    float 固定八个字节
    bool 一个字节
    str 变长的

    2.5 动态类型

    动态类型与静态类型:

    • 动态类型: 在运行时,解释器基于变量值的类型决定变量的类型。
    • 静态类型: 在编译时,编译器基于所声明的数据类型确定变量的类型。

    C/C++等大多数语言都是静态类型语言,在编写静态类型语言的代码时,必须声明变量的数据类型,而Python则是一种动态类型语言, 因此在编写Python代码时不用声明变量的数据类型。

    a = 10
    print(type(a)) # 
    a = '10'
    print(type(a)) # 
    
    • 1
    • 2
    • 3
    • 4

    三、注释

    Python有两种注释方法:
    1️⃣ 注释行

    # 这是一个注释
    
    • 1

    2️⃣ 文档字符串

    """
    这是一个注释
    """
    
    • 1
    • 2
    • 3

    单引号双引号同理

    四、输入与输出

    输入输出的最基本的方法就是控制台,用户可以通过控制台输入一些字符串传递给程序,程序再通过控制台将其运行结果展示给用户。

    • 输出
    a = 100
    print(a) # 100
    
    • 1
    • 2

    格式化输出:

    预期格式化输出:a = 100

    a = 100
    print(f"a = {a}") # a = 100
    
    • 1
    • 2

    使用f作为前缀的字符串,称为f-string。

    • 输入
    num = input('请输入一个数字: ')
    print(f"输入的数字是 {num}")
    
    # 请输入一个数字: 5
    # 输入的数字是 5
    
    • 1
    • 2
    • 3
    • 4
    • 5

    input的返回值就是用户输入的内容,是字符串类型。

    a = input('请输入第一个数字: ')
    b = input('请输入第二个数字: ')
    print(f"a + b = {a + b}")
    
    • 1
    • 2
    • 3
    请输入第一个数字: 123
    请输入第二个数字: 456
    a + b = 123456
    
    • 1
    • 2
    • 3

    如果想要进行算术运算,那么需要在运算前对读取到的值进行类型转换。比如:

    a = input('请输入第一个数字: ')
    b = input('请输入第二个数字: ')
    a = int(a)
    b = int(b)
    print(f"a + b = {a + b}")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    请输入第一个数字: 123
    请输入第二个数字: 456
    a + b = 579
    
    • 1
    • 2
    • 3

    五、运算符

    5.1 算术运算符

    Python中的算术运算符,包括+-*/%**(幂)、//(地板除)。

    注意事项:

    两个整数相除后可能得到的是一个浮点数。不会舍弃小数
    **可以求一个数的整数次方,也可以求一个数的小数次方
    //是地板除,整数除以整数得到的结果还是整数(舍弃小数部分,向下取整)

    5.2 关系运算符

    <<=>>===!= 这一系列的运算符称为 关系运算符, 它们是在比较操作数之间的关系。

    这里特殊说一下两个字符串也可以直接比较大小。

    用的是字典序比较

    而浮点数比较不能直接使用==来判断两个浮点数是否相等,因为浮点数在计算机中的表示并不是精确的。比如:

    print(0.1 + 0.2 == 0.3) # False
    print(0.1 + 0.2) # 0.30000000000000004
    
    • 1
    • 2

    正确的比较方式应该是,判定这两个浮点数的差值是否小于允许的误差范围。比如:

    a = 0.1 + 0.2
    b = 0.3
    print(-0.000001 < (a - b) < 0.000001)  # True
    
    • 1
    • 2
    • 3

    5.3 逻辑运算符

    and or not 这一系列的运算符称为逻辑运算符

    • and:并且。两侧操作数均为True,则最终结果为True,否则为False(一假则假)
    • or:或者。两侧操作数均为False,则最终结果为False,否则为True(一真则真)
    • not:逻辑取反。操作数本身为True,则返回False,本身为False,则返回True。
    a = 100
    b = 200
    print(not a > b) # True
    
    • 1
    • 2
    • 3

    细节问题:

    在Python中支持连续比较,a < b and b < c等价于a < b < c,这个设定与其他编程语言都不相同。

    5.4 赋值运算符

    • =的使用

    链式赋值是使用=同时对多个变量进行赋值的常见方式,比如:

    a = b = 100
    print(f"a = {a}, b = {b}") # a = 100, b = 100
    
    • 1
    • 2

    多元赋值:

    a, b = 100, 200
    print(f"a = {a}, b = {b}") # a = 100, b = 200
    
    • 1
    • 2

    多元赋值能帮我们解决一些特殊问题,比如完成两个变量的交换

    a, b = 100, 200
    a, b = b, a
    print(a, b) # 200 100
    
    • 1
    • 2
    • 3
    • 复合赋值运算符

    对于复合赋值运算符+=来说,a += 1等价于a = a + 1,其他复合赋值运算符也是类似的道理。

    注意:

    C/C++等某些语言中支持++和–运算符,但Python中不支持这种运算符,如果需要对变量进行自增/自减,则直接进行对应的+= 1/-= 1操作。

  • 相关阅读:
    2023年8月第4周大模型荟萃
    建议收藏丨你想了解的动捕内容全在这儿!
    MySQL主从复制
    freemarker导出pdf
    万物皆可集成系列:低代码如何不成为数据孤岛
    GCC编译
    什么是json对象?
    opencv之cvScalar
    Es6重点总结
    一行代码解决Three.js中只能在一侧看到物体的问题
  • 原文地址:https://blog.csdn.net/qq_66314292/article/details/134480283