Python学习笔记总结

一、Python初识与环境准备

Python特点:最接近自然语言的面向对象的模块化编程语言,用于人工智能、大数据、爬虫、Web、测试、脚本处理、运维等领域。

环境准备:包括Python虚拟运行环境Anaconda和Python集成开发环境PyCharm。

Anaconda:用于管理和创建运行Python代码的虚拟环境,有环境管理、包管理、跨平台支持等功能。下载地址:<https://www.anaconda.com/download/>,安装时注意不要勾选最后一步的两个框。可修改默认路径配置,使用conda命令进行环境查看、创建、切换、删除及包管理等操作。

PyCharm:集成开发环境,用于写Python代码。官网:<https://www.jetbrains.com/zh-cn/pycharm/>,安装后需进行解释器和编辑窗口的简单配置,如设置滚轮控制字体大小、安装中文版插件等。

Jupyter:开放源代码的互动式计算工具,广泛用于数据分析、机器学习和科学计算等领域,允许用户在文档中结合代码、文字、数学公式和可视化图表。可通过搜索JupyterNotebook或Jupyterlab启动,建议指定虚拟环境和工作目录的方式启动。

学前准备:了解Python注释(单行用,多行用三单引号或三双引号)、输入(input函数)和输出(print函数)等基础内容。

二、Python基础

语句结尾:可以加分号,但一般不加;使用缩进组织代码和代码块。

变量:代数思想,缓存数据,使用前必须声明,无类型,绑定的对象有类型。命名规则:只能包含字母、数字和下划线,不能以数字开头,区分大小写,不能使用保留字。命名约定:通常用小写字母,多个单词组成的变量名用匈牙利命名法或驼峰法,变量名要简短、有意义,纯大写字母一般表示常量,变量名用名词,函数名用谓词,类名采用驼峰形式。

基础变量类型:包括字符串、数字(整数、浮点数、布尔数)、容器(列表、元组、字典、集合、字节串)等。按是否可修改划分,分为不可变数据(Number、String、Tuple)和可变数据(List、Dictionary、Set)。

复合类型初识:列表(可变容器,用方括号标注)、元组(不可变容器,用小括号标注)、字典(键-值对形式,键唯一且不可变,用花括号标注)、集合(无序、不可重复的数据,用花括号或set函数创建)。

可变与不可变:不可变类型值一旦创建无法改变,如数值类型、字符串、元组、冻结集合、布尔值、字节串和None;可变类型值在创建后可修改,如列表、字典、集合、自定义对象。二者在内存管理、行为差异、作为字典键、类型判断等方面有所不同。

类型判断与转换:使用isinstance判断类型,常见类型转换函数包括int()、float()、str()、list()、tuple()、set()、dict()、bool()等。

三、运算符与表达式

算术运算符:+(加法)、-(减法)、(乘法)、/(除法)、%(取模)、(幂运算)、//(整除)。

比较运算符:==(等于)、!=(不等于)、<(小于)、>(大于)、<=(小于等于)、>=(大于等于)。

逻辑运算符:and(与)、or(或)、not(非)。

赋值运算符:=(赋值)、+=(加法赋值)、-=(减法赋值)、=(乘法赋值)、/=(除法赋值)、%=(取模赋值)、=(幂运算赋值)、//=(整除赋值)。

位运算符:&(按位与)、|(按位或)、^(按位异或)、~(按位取反)、<<(左移位)、>>(右移位)。

身份运算符:is(判断对象是否相同)、isnot(判断对象是否不同)。

成员运算符:in(判断值是否存在于序列中)、notin(判断值是否不存在于序列中)。

三目运算符:max=aifa>belseb。

优先级:通过括号明确优先级。

表达式:由一个或多个操作数和运算符组成,可产生一个值。包括算术表达式、比较表达式、逻辑表达式、赋值表达式、成员表达式、身份表达式、三元表达式、函数调用表达式、推导式、Lambda表达式、生成器表达式、调用运算符等。

语句:计算机执行程序的最小单位,包括赋值语句、条件语句、循环语句、死循环、循环控制语句、容器与循环、函数定义语句、异常处理语句、导入语句、注释语句、类定义语句、with语句等。

四、Python函数

基础认知:函数是可以重复执行的语句块,用于封装语句块,提高代码的重用性,是面向过程编程的最小单位。定义使用def语句,调用时函数名后跟小括号。

内置函数:Python提供了大量可直接使用的内置函数,如all()、sum()、sorted()、reversed()、callable()、zip()、eval()、exec()、globals()和locals()等。

调用传参:包括位置传参、关键词传参、参数默认值、可变位置参数、可变关键词参数、多参数解包等方式。

可变和不可变参数:不可变类型传递方式是值传递,修改不会影响外部变量;可变类型传递方式是引用传递,修改会影响外部变量。可通过复制对象避免可变类型副作用。

匿名函数:没有名字的函数,用lambda定义,适用于需要一个简短的、临时的函数场景,可与高阶函数如map()、filter()和sorted()等一起使用。

高阶函数:可接受一个或多个函数作为参数,或者返回一个函数作为结果的函数,如map、filter、reduce等。

变量作用域:遵循LEGB规则(Local,Enclosing,Global,Built-in),依次搜索变量的定义位置。

函数内存分配:函数代码存储到代码区,调用时在内存中开辟栈帧存储内部变量,调用后栈帧释放。

递归函数:函数直接或间接调用自身,需设定终止条件避免无限递归,用于解决可分解成相似子问题的复杂问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值