python学习笔记
2025-02-12 18:07:37 13 举报
AI智能生成
自用
作者其他创作
大纲/内容
基本数据类型
数字
整型int
Python3 整型是没有限制大小的
浮点数float
浮点型由整数部分与小数部分组成
浮点型也可以使用科学计数法表示
(2.5e2 = 2.5 x 102 = 250)
(2.5e2 = 2.5 x 102 = 250)
布尔型bool
复数complex
可以用a + bj,或者complex(a,b)表示
复数的实部a和虚部b都是浮点型。
数学常用函数:https://www.w3cschool.cn/python3/python3-number.html
数字类型转换
int(x) 将x转换为一个整数。
float(x) 将x转换到一个浮点数。
complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。
complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式
float(x) 将x转换到一个浮点数。
complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。
complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式
序列类型
字符串
定义:单引号'' 或 双引号""
Python 访问子字符串,可以使用方括号 []来截取字符串
参数格式化
搭配格式化符号和辅助指令,格式化字符串
例如:print ("我叫 %s 今年 %d 岁!" % (name, age))
例如:print ("我叫 %s 今年 %d 岁!" % (name, age))
格式化参数:https://www.w3cschool.cn/python3/python3-string.html
字面量格式化:f-string
字符串以 f 开头,后面跟着字符串
字符串中的表达式用大括号 {} 包起来,它会将变量或表达式计算后的值替换进去
例如:name = 'W3Cschool'
print(f'Hello {name}') # 替换变量
字符串中的表达式用大括号 {} 包起来,它会将变量或表达式计算后的值替换进去
例如:name = 'W3Cschool'
print(f'Hello {name}') # 替换变量
函数格式化:.format()
format 函数可以接受不限个参数,位置可以不按顺序
基本语法:{<参数序号>: <格式控制标记>}
例如:my_list = ['w3cschool教程', 'www.w3cschool.cn']
print("网站名:{0[0]}, 地址 {0[1]}".format(my_list))
例如:my_list = ['w3cschool教程', 'www.w3cschool.cn']
print("网站名:{0[0]}, 地址 {0[1]}".format(my_list))
<格式控制标记>:用来控制参数显示时的格式
包括:<填充><对齐><宽度>,<.精度><类型>6 个字段,这些字段都是可选的,可以组合使用。
包括:<填充><对齐><宽度>,<.精度><类型>6 个字段,这些字段都是可选的,可以组合使用。
具体使用参考:https://blog.csdn.net/jmeter_postman/article/details/144131197
按照顺序依次匹配参数:
print("my name is {},i am {} years old,my weight is {}.".format("Tom",8,"80kg"))
#my name is Tom,i am 8 years old,my weight is 80kg.
#my name is Tom,i am 8 years old,my weight is 80kg.
按照索引依次匹配参数:
print("my name is {0},i am {1} years old,i love {0}.".format("Tom",8))
#my name is Tom,i am 8 years old,i love Tom.
#my name is Tom,i am 8 years old,i love Tom.
按照参数名依次匹配参数:
name='Tom'
age=8
#以f开头表示在字符串中支持大括号内的python表达式
print(f"my name is {name},i am {age} years old,i love {name}.")
#my name is Tom,i am 8 years old,i love Tom.
print("my name is {names},i am {age} years old,i love {names}.".format(names=name,age=10))
#my name is Tom,i am 10 years old,i love Tom.
age=8
#以f开头表示在字符串中支持大括号内的python表达式
print(f"my name is {name},i am {age} years old,i love {name}.")
#my name is Tom,i am 8 years old,i love Tom.
print("my name is {names},i am {age} years old,i love {names}.".format(names=name,age=10))
#my name is Tom,i am 10 years old,i love Tom.
列表
定义:方括号包含,逗号分隔的元素集
例如 list = ['him', 25, 100, 'her']
例如 list = ['him', 25, 100, 'her']
列表推导式
[expression for item in iterable if condition]
expression:一个表达式
iterable:可迭代对象(如列表、元组、字符串等)
condition:一个可选的条件表达式
例如:evens = [x for x in range(1, 11) if x % 2 == 0]
expression:一个表达式
iterable:可迭代对象(如列表、元组、字符串等)
condition:一个可选的条件表达式
例如:evens = [x for x in range(1, 11) if x % 2 == 0]
删除列表元素:del list1[0] #del可以删掉一个元素
列表内置方法
list.append(obj)
在列表末尾添加新的对象
list.count(obj)
统计某个元素在列表中出现的次数
list.extend(seq)
在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj)
从列表中找出某个值第一个匹配项的索引位置
list.insert(index, obj)
在列表的index的地方插入一个对象
list.pop([index=-1])
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj)
移除列表中某个值的第一个匹配项
list.reverse()
反向排列列表中元素
list.sort( key=None, reverse=False)
对原列表进行排序
list.clear()
清空列表
list.copy()
复制列表
列表常用函数
len(list)
列表元素个数
列表元素个数
max(list)
返回列表元素最大值
min(list)
返回列表元素最小值
list(seq)
将序列(元组,集合等)转换为列表
元组
定义:小括号包含,逗号分隔的元素集
例如:a = (1991, 2014, 'physics', 'math')
注意:(元素不可更改)
例如:a = (1991, 2014, 'physics', 'math')
注意:(元素不可更改)
修改元组
元组中的元素值是不允许修改的,但我们可以对元组进行连接组合:
tup1 = (12, 34.56);
tup2 = ('abc', 'xyz')
tup3 = tup1 + tup2
tup1 = (12, 34.56);
tup2 = ('abc', 'xyz')
tup3 = tup1 + tup2
删除元组
元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组
元组常用函数
len(tuple)
计算元组元素个数。
计算元组元素个数。
max(tuple)
返回元组中元素最大值。
min(tuple)
返回元组中元素最小值。
tuple(seq)
将列表转换为元组。
operator(tuple1,tuple2)
比较两个元组元素
集合
定义:大括号包含,逗号分隔的无序不重复元素集
基本功能是进行成员关系测试和消除重复元素。
可以使用 大括号{} 或者 set() 函数创建 set 集合
例如:student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
注意:创建一个空集合必须用 set()
基本功能是进行成员关系测试和消除重复元素。
可以使用 大括号{} 或者 set() 函数创建 set 集合
例如:student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
注意:创建一个空集合必须用 set()
字典
定义:大括号包含的key:value无序键值对集合
例如:tel = {'Jack':1557, 'Tom':1320, 'Rose':1886}
注意:字典的key关键字必须为不可变类型,且不能重复。
如字符串,数字或仅有不可变元素的元组
例如:tel = {'Jack':1557, 'Tom':1320, 'Rose':1886}
注意:字典的key关键字必须为不可变类型,且不能重复。
如字符串,数字或仅有不可变元素的元组
构造函数 dict() 直接从键值对 sequence 中构建字典,当然也可以进行推导
>>> dict([('sape', 4139), ('guido', 4127), ('jack', 4098)])
{'jack': 4098, 'sape': 4139, 'guido': 4127}
>>> {x: x**2 for x in (2, 4, 6)}
{2: 4, 4: 16, 6: 36}
>>> dict(sape=4139, guido=4127, jack=4098)
{'jack': 4098, 'sape': 4139, 'guido': 4127}
{'jack': 4098, 'sape': 4139, 'guido': 4127}
>>> {x: x**2 for x in (2, 4, 6)}
{2: 4, 4: 16, 6: 36}
>>> dict(sape=4139, guido=4127, jack=4098)
{'jack': 4098, 'sape': 4139, 'guido': 4127}
访问字典里的值:
与列表取值类似,但列表取值时使用索引,字典取值时使用key:
与列表取值类似,但列表取值时使用索引,字典取值时使用key:
dict = {'Name': 'W3CSchool', 'Age': 7, 'Class': 'First'}
print ("dict['Name']: ", dict['Name'])
print ("dict['Age']: ", dict['Age'])
print ("dict['Name']: ", dict['Name'])
print ("dict['Age']: ", dict['Age'])
修改字典
向字典添加新内容的方法是增加新的键/值对
修改或删除已有键/值对如下实例
向字典添加新内容的方法是增加新的键/值对
修改或删除已有键/值对如下实例
dict = {'Name': 'W3CSchool', 'Age': 7, 'Class': 'First'}
dict['Age'] = 8; # 更新 Age
dict['School'] = "W3Cschool教程" # 添加信息
dict['Age'] = 8; # 更新 Age
dict['School'] = "W3Cschool教程" # 添加信息
删除字典元素:
del 能删单一的元素也能清空字典。
另外使用clear()也能删除字典
del 能删单一的元素也能清空字典。
另外使用clear()也能删除字典
dict = {'Name': 'W3CSchool', 'Age': 7, 'Class': 'First'}
dict['Age'] = 8; # 更新 Age
dict['School'] = "W3Cschool教程" # 添加信息
dict['Age'] = 8; # 更新 Age
dict['School'] = "W3Cschool教程" # 添加信息
特性一:不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住
特性二:键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行
常用函数
len(dict)
计算字典元素个数,即键的总数。
str(dict)
以字符串的形式输出字典(字符串可打印,字典不可打印)。
type(variable)
返回输入的变量类型,如果变量是字典就返回字典类型。
内置方法
radiansdict.clear()
删除字典内所有元素
删除字典内所有元素
radiansdict.copy()
返回一个字典的浅复制
radiansdict.fromkeys()
创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
seq = ('name', 'age', 'sex')
dict = dict.fromkeys(seq)
dict = dict.fromkeys(seq)
radiansdict.get(key, default=None)
返回指定键的值,如果值不在字典中返回default值
key in dict
如果键在字典dict里返回true,否则返回false
radiansdict.items()
以列表返回可遍历的(键, 值) 元组数组
dict = {'Name': 'W3CSchool', 'Age': 7}
print ("Value : %s" % dict.items())
Value : dict_items([('Name', 'W3CSchool'), ('Age', 7)])
print ("Value : %s" % dict.items())
Value : dict_items([('Name', 'W3CSchool'), ('Age', 7)])
radiansdict.keys()
以列表返回一个字典所有的键
radiansdict.setdefault(key, default=None)
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
radiansdict.values()
以列表返回字典中的所有值
序列通用操作
注意:集合和字典不支持索引、切片、相加和相乘操作
索引
正向索引:从起始元素开始,索引值从 0 开始递增
负向索引:从最后一个元素开始计数,从索引值 -1 开始
切片
它可以访问一定范围内的元素,通过切片操作,可以生成一个新的序列。
sname[start : end : step]
其中,各个参数的含义分别是:
sname:表示序列的名称;
start:表示切片的开始索引位置(包括该位置),此参数也可以不指定,会默认为 0,也就是从序列的开头进行切片;
end:表示切片的结束索引位置(不包括该位置),如果不指定,则默认为序列的长度;
step:表示在切片过程中索引步进值,如果省略设置 step 的值,则最后一个冒号就可以省略。
注意:区间左闭右开原则
其中,各个参数的含义分别是:
sname:表示序列的名称;
start:表示切片的开始索引位置(包括该位置),此参数也可以不指定,会默认为 0,也就是从序列的开头进行切片;
end:表示切片的结束索引位置(不包括该位置),如果不指定,则默认为序列的长度;
step:表示在切片过程中索引步进值,如果省略设置 step 的值,则最后一个冒号就可以省略。
注意:区间左闭右开原则
相加
支持两种类型相同的序列使用“+”运算符做相加操作
它会将两个序列进行连接,但不会去除重复的元素。
它会将两个序列进行连接,但不会去除重复的元素。
“类型相同”:指的是“+”运算符的两侧序列要么都是列表类型,要么都是元组类型,要么都是字符串。
相乘
数字 n 乘以一个序列会生成新的序列,其内容为原来序列被重复 n 次的结果
检查元素是否包含在序列中
in 关键字检查某元素是否为序列的成员
序列相关函数
len():计算序列的长度,即返回序列中包含多少个元素。
max():找出序列中的最大元素
min():找出序列中的最小元素。
list():将序列转换为列表。
str():将序列转换为字符串。
sum():计算元素和
注意,对序列使用 sum() 函数时,做加和操作的必须都是数字,不能是字符或字符串
注意,对序列使用 sum() 函数时,做加和操作的必须都是数字,不能是字符或字符串
sorted():对元素进行排序。
reversed():反向序列中的元素。
enumerate():将序列组合为一个索引序列,多用在 for 循环中。
运算符
算数运算符
加(+):两个对象相加
减(-):两个对象相减
乘(*):两个数相乘或是返回一个被重复若干次的字符串
除(/):两个对象相除,返回结果精度类型由前者决定
取余(%):返回除法的余数
幂次方(**):返回 x 的 y 次幂
整除(//):返回除法的整数部分,向下取整
比较运算符
等于(==):比较对象是否相等
不等于(!=):比较两个对象是否不相等
大于(>) : 返回 x 是否大于 y
小于(<):返回 x 是否小于 y。
大于等于(>=):返回 x 是否大于等于 y。
小于等于(<=):返回 x 是否小于等于 y
注意:所有比较运算符返回 1 表示真,返回 0 表示假。这分别与特殊的变量 True 和 False 等价。注意:True和False的首字母为大写。
赋值运算符
=:简单的赋值运算符c = a + b 将 a + b 的运算结果赋值为 c
+=:加法赋值运算符c += a 等效于 c = c + a
-=:减法赋值运算符c -= a 等效于 c = c - a
*=:乘法赋值运算符c *= a 等效于 c = c * a
/=:除法赋值运算符c /= a 等效于 c = c / a
%=:取模赋值运算符c %= a 等效于 c = c % a
**=:幂赋值运算符c **= a 等效于 c = c ** a
//=:取整除赋值运算符c //= a 等效于 c = c // a
逻辑运算符
and:布尔“与”,x and y
如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。
如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。
or:布尔"或",x or y
如果 x 是 True,它返回 x的值,否则它返回 y 的计算值。
如果 x 是 True,它返回 x的值,否则它返回 y 的计算值。
not:布尔“非”,not x
如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。
如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。
位运算符
注意:按位运算符是把数字看作二进制来进行计算的
&:按位与,全1则1,有0则0
|:按位或,有1则1
^:按位异或,不同则1,相同则0
~:按位取反,1变0,0变1
<<:左移若干位,高位丢弃,低位补0
>>:右移若干位
关于原码,补码和反码:
原码:假设机器字长为n,原码就是用一个n位的二进制数,其中最高位为符号位:正数是0,负数是1。剩下的表示概数的绝对值,位数如果不够就用0补全。
反码:在原码的基础上,符号位不变其他位取反,也就是就是0变1,1变0。
补码:在反码的基础上加1。
原码:假设机器字长为n,原码就是用一个n位的二进制数,其中最高位为符号位:正数是0,负数是1。剩下的表示概数的绝对值,位数如果不够就用0补全。
反码:在原码的基础上,符号位不变其他位取反,也就是就是0变1,1变0。
补码:在反码的基础上加1。
成员运算符
in:如果在指定的序列中找到值返回 True,否则返回 False。
not in:如果在指定的序列中没有找到值返回 True,否则返回 False。
身份运算符
is:is 是判断两个标识符是不是引用自一个对象
is not:是判断两个标识符是不是引用自不同对象
运算符优先级
https://www.w3cschool.cn/python3/python3-basic-operators.html#ysf3

收藏
0 条评论
下一页