目录
学习内容
数字
-
长整型(Long Integer): 在Python中,整数没有大小限制,但是可以用大写或小写的
L来表示长整型,尽管这不是Python 3推荐的做法。 -
复数(Complex Numbers):
- 由实数部分和虚数部分组成,形如
real+imagj。 - 虚数部分必须有
j或J作为后缀。
- 由实数部分和虚数部分组成,形如
-
复数属性:
num.real: 返回复数的实数部分。num.imag: 返回复数的虚数部分。num.conjugate(): 返回复数的共轭。
-
混合模式优先级: 当不同类型的数值进行运算时,Python会根据这个优先级进行类型转换,从
int到long到float再到complex。 -
幂运算(Exponentiation):
- 使用
**运算符进行幂运算。 - 优先级介于一元运算符和二元运算符之间。
- 使用
-
位操作符(Bitwise Operators):
- 只适用于整数类型。
- 包括取反
~,与&,或|,异或^,左移<<,右移>>。
-
负数的位操作: 负数在位操作中被视为其正数的二进制补码。
-
位移操作:
num << N相当于num * (2 ** N),而num >> N相当于num / (2 ** N)。 -
进制转换:
int(obj, base): 将obj从base进制转换为整数。
-
数值运算内建函数:
abs(num): 返回num的绝对值。coerce(num1, num2): 将num1和num2转换为同一类型,返回一个元组。divmod(num1, num2): 返回两个数相除的商和余数的元组。pow(num1, num2, mod=1): 返回num1的num2次方,如果提供了mod,则再对结果取模。round(flt, ndig=1): 对浮点数flt四舍五入到ndig位小数。
-
仅适用于整型的内建函数:
hex(num): 将num转换为十六进制字符串。oct(num): 将num转换为八进制字符串。chr(num): 返回num对应的ASCII字符。
-
布尔值:
True和False在Python中是大小写敏感的,分别对应数值1和0。
这些概念是Python编程中数值操作的基础,涵盖了从基本的算术运算到更复杂的数值类型和函数。
字符串、列表和元组
-
字符串(String):
- 字符串是不可变的,意味着一旦创建就不能更改。要“改变”字符串,需要创建一个新的字符串。
- 可以使用三引号(
'''或""")定义多行字符串,包含换行符和制表符等特殊字符。
-
ASCII码:
- ASCII码使用7位二进制数表示英文字符,范围是32到126。
-
Unicode:
- Unicode使用一个或多个字节表示字符,可以表示超过90000个字符,突破了ASCII的限制。
-
字符串类型:
- ASCII字符串:
StringType类型。 - Unicode字符串:
UnicodeType类型。
- ASCII字符串:
-
默认编码:
- Python 3默认所有字符串字面量都是Unicode编码,不需要
u前缀。
- Python 3默认所有字符串字面量都是Unicode编码,不需要
-
编码和解码:
codec是编解码器的缩写。- Unicode编码规则:在程序中使用字符串时,如果需要使用Unicode,前面加上
u。 - 使用
unicode()而不是str()函数。 - 避免使用过时的
string模块。 - 只在写入或读取文件、数据库或网络时进行编码和解码。
-
Python标准库:
- 大部分模块兼容Unicode,除了
pickle模块只支持ASCII。
- 大部分模块兼容Unicode,除了
-
字符串的特性:
- Python字符串不是以NUL或
'\0'结束的,它们只包含定义的字符。
- Python字符串不是以NUL或
-
方法和返回值:
- 有些方法可以改变对象的值,但它们没有返回值,例如
sort()和extend()。
- 有些方法可以改变对象的值,但它们没有返回值,例如
-
列表(List)和元组(Tuple):
- 列表和元组是相似的序列类型,但它们在某些情况下各有优势。
- 列表是可变的,可以修改;元组是不可变的,一旦创建就不能更改。
list()和tuple()函数可以用来在列表和元组之间进行转换。
映射和集合类型
-
字典(Dictionary):
- 字典是Python中唯一的映射类型,使用键值对存储数据。
- 键必须是不可变类型,如整数、浮点数、字符串或元组,因为它们必须是可哈希的。
- 可以使用大括号
{}或dict()创建字典。 - 示例:
dict1 = {'name': 'earth', 'port': 80}。
-
字典的内建方法:
dict.clear(): 删除字典中的所有元素。dict.fromkeys(seq, val=None): 返回一个新字典,seq中的元素作为键,val作为所有键的初始值。dict.get(key, default=None): 返回字典中key对应的值,如果key不存在则返回default。dict.has_key(key): 检查字典中是否存在key,这是Python 2的写法,在Python 3中应使用key in dict。dict.items(): 返回一个包含所有键值对的视图。dict.keys(): 返回字典中所有键的视图。dict.values(): 返回字典中所有值的视图。dict.update(dict2): 将dict2中的键值对更新到字典中。
-
集合类型:
- 集合用于存储无序的唯一元素。
- 有两种类型的集合:可变集合(
set)和不可变集合(frozenset)。
-
创建集合:
- 使用
set()创建可变集合。 - 使用
frozenset()创建不可变集合。
- 使用
-
适用于所有集合类型的内建方法:
s.issubset(t): 判断s是否是t的子集。s.issuperset(t): 判断s是否是t的超集。s.union(t): 返回s和t的并集。s.intersection(t): 返回s和t的交集。s.difference(t): 返回s中存在而t中不存在的元素组成的集合。
-
集合操作符:
- Python 3.3+ 引入了集合的并集、交集、差集等操作符,如
|(并集)、&(交集)、-(差集)。
- Python 3.3+ 引入了集合的并集、交集、差集等操作符,如
-
集合的应用:
- 集合非常适合用于成员资格测试和去除重复项。
-
注意:
- 字典和集合都是基于哈希表实现的,因此它们的元素都是唯一的。
- 字典的键必须是可哈希的,而集合的元素也必须是可哈希的。
这些类型在Python中非常灵活和强大,常用于各种编程任务,包括数据存储、查找、去重等。
了解差不多后,最好要实践才可以哦,拜拜了大家










