Python程序设计基础与应用 第二章-内置对象、运算符、表达式、关键字

第二章-内置对象、运算符、表达式、关键字

2.1 Python常用内置对象

Python中的对象有内置对象、标准库对象和扩展库对象
内置对象可以直接使用
标准库对象需要导入之后才能使用
扩展库对象需要先安装相应的扩展库然后才能导入并使用

2.1.1 常量与变量

Python中,不需要声明变量名及其类型,赋值语句可以直接创建任意类型的变量
Python变量并不直接存储值,而是存储了值得内存地址或者引用,所以变量类型可以随时改变

2.1.2 数字类型

Python内置的数字类型有整数、实数和复数

整数:
二进制:以0b开头,0或1
八进制:以0o开头,0~7
十六进制:以0x开头,0~9以及a、b、c、d、e、f

2.1.3 字符串

使用单引号、双引号、三单引号、三双引号作为定界符来表示字符串,并且不同定界符直接可以互相嵌套
Python 3.x全面支持中文,中文和英文字母都作为一个字符对待
加号运算符连接字符串
乘号运算符对字符串进行重复
使用切片访问字符串中的一部分字符

2.1.4 列表、元组、字典、集合

2.2 Python运算符与表达式

运算符优先级遵循的规则为:算术运算符优先级最高、其次为位运算符、成员测试运算符、关系运算符、逻辑运算符等

2.2.1 算术运算符

+:用于算术加法;用于列表、元组、字符串的连接
*:用于算术乘法;用于列表、元组、字符串这几个序列类型与整数的乘法,表示序列元素的重复
/和//:表示算数除法和算术求整商
%:用于整数或实数的求余数运算;用于字符串格式化 eg:’%f,%s’ % (65, 65)---->‘65.000000,65’
**:表示幂运算

2.2.2关系运算符

可连用,要求操作数之间必须可比较大小

2.2.3 成员测试运算符

成员测试运算符in用于成员测试,即测试一个对象是否包含另一个对象

2.2.4 集合运算符

&:集合的交集
|:集合的并集
^:集合的对称差
-:集合的差集

2.2.5 逻辑运算符

逻辑运算符and、or、not常用来连接条件表达式构成更加复杂的条件表达式
and和or具有惰性求值或逻辑短路的特点

2.2.6 补充说明

Python不支持++和–运算符

2.3 Python常用内置函数用法

使用help(函数名)可以查看某个函数的用法

2.3.1 类型转换与判断

内置函数bin()、oct()、hex()用来将整数转换为二进制、八进制、和十六进制形式,这3个函数要求参数必须为整数
float()将其他类型数据转换为实数
complex()可以用来生成复数
ord()用来返回单个字符的Unicode码
char()用来返回Unicode编码对应的字符
str()将任意类型的参数转化为字符串
list()、tuple()、dict()、set()用来把其他类型的数据转换为列表、元组、字典和可变集合,或者创建空列表、空元组、空字典和空集合
eval()用来计算字符串的值,有些场合也可以用来实现类型转换
type()和isintance()用来判断数据的类型

2.3.2 最值和求和

max()、min()、sum()用于计算列表、元组或其他包含有限个元素的可迭代对象中所有元素最大值、最小值以及所有元素之和。
函数max()和min()还支持key参数,用来指定比较大小的依据或规则,可以是函数或lambda表达式

2.3.3 基本输入/输出

input()基本输入函数,作为字符串对待。可用int()、float()、eval()对用户输入的内容进行类型转换
print()基本输出函数,用于输出信息到标准控制台或指定文件

print(value1,value2,...,sep=' ',end='\n',file=sys.stdout,flush=false)
#sep参数用于指定数据之间的分隔符,默认为空格

2.3.4 排序与逆序

sorted()对列表、元组、字典、集合或其他可迭代对象进行排序并返回新列表,支持使用key参数指定排序规则
reversed()可以对可迭代对象(生成器对象和具有惰性求值特性的zip、map、filter、enumerate等类似对象除外)进行翻转(首尾交换)并返回可迭代的reversed对象

2.3.5 枚举与迭代

enumerate()用来枚举可迭代对象中的元素,返回可迭代的enumerate对象
每个元素都是包含索引和值的元组

2.3.6 map()函数、reduce()函数、filter()函数

map()函数
把一个函数func依次映射到序列的每个元素上,并返回一个可迭代的map对象作为结果。
map对象中的每个元素是原序列中元素结果函数func处理后的结果,map()函数对原序列作任何修改
reduce()函数
将一个接收两个参数的函数以迭代累积的方式从左到有依次作用到一个序列或迭代器对象的所有元素上,并允许指定一个初始值
filter()函数
将一个单参数函数作用到一个序列上,返回该序列中使得该函数返回值为True的那些元素组成的filter对象

2.3.7 range()函数

range([start],stop[,step])

有range(stop)、range(start,stop)和range(statr,stop,step)
返回具有惰性求值特点的range对象,包含左闭右开区间[start,stop)内以step为步长的整数,其中参数start默认为0,step默认为1

2.3.8 zip()函数

把多个可迭代对象中对应位置上的元素压缩到一起,返回一个可迭代的zip对象
每个元素都是包含原来多个可迭代对象对应位置上元素的元组
最终结果中包含的元素个数取决于所有参数序列或可迭代对象中最短的那个
注意:zip对象只能遍历一次,访问过的元素就不存在了。enumerate、filter、map对象以及生成器对象也有这个特点

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值