• Python 基础入门


    给我家憨憨写的python教程

    ——雁丘

    关于本专栏

    关于Python安装与环境变量配置请查看本专栏文章Python安装与环境变量配置傻瓜式教程(2023年9月)

    关于Pycharm的安装部署和基本使用请查看本专栏文章Python解释器和Pycharm的傻瓜式安装部署

    一 Python简介

    1.1 Python优点

    适用面广、简单易学、开发效率高

    1.2 支持的编程方式

    支持面向对象、面向函数、函数式编程等多种编程方式,同时还是一种胶水语言,很容易与其他主流设计语言混合编程

    1.3 版本兼容问题

    1. Python3不兼容Python2,因为有重要的修正。比如Python3中3/4=0.75而不是0,所有的字符串都是Unicode字符串等
    2. Python 3.9+版本不能在Windows 7或更早版本上使用。

    1.4 Python的开发环境

    Python 开发环境通常包括两类:Python 编辑器集成开发环境(integrated development environment.IDE)

    1.4.1 常用的 Python 编辑器

    常用的 Python 编辑器有 Sublime TextVisual Studio Code等,它们首先需要安装好基本的 Python 运行环境,一般都具有自动补全和智能提示等编辑和调试功能。
    小巧,定制方便,但功能相对简单。

    1.4.2 常用的 Python IDE

    Python IDE 如 PyCharmAnaconda 等则功能更丰富,不仅包含基本的 Python 运行环境和编辑器,一般还具有项目管理和版本控制等功能,通常还预装了某些扩展库、文档和教程,可省去安装模块和寻找使用帮助的麻烦。

    Anaconda集成了大量流行的科学计算和数据分析第三方库,推荐新手和专供数据处理的人使用

    1.4.3 Python IDLE

    IDLE是 Python 官方内置的一个简单小巧的 IDE。它包含了编辑器、交互式命令行和调试器等基本组件,可以应付大多数 Python 的简单应用开发。在 Python 官网提供了多个操作系统下的IDLE 安装包。

    1.4.4 第三方库安装

    可以在 PyPI 页面上搜索和安装、发布 Python 第三方库(模块)
    安装其中的第三方库官方推荐使用Python 库管理工具 pip,只要将第三方库下载到本地然后进行安装即可。
    举例
    安装安卓自动测试库atx,步骤为:

    1. Python 官网下载文件 get-pip.py(目前 Python IDE 中一般都预装了 pip,不需要另外载和安装,直接使用第3步安装即可)
    2. 在命令提示符方式下运行如下命令安装 pip。
    python get-pip. py
    
    • 1

    3 使用 pip 安装 atx 第三方库。

    pip install atx
    
    • 1

    在这里插入图片描述

    1.5 Python 的运行方式

    无论哪种方式,实质上都是解释执行,代码较短或较多交互操作优先 Shell 交互方式 ;代码较长优先文件执行方式

    1.5.1 Shell 交互方式

    每输入一条命令就执行,常见于命令提示符和 Python 编辑器
    在这里插入图片描述

    1.5.2 文件执行方式

    创建一个扩展名为.py的文件,每次保存后整体运行
    在这里插入图片描述

    二 Python 基础语法

    2.1 Python 的基本构成

    变量表达式语句是 Python 程序的基本要素

    2.2 变量

    Python 中的变量(variable)是用来标识对象或引用对象的。Python 作为一种面向对象的编程语言,它的实例、函数、方法、类都是对象。

    2.2.1 对象的属性

    所有的 Python 对象都拥有三个属性,即身份类型

    1. 对象有唯一的身份用于标识自己,可以使用内建函数 id(指向对象的变量)来得到这个身份标识。
    2. 类型决定了该对象可以保存什么类型的值和进行怎样的操作等,可以用内建函数type()查看Python 对象的类型。

    2.2.3 变量名的命名规则

    Python 中变量名的命名规则也与大多数程序设计语言一样遵循标识符命名规则:

    • 首字符必须字母或下划线
    • 其余字符可以是字母、下划线或是数字
    • 区分大小写

    2.2.4 变量的使用

    Python 无需声明变量的类型,在第一次赋值由值自动确定变量的类型在这里插入图片描述
    在这里插入图片描述

    2.2.4 对象的管理

    对于内存中的对象 Python 会采用一种称为“引用计数”的方式进行管理
    当对象被赋给某个变量时,该变量计数器+1
    当计数器为0时,该对象的内存空间被回收

    a = 1.2 ; b = 1.2 # 此时a ,b 的id不同
    a = 1.2 ; b = a # 此时a ,b 的id相同
    
    • 1
    • 2

    但注意,对于小整数[ -5 , 256 ]和仅包含数字、字母和下划线的常量字符串 Python 会缓存和重用,即上述两种情况id均相同
    一个函数内部相同的不可变对象id也相同

    2.3 Python 的语句风格

    2.3.1 行与缩进

    1. 语句出现缩进表示语句块的开始,退出缩进表示语句块的结束
    for number in num
    	prog = prog * number
    print ('the prog is:',prog)
    
    • 1
    • 2
    • 3
    1. Python 可以把多个语句写在一行,但需要用分号;隔开,或者换行
    2. 一行长语句可以换行写,但需加上续行符\
    3. 小括号、中括号、花括号、三引号内部可以多行书写且无需续行符

    2.3.2 赋值

    1.+-*/常规赋值
    2. +=-=*=/=%=**=<<=>>=&=^=|=增量赋值

    m /= 5   # 相当 m = m / 5
    
    • 1
    1. 支持链式赋值
    b = a = a + 1  # 相当 a = a + 1 ,b = a
    
    • 1
    1. 支持多重复制
    a , b =1 , 2
    ( a , b ) = ( 1 , 2 )
    
    • 1
    • 2

    2.4 注释

    # 单行注释
    
    '''
    这是多行注释
    '''
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. #号和注释内容一般建议以一个空格隔开,一般用于单行代码的注释
    2. 单行注释可以嵌套一行的多行注释
    3. 多行注释可以嵌套单行注释
    #  ''' 多行注释'''
    
    '''
    # 单行注释
    '''
    
    • 1
    • 2
    • 3
    • 4
    • 5

    三 Python 数据类型基础

    变量没有类型,数据才有类型
    如何查看数据类型,通过内置函数type()

    type(变量名或数据)
    
    • 1

    3.1 数据类型总表

    Python 数据类型
    类型描述举例
    数字Number整型(Int)10,-10
    浮点型(Float)3.14159,-3.14159
    复数型(Complex)5j,(6+3j)
    布尔型(Bool)True,False
    序列Array字符串String用以存储文本'yanqiu'、"ayu"、'''ahao'''
    列表List有序的可变序列[ 1 , 'yanqiu' , 4 ]
    元组Tuple有序的不可变数列( 1 , 'yanqiu' , 4 )
    对象Range有规律的整数数列range(1,11)
    集合Set无序的不重复集合set_a = {'apple', 'banana', 'cherry'}
    映射Mapping字典Dictionary无序Key-Value集合favorite_language = { 'jen': 'python', 'phil': 'python'}

    3.2 非二进制数的表示

    非二进制数的表示
    进制举例
    二进制0b10
    八进制0b10
    十六进制0x10

    3.3 数字类型Number

    3.3.1 整型(int)

    >>> a=3
    >>>type(a)
    <class'int'>
    >>>type(-8)
    <class'int'>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在 Python3之后,不再严格区分intlong(长整型)

    3.3.2 布尔型(bool)

    >>> a=True
    >>>type(a)
    <class'bool'>
    >>>int(a)
    1
    >>>int(False)
    0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    bool实质是用0、1存储的,True对应1,False对应0,可以用内置函数int()返回布尔型变量的整型值
    元素除了是 0、空、False、None外 都算 True;

    3.3.3 浮点型(float)

    >>> 3.22
    3.22
    >>>9.8e3
    9800
    >>> type(-0.48e-2)
    <class'float'> 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    3.3.4 复数型(complex)

    >>> 3+5j
    (3+5j)
    >>>4j
    4j
    >>> type(3+5j)
    <class'complex'> 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    特别地,为了保证数是虚数,0j前的0不能省略

    3.4 序列(Array)

    这里仅简单介绍,详细的使用方法参见本系列下篇

    3.4.1 字符串(String)

    字符串(string)用引号引起来的字符集合。字符串创建后不可变,在 Python 中可以使用单引号、双引号、三引号表示字符串。例如:

    >>> myStringl = 'Hello, World!'
    >>> myString2 = "Hello, World!"
    >>>> myString3 = '''Hello, World! '''  #用 print()函数输出这 3个字符串变量的结果都是
    "Hello,World!"
    "Hello,World!"
    "Hello,World!"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    单个元素通过索引来访问,索引值从0开始
    多个字符通过切片操作来访问。

    >>> myStringl[ 0]
    'H'
    
    • 1
    • 2

    3.4.2 列表(List)

    列表是 Python 中有特色的经典数据类型。列表与字符串一样也是序列类型,但是列表是可变的容器。

    与传统的数组相比,列表可以存储不同类型的数据对象

    列表也同样支持索引和切片操作。

    >>> aList = [ 1, 'Maths ', 88]
    >>> aList
    [1,'Maths',88]
    >>> aList[2] = 90  # 改变了索引值为2的元素的值
    >>>> aList
    [1, ' Maths ',90]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    3.4.3 元组(Tuple)

    元组列表有很多相似的地方,它们都可以存储不同类型的数据对象,都支持索引和切片操作等。但元组是不可变的

    >>> aTuple = (1,'Maths',88)
    >>> aTuple
    (1,'Maths',88)
    >>> aTuple[2] = 90 # 在元组中试图改变元素值会报错
    	Traceback ( most recent call last) :
    	File " " , line 1, in <module>
    		aTuple[2] = 90
    	TypeError: 'tuple' object does not support item assignmen
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    3.4.4 对象(Range)

    Python 中使用range()函数生成一个不可变的 range 对象,一个有规律的整数序列。例如

    >>> list( range( 1, 11) )
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    
    • 1
    • 2

    range()函数常常用在 for 循环中

    3.5 映射(Mapping)/字典(Dictionary)

    字典是 Python 中唯一的一种映射类型。字典中每一个元素都由一个和一个构成的键值对组成。

    使用不可变对象作为键,常见的是使用字符串作为键去索引一个值

    >>> aDict = {'sine ': ' sin ', ' cosine ': ' cos ', ' PI': 3. 14159}
    
    • 1

    字典通过键来访问值

    >>> aDict[' sine ']
    'sin '
    # 通过键'sine'得到值'sin'。
    
    • 1
    • 2
    • 3

    3.6 数据类型转换

    数据类型之间,在特定的场景下,是可以相互转换的,如字符串转数字、数字转字符串等,由于 Python 是一种强类型的语言,所以在运算中变量类型不能自动转换

    1. 格式:语句(函数)
    int(x)  # 将x转换为一个整数
    float(x) # 将x转换为一个浮点数
    str(x)   # 将x转换为字符串
    
    • 1
    • 2
    • 3
    1. 浮点数转整数丢失小数部分
  • 相关阅读:
    在Langchain中使用ConversationSummaryMemory给链增加记忆
    前端vue点击图片上传(带封装方法)
    vue+element-plus完美实现跨境电商商城网站
    高防服务器主要运用在哪些场景?
    Android 自定义PopupWindow,实现下拉框
    电脑重装系统后Win11用户名怎么更改
    基于opencv+tensorflow+神经网络的智能银行卡卡号识别系统——深度学习算法应用(含python、模型源码)+数据集(二)
    jumpserver堡垒机/跳板机
    【学习笔记】用线段树维护区间计数问题
    LeetCode·每日一题·808.分汤·动态规划
  • 原文地址:https://blog.csdn.net/yanqiu12138/article/details/132911578