Python入门
2024-03-14 11:29:58 8 举报
AI智能生成
登录查看完整内容
Python是一种广泛应用于web开发、数据分析、机器学习等领域的编程语言。其简洁易懂的语法和丰富的库资源,使得开发者能够快速上手并实现强大的功能。Python的入门学习主要包括理解Python的基础语法、数据类型、函数和面向对象编程等概念。同时,通过实际操作,如编写Python脚本、使用Python库进行数据分析等,可以加深对Python的理解和掌握。此外,还可以学习如何使用Python开发web应用、进行机器学习等高级技能。
作者其他创作
大纲/内容
没有编译环节
解释型语言
提示符环境 >>> 后可以直接执行代码
交互式语言
封装、继承、多态
面向对象语言
脚本语言
广泛且丰富的库
可移植性
可扩展和可嵌入
自动内存管理
自动识别类型
动态类型
GUI编程
特点
源码由 UTF-8 编码
#
注释
\\
单行语句多行写
;
多行语句单行写
打印不换行
:
条件语句结束
基础语法
int
float
True = 1
False = 0
python中布尔是数字类型、能与数字相加
boolean
实部和虚部(用 j 或 J来表示)的数组成
complex/复数
二进制--0b 八进制--0o 十六进制--0x
bin(二进制) oct(八进制) hex(十六进制)
进制
abs(绝对值) ceil(向上取整) fabs(以浮点数返回绝对值) floor(向下取整)
返回 x 以 y 为底的对数
返回 x 的整数和小数部分
modf(x)
次幂
四舍五入、y表示保留几位
x的平方根
sqrt( x )
数学函数
随机挑选一个元素
choice( x )
从指定范围内获取一个元素
随机生成
random()
排序
shuffle( x )
随机生成下一个实数、在 x 和 y 范围内
随机生成器的种子
seed()
随机数函数
x的反余弦弧度值
acos(x)
x的反正余弦弧度值
asin(x)
x的反正切弧度值
astan(x)
给定的 X 及 Y 坐标值的反正切值
x的弧度的余弦值
cos(x)
返回欧几里德范数
返回的x弧度的正弦值
sin(x)
返回x弧度的正切值
tan(x)
将弧度转换为角度
degrees(x)
将角度转换为弧度
radians(x)
三角函数
圆周率
pi
常量、自然常数
e
数字常量
+ - * /(返回浮点) //(返回整数、往小取) % **(幂)
简单
对比 java 多了 **= //= :=(赋值和返回赋值的值)
赋值
&(且) |(或) ^(相同则0,不相同则1) ~(取反) >>(二进制右移) <<(二进制左移)
位
and or not(取反)
逻辑
in not in
成员
is is not
身份
运算符
数字类型
单行
\"
多行
\"\"\"
字符串重复
*
f\"{表达式}\"
格式
字符串嵌套表达式、有点java中aviator工具的味道、注意你需要有这个变量
f
拼接
+
从左至右 0
从右至左 -1
索引方式(左闭右开)
变量 [ 头下标 : 尾下标 : 步长 ]
截取
r 放前面、不会发生转义失效
续行符
响铃
\\a
退格
\\b
空格
\\000
换行
\
纵向制表符
\\v
横向制表符
\\t
加载进度
回车
换页
\\f
八进制
\\yyy
十六进制
\\xyy
转义字符
capitalize() 首字符大写 、 center() 、 isalnum() 、 isalpha() 、 isdigit() 、 isspace() 、 istitle() 、 isupper() 、 join(seq)isnumeric() 、 islower() 、 count() 、 bytes.decode() 、 encode() 、 endswith() 、 expandtabs() 、 find() 、 index()
len(string) 、 ljust() 、lower() 、lstrip() 、maketrans() 、 min(str) 、 max() 、 replace() 、 rfind() 、 rindex() 、rjust() 、 rstrip() 、split() 、splitlines() 、 startswith() 、 strip() 、 swapcase() 、title() 、translate() 、upper() 、zfill (width) 、isdecimal()
内建函数
字符串类型--str
区分可变和不可变、看内存地址
可不同类型、可重复、元素不可改变
元组可以包含可变列表
一个元素、后面需要跟逗号、否则默认整数
列表名 [ 头下标 : 尾下标 : 步长 (负数、逆向读取) ]
连接
len() max() min() tuple()
函数
元组(相当于java中的数组)
不会认为子类是一种父类类型
type( x )
会认为子类是一种父类类型
类型判断
del 对象名 或 某个索引值
删除
类型( x )
类型转换
数字[Number]、字符串[String]、元组[Tuple]
不可变数据
可不同类型、可重复、元素可改变、有序、有索引
案例:翻转字符串
列表连接
列表重复
append() 、 count() 、 extend(追加一个序列) 、 index() 、 insert() 、 pop(移除第一个) 、 remove() 、 reverse() 、 sort() 、 clear() 、 copy()
方法
列表(相当于java中的list集合)
可用于创建空集合
名称 = set( [ 元素 ] )
可不同类型、不可重复、元素可改变、无序、无索引
- ( 差集 ) 、 | (或、并集) 、 & (并、交集) 、^ ( 不同时存在 )
运算
add() 、 clear() 、 copy() 、 difference() 、 difference_update() 、 discard() 、intersection() 、 intersection_update() 、isdisjoint() 、issuperset() 、pop() 、remove() 、 symmetric_difference() 、symmetric_difference_update() 、union() 、update() 、len()
集合Set(相当于java中的set集合)
内置函数
dist()
空字典创建
可不同类型key、key唯一、无序
len() str() type()
字典(相当于Java中Map)
列表[List]、集合[Set]、字典[Dictionary]
可变数据
比较类型必须整数比较
整数值(0~255)
类型
名称 = b\" 值 \"
不可变的二进制序列、用于处理图像文件、视频音频等
byte类型
隐式转换(默认转)
repx() --> 转表达式
eval() --> 计算字符串中有效python表达式、并返回对象
frozenset() --> 转不可变集合
显示转换(强转)
数据类型转换
python3 脚本文件
脚本式编程
为java平台设计的python解释器、可以把python代码编译成java字节码执行
Jython
C开发的
Cpython
解释器
基本数据类型
键盘录入
相当于java new Scanner(System.in)
input( 显示语句 )
等待键盘中断
pass
if 条件: 执行语句 elif 条件: 执行语句 else 执行语句
相当于java中 if elseif else
case 可以跟多个值,用 | 隔开
match 条件: case 值 : 执行语句 case _ : 执行语句
相当于java中 switch case default
条件控制
while 条件 : 执行语句 else : 执行语句
相当于java中 while(){}|
用于遍历数组、列表、集合等迭代对象
连续自增 x开始 y结束 z步长
同时拿到 k,v 的值
enumerate()
同时遍历多个集合
zip()
遍历一个已排序的
sorted()
for 变量 in 条件 : 循环体 else : 执行语句
相当于java中 for(){}
结束循环
break
跳过本次循环
continue
同java
循环控制
列表对象 = [ 返回值 for 变量 in 列表 if 条件 ]
列表推导式
字典对象 = { 返回值 k:v for key in 字典 if 条件 }
字典推导式
集合变量 = { 返回值 for v in 集合 if 条件 }
集合推导式
返回对象是生成器、必须强转tuple
元组变量 = ( 返回值 for 变量 in 元组 if 条件 )
元组推导式
迭代集合 将变量迭代传入给表达式 表达式和变量名称得相同(除字典推导式)
推导式
创建迭代器对象
1. iter()
输出迭代器下一个元素
2.next()
相当于java迭代器 Iterable
用于标记迭代得完成、防止无限循环的情况
StopIteration
迭代器
用于暂停和恢复函数
执行函数会将 yield 后面的值进行返回
生成器函数返回的是迭代器函数
yield
生成器
迭代器和生成器
参数默认转成元组
函数中的参数前面加 *
参数默认转成字典
函数中的参数前面加 **
参数默认转成关键字参数
可以单独出现 * 参数
不定长参数
函数中的参数后面赋值
默认参数
但传参需要给参数后面赋值
不用指定顺序
多个参数
传参需要给参数后面赋值
关键字参数
指明函数形参必须使用指定位置参数、不能使用关键字参数的形式
/
强制位置参数
def 函数名( 参数 ) :
递归函数
函数名 = lambda 参数 : 函数体
filter() 、 map() 、 reduce()
搭配使用
使用 lambda 来创建函数
匿名函数
不带参数值的 return 语句返回 None
return
相当于java中的方法
import 模块
导入整个模块
导入模块中单个或多个函数
取别名
as
import
每个模块都有一个__name__属性,当其值是'__main__'时,表明该模块自身在运行,否则是被引入
可以找到模块内定义的所有名称
dir()
模块
函数返回一个用户易读的表达形式
str()
字符串靠右、左边填充空格
rjust()
返回新的字符串
ljust() || center()
数字字符串左边填充0
zfill()
产生一个解释器易读的表达形式
repr()
指定变量的位置
f 表示保留小数
d 表示宽度
数字还可以跟 [ ] 找索引
后面可以跟 0 : xf || xd
字符串中空号为数字
变量得赋值给参数名
字符串中空号为关键字
!a (使用 ascii()) !s (使用 str()) !r (使用 repr())
前面两个可以组合使用
跟在字符串后面、格式化
.format()
输出格式
file: 必需,文件路径(相对或者绝对路径)。
mode:文件的模式
buffering: 设置缓冲
encoding: 一般使用utf8
errors: 报错级别
newline: 区分换行符
closefd: 传入的file参数类型
opener: 设置自定义开启器,开启器的返回值必须是一个打开的文件描述符。
如果不是字符串、需要转换 str()
写
f . write()
写多行
f . writelines()
关闭
f . close()
指定数量
f . read( size )
一行
f . readline()
所有行
f . readlines()
可以用 for 循环
返回当前的指针的位置
f . tell()
offset:移动的位置
0:起始 1:当前 2:末尾
form:从哪里开始
f . flush()
f . fileno()
如果文件连接到一个终端设备返回 True,否则返回 False
f . isatty()
从文件的首行首字符开始截断,截断文件为 size 个字符、截断之后后面的所有字符被删除
f . truncate([size])
读和写文件
序列化:将程序中运行的对象信息保存到文件中去,永久存储。
反序列化:能够从文件中创建上一次程序保存的对象
实现了基本的数据序列和反序列化
pickle 模块
输入和输出
异常在 else 抛出,会在finally执行完毕后 在抛出异常
try: 正常代码逻辑 raise KeyboardInterrupt #无论在任何情况下都会执行的清理行为except 错误类型: 执行语句except 错误类型: 执行语句else: 没有错误、执行语句finally: 无论如何执行的语句
捕获异常
raise Exception(\"异常语句\")
抛出异常
继承 Exception
自定义异常类
assert 条件表达式 等价于 if not expression : raise AssertionError
紧跟参数
语法格式
assert
断言
等价于
with open(\"myfile.txt\
with 关键字
错误和异常
class 类名
def 对象名
def __对象名
私有
__属性名
属性
构造方法
def _init_()
类似于 java中 this 关键字
font color=\"#ff0f0f\
self
多继承
class 类名( 父类 )
class 类名( 模块名 . 父类 )
不同模块
继承
引用父类
两个类具有继承关系、并且都有同名的方法
方法重写
同类中、方法名相同、参数不同
方法重载
__del__ : 析构函数,释放对象时使用
__repr__ : 打印,转换
__setitem__ : 按照索引赋值
__getitem__: 按照索引获取值
__len__: 获得长度
__cmp__: 比较运算
__call__: 函数调用
__add__: 加运算
__sub__: 减运算
__mul__: 乘运算
__truediv__: 除运算
__mod__: 求余运算
__pow__: 乘方
专有方法
类
面向对象
局部变量修改全局变量、需要内部声明
global 变量
global
局部变量往上提升一层作用域、该层并非全局
nonlocal 变量
nonlocal
命令空间和作用域
提供了一个函数用于从目录通配符搜索中生成文件列表
glob
文件通配符
zlib
数据压缩
timeit
性能度量
扫描模块并根据程序中内嵌的文档字符串执行测试
doctest
不像 doctest容易使用、可以在一个独立的文件里提供一个更全面的测试集
unittest
标准库
实例
入门
Python入门
0 条评论
回复 删除
下一页