• Python基础(一):基本概念


    1.Python简介

    Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言。
    由荷兰人,吉多·范罗苏姆(Guido van Rossum) 1989年发明,1991年公布。

    Python的特点: 可读性强,简洁,开源,标准的脚本语言
    Python应用场景: 人工智能,Web应用开发,操作系统管理和服务器运维的自动化脚本,科学计算和数据分析,桌面软件开发,服务器软件和网络爬虫,游戏开发

    2.Python程序基本格式

    Python程序的构成
    python程由模块组成。一个模块对应Python源文件,一般后缀名是:.py
    模块由语句组成。运行Python程序时,按照模块中语句的顺序依次执行
    语句是Python程序的构造单元。用户创建对象,变量赋值,调用函数,控制语句等
    代码的组织和缩进
    Python语言直接通过缩进来组织代码块,缩进时,几个空格都是允许的,但是数目必须统一,通常采用”四个空格”表示一个缩进。

    if 2>1:
    	print("True")
    
    • 1
    • 2

    注释

    # 单行注释
    
    """
    多行注释
    """
    
    • 1
    • 2
    • 3
    • 4
    • 5

    换行连接符
    一行程序长度过长时,为了代码可读性更强,通常将一行比较长的程序分为多行。可以使用\行连接符,放在每行结束的地方。

    s = "welcome to\
    	xian\
    	traveling"
    
    • 1
    • 2
    • 3

    3.对象


    Python中,一切皆对象。每个对象由标识,类型,值组成。

    a = 10
    print(id(a))
    print(type(a))
    print(a)
    
    2567720141328
    <class 'int'>
    10
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    对象的本质就是:一个内存块,拥有特定的值,支持特定类型的相关操作
    内存示意图
    在这里插入图片描述

    4.引用

    在Python中,变量也称为:对象的引用。变量存储的就是对象的地址。变量通过地址引用了“对象”
    Python是动态类型语言
    变量不需要显式声明类型。根据变量引用的对象,Python解释器自动确定数据类型。

    5.Python标识符命名规则

    在这里插入图片描述
    Python标识符命名规则约定:

    类型规则举例
    模块和包名全小写字母,尽量简单。若多个单词之间用下划线math, os_study
    函数名全小写字母,多个单词之间用下划线隔开get_max
    类名首字母大写,采用驼峰原则。多个单词时,每个单词第一个字母大写,其余部分小写MyClass, Phone
    常量名全大写字母,多个单词使用下划线隔开SPEED, MIN

    6.变量和简单赋值语句

    变量的声明和赋值:用于将一个变量绑定到一个对象上

    a = 123
    
    • 1

    变量在使用前必须先被初始化
    变量赋值时,解释器先运行右边的表达式,生成一个代表表达式运算结果的对象,然后将这个对象地址赋值给左边的变量。

    删除变量和垃圾回收机制
    可以通过del语句删除不再使用的变量。
    如果对象没有变量引用,就会被垃圾回收器回收,清空内存空间

    a = 123
    del a
    
    • 1
    • 2

    常量
    Python不支持常量,即没有语法规则限制改变一个常量的值。
    我们只能约定常量的命名规则,以及在程序的逻辑上不对常量的值作出修改。

    MAX_SPEED = 120
    print(MAX_SPEED)
    MAX_SPEED = 150   #实际是可以修改的,只是逻辑上规定不做修改
    print(MAX_SPEED)  #输出150
    
    • 1
    • 2
    • 3
    • 4

    链式赋值
    链式赋值用于同一对象赋值给多个变量

    x = y = 123
    
    • 1

    系列解包赋值
    多个数据赋值给对应相同个数的变量(个数必须保持一致)

    a,b,c = 4,5,6
    # 使用系列解包赋值实现变量值交换
    a,b = 1,2
    a,b = b,a
    
    • 1
    • 2
    • 3
    • 4

    7.最基本内置数据类型

    Python中变量没有类型,但是对象有类型。Python中最基本的内置数据类型:

    整形 int整数,123,10
    浮点型 float小数:3.14,172e-2
    布尔型 bool表示真假,True, False
    字符串型 str由字符组成的序列,“abc”, ‘hello’

    整数的四种进制

    0b 或 0B二进制 0 1
    0o 或 0O八进制 0 1 2 3 4 5 6 7
    0x 或 0X十六进制 0 1 2 3 4 5 6 7 8 9 a b c d e f
    12, 345十进制

    使用int()实现类型转换

    • 浮点数直接舍去小数部分。如int(8.9)=9
    • 布尔值True转为1,False转为0
    • 字符串符合整数格式(浮点数格式不行)则直接转换成对应整数,否则报错
    >>> int("456")
    456
    
    • 1
    • 2

    自动转型
    整数和浮点数混合运算时,表达式结果自动转型成浮点数。

    >>> 2+8.0
    2.8
    
    • 1
    • 2

    浮点数

    • 浮点数可以用科学计数法表示。如 3.14 表示成:314E-2或314e-2
    • 浮点数在内存中也是按照科学计数法存储的。
    • 也可以使用float()将其它类型转换成浮点数
    • round(value)可以返回四舍五入的值,但是不会改变原有值,而是产生新的值
    >>> a = 3.5
    >>> print(round(a))
    6
    >>> print(a)
    3.5
    
    • 1
    • 2
    • 3
    • 4
    • 5

    布尔值

    • Python2中没有布尔值,直接用数字 0 表示 False , 用数字 1 表示True 。
    • Python3中,把 True 和 False 定义成了关键字,但他们的本质还是 1 和0 ,甚至可以和数字相加
    >>> print(True+1)
    2
    >>> print(False+1)
    1
    >>> print(True+False)
    1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    8.运算符

    基本运算符

    运算符说明示例结果
    +加法2+35
    -减法10-37
    *乘法2*612
    /浮点数除法7/23.5
    //整数除法8//32
    %模(取余)7%31
    **3**29

    加法操作补充

    • 数字相加 3+2 = 5
    • 字符串拼接 “3”+“2” = “32”
    • 列表,元组等合并 [1,2,3]+[5,6,7] = [1,2,3,5,6,7]

    乘法操作补充

    • 数字相乘 3*2 = 6
    • 字符串复制 “bob”*3 = “bobbobbob”
    • 列表,元组等复制 [1,2,3]*2 = [1,2,3,1,2,3]

    逻辑运算符

    运算符格式说明
    or 逻辑或a or ba为true,则不计算b,直接返回true;a为false,则返回b
    and 逻辑与a and ba为true,则返回b的值;a为false,直接返回false
    not 逻辑非not aa为true,返回false;a为false,返回true

    比较运算符
    所有比较运算符返回1表示真,返回0表示假。
    假设a=3, b=4

    运算符描述实例
    ==等于,比较对象的值是否相等(a == b) 返回 False。
    !=不等于,比较两个对象的值是否不相等(a != b) 返回 true.
    >大于,返回x是否大于y(a > b) 返回 False。
    <小于,返回x是否小于y。(a < b) 返回 true。
    >=大于等于,返回x是否大于等于y。(a >= b) 返回 False。
    <=小于等于,返回x是否小于等于y。(a <= b) 返回 true。

    在Python中,关系运算符可以连用

    a = 4
    print(a<=10)
    if(3<a<10):
    	print("a在3和10之间")
    
    • 1
    • 2
    • 3
    • 4

    位运算符
    按位运算符是把数字看作二进制来进行计算

    运算符描述
    &按位与运算符: 参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则0
    |按位或运算符: 只要对应的二个二进位有一个为1时,结果为就为1.
    ^按位异或运算符: 当两对应的二进制位相异时,结果为1
    ~按位取反运算符: 对数据的每个二进制取反,既把1变为0,把0变为1,~x类似于-x-1
    <<左移动运算符: 运算数的每个二进位全部左移若干位,由”<<”右边的数据指定移动的位数,高位丢弃,低位补0
    >>右移动运算符:把”>>”左边运算数的每个二进制位全部右移若干位,”>>”右边的数指定移动的位数

    增强赋值运算符
    复合赋值可以让程序更加精炼,提高效率

    运算符描述示例等价于
    +=加法赋值字符串拼接sum += “sxt”sum = sum + “sxt”
    -=减法赋值num1 -= nnum = num - n
    *=乘法赋值a *= ba = a * b
    /=浮点除赋值a/=ba = a / b
    //=整数除赋值a//=ba = a//b
    %=取余赋值a%=ba = a % b
    **=幂运算赋值a**=2a = a**2
    <<=左移赋值a<<=2a = a<<2
    >>=右移赋值a>>=2a = a>>2
    &=按位与赋值a&=ba = a&b
    |=按位或赋值a|=ba=a\b
    ^=按位异或赋值a^=ba = a^b
    • 与C和Java不同,Python不支持自增(++)和自减(–)

    同一运算符
    同一运算符用于比较两个对象的存储单元,实际比较的是对象的地址。

    运算符描述
    isis是判断两个标识符是不是引用同一个对象
    is notis not 是判断两个标识符是不是引用不同对象
    ====用于判断两个变量引用对象的值是否相等,默认调用对象的__eq__()方法

    成员运算符
    成员运算符测试实例中包含了一系列的成员,包括字符串,列表或元组

    运算符描述
    in如果在指定的序列中找到值返回 True,否则返回 False
    not in不在,则返回True
    >>> a = "Python"
    >>> b = "tho"
    >>> print(b in a)  #True
    >>> c = [10,20,30]
    >>> print(10 not in c) #False
    
    • 1
    • 2
    • 3
    • 4
    • 5
  • 相关阅读:
    「Python实用秘技08」一行代码解析地址信息
    未来市场对Java的需求高吗?
    安全关键软件开发与审定——DO-178C标准实践指南阅读笔记四——DO-178C及支持文件概览
    SSM+校园社团平台 毕业设计-附源码251554
    NFV中:DPDK与SR-IOV应用场景及性能对比
    实例分割Yolact边缘端部署 (二) 训练自己的模型-> onnx
    有了这个开源工具后,我五点就下班了
    乌班图分享文件夹
    程序员的健康生活
    任萧文——少年何妨梦摘星?敢挽桑弓射玉衡
  • 原文地址:https://blog.csdn.net/qq_44695386/article/details/127763146