continue
用于跳过当前迭代,继续下一次迭代,但并不终止循环。
for i in range(5):
if i == 2:
continue
print(i)
输出:
0
1
3
4
break
用于立即终止循环,并跳出循环体。
for i in range(5):
if i == 2:
break
print(i)
输出:
0
1
在Python中:
0o
和0O
:表示八进制数。例如,0o10
表示八进制数10,其十进制值为8。
0b
和0B
:表示二进制数。例如,0b1010
表示二进制数1010,其十进制值为10。
0x
和0X
:表示十六进制数。例如,0x1F
表示十六进制数1F,其十进制值为31。
这些表示法使得在Python中可以直观地表示不同进制的数字。
基本编程题例题:
0x4DC0是一个十六进制数,它对应的Unicode编码是中国古老的《易经》六十四卦的第一卦,请输 出第51卦(震卦)对应的Unicode编码的二进制、十进制、八进制和十六进制格式。
print("二进制{0:b}、十进制{0}、八进制{0:o}、十六进制{0:x}".format(0x4DC0 + 50))
输出:
二进制100110111110010、十进制19954、八进制46762、十六进制4df2
hex()
10进制整数转换成16进制
oct()
10进制整数转换成8进制
bin()
10进制整数转换成2进制
# hex() 10进制整数转换成16进制
a = hex(10)
print(a)
# oct() 10进制整数转换成8进制
b = oct(10)
print(b)
# bin() 10进制整数转换成2进制
c = bin(10)
print(c)
print("十进制整数10的二进制是{0},八进制是{1},十六进制是{2}".format(c,b,a))
输出:
0xa
0o12
0b1010
十进制整数10的二进制是0b1010,八进制是0o12,十六进制是0xa
要打印文件的内容,需要使用 read()
方法读取文件的内容并打印出来,没有read
就读取不了文件内容。
pow()
方法返回 xy(x 的 y 次方) 的值。
print(pow(2,3)) # 输出8
len()
返回元素个数(长度)。
jieba.lcut()
以精确模式切分词语,返回列表,len(jieba.lcut())
就是词语的个数(列表长度)。
import jieba
s = "中国特色社会主义进入新时代,我国社会主要矛盾已经转化为人民日益增长的美\
好生活需要和不平衡不充分的发展之间的矛盾。"
n = len(s)
m = jieba.lcut(s)
print("中文字符数为{},中文词语数为{}。".format (n,m))
divmod()
函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)。
x,y = 15,3
print(divmod(x,y))
输出:
(5, 0)
Python 中,get
通常用于获取字典(dict)中指定键的值。get()
方法接受一个键作为参数,并返回该键对应的值。如果字典中不存在该键,则返回一个默认值(如果提供了默认值)。
my_dict = {'a':1,'b':2,'c':3}
a = my_dict.get('a')
b = my_dict.get('d')
c = my_dict.get('d','Key not found')
print(a)
print(b)
print(c)
输出:
1
None
Key not found
Python中,字典由一系列的键值对组成,可以通过键来快速访问与之关联的值。get()
方法是字典的一个内置方法,作用是安全地获取字典中与特定键相关联的值。
当你希望从字典里取出一个值,但不确定那个键是否存在时,可以使用 get()
方法。它的基本语法是:
my_dict.get(key, default)
key
:是你想要查找的键。default
(可选参数):是一个指定的值,如果你提供的key
在字典中不存在,那么get()
方法将返回这个default
值,而不是抛出 KeyError 异常。
应用题例题类型:统计某一个列表当中某个词的出现次数。
先创建1个空字典存储次数,然后遍历列表,将列表中的元素一个一个存入字典,用字典的get()方法获取当前元素类型(key)的计数值(value)。就这样把”词名,出现次数“作为键值对放入字典,最后再遍历一下字典,打印键值对就可以输出某个词/某些词的出现次数了。
例如,统计列表ls
中各种大学类型的出现次数:
ls = ["综合","理工","师范","综合","理工","理工","理工","理工",
"综合","综合","综合","综合","综合","综合","综合","综合",
"综合","综合","师范","师范","师范","师范","师范","师范",
"师范","师范","师范"]
d = {} # 字典 d 存储列表 ls 中各个类型大学出现次数
for word in ls:
# 用字典的get()方法获取当前类型的计数值,
# 如该类型还未在字典中,则返回默认值 0,然后将计数值加一,实现对各类型的统计。
d[word] = d.get(word,0) + 1
for key,value in d.items():
# 遍历字典 d 的所有键值对(即大学类型及其对应出现次数)
print("{0}:{1}".format(key,value))
-
filter()
函数返回一个迭代器而不是列表。因此需要将filter()
函数的结果转换为列表以进行打印。 -
foo = [2, 18, 9, 22, 17, 24, 8, 12, 27] print(list(filter(lambda x: x % 3 == 0, foo)))
-
定义函数用
def
,删除用del
-
with
语句提供了一种简洁的方式来管理资源,使得代码更加清晰和健壮。# 打开文件,读取内容,并自动关闭文件 with open('example.txt', 'r') as f: # 在with代码块中,文件已经被打开,可以读取其中的内容 data = f.read() print(data) # 在with代码块之外,文件已经被自动关闭,无需手动调用f.close()来关闭文件
-
yield
是 Python 中用于生成器函数的关键字,它可以让函数产生一个值,并暂停执行,等待下一次调用时恢复执行。def my_generator(): yield 1 yield 2 yield 3 # 使用生成器函数创建一个生成器对象 gen = my_generator() # 通过迭代器协议遍历生成器对象,依次获取生成器函数中产生的值 for value in gen: print(value)
for
循环实际上在每次迭代时调用了生成器对象的 __next__()
方法,从而触发了生成器函数的执行,直到生成器函数中的 yield
语句产生了值。
-
assert
是 Python 中的一个断言语句,用于在代码中进行调试和测试时验证某个条件是否为真。如果条件为假,则会触发AssertionError
异常。def divide(x, y): assert y != 0, "除数不能为零" return x / y # 测试 divide 函数 print(divide(6, 2)) # 输出:3.0 print(divide(6, 0)) # 这里会触发 AssertionError 异常
pass
的意思是什么都不要做,作用是为了弥补语法和空定义上的冲突,它的好处体现在代码的编写过程之中,比如可以先写好软件的整个框架,再填好框架内具体函数和class的内容,如果没有pass编译器会报一堆的错误,让整个开发很不流畅。
-
遍历字典的键:
person = {'name': 'Alice', 'age': 30, 'city': 'New York'} for key in person: print(key)
输出:
name age city
遍历字典的值:
for value in person.values(): print(value)
输出:
Alice 30 New York
遍历字典的键值对:
for key, value in person.items(): print(key, value)
输出:
name Alice age 30 city New York
for ... in
循环可用于迭代任何可迭代对象,它在迭代时依次将对象中的元素赋值给变量,并执行循环体中的代码。 -
raise
是 Python 中用于手动触发异常的关键字。通过raise
关键字,可以在代码中显式地引发异常,从而提醒用户或者调试程序。
def calculate_area(length, width):
if length <= 0 or width <= 0:
raise ValueError("长度和宽度必须是正数")
return length * width
# 测试 calculate_area 函数
try:
area = calculate_area(-5, 4)
print("计算得到的面积为:", area)
except ValueError as e:
print("发生了异常:", e)
输出:
发生了异常 长度和宽度必须是正数
-
在 Python 中,
as
关键字用于为导入的模块或者模块中的函数、类、变量等起别名。但是,as
关键字不能用在import
语句的from
子句中。因此,
from turtle as t
是不合法的语法,会导致语法错误。如果你想给模块turtle
起一个别名,正确的方式是在import
语句中使用as
关键字:import turtle as t t.circle(100) # 使用别名 t 调用 turtle 模块中的函数
或者使用一般的 import
语句:
import turtle
turtle.circle(100) # 直接调用 turtle 模块中的函数
as
关键字只能用在 import
语句中,不能用在 from
子句中。
random
库:
import random
# 相同种子会产生相同的随机数
# 如果不设置随机种子,以系统当前时间为默认值
random.seed(1000)
print(random.random()) #[0.0, 1.0)之间的随机浮点数
print(random.uniform(1,2)) #[1, 2]之间的随机整数
print(random.randint(5,10)) #[5, 10]之间的随机整数
print(random.getrandbits(10)) #生成一个 10 比特长度的随机整数
print(random.randrange(10,100,10)) #[10, 100)之间以10为步长的随机整数
x = [1,3,5,7,9]
print(random.choice(x)) #从目标序列类型中随机返回一个元素
random.shuffle(x) #将序列类型中元素随机排列,返回打乱后的序列
print(x)
print(random.sample(x,4)) #从x中随机选取4个元素
python中的复数由实数和虚数构成,表示为x+yj
。实数:x; 虚数:y。
aa = 123e-4-12j
print('实数部分:',aa.real)
print('虚数部分',aa.imag)
输出结果:
实数部分: 0.0123
虚数部分 -12.0
abs()
函数用于返回数的绝对值。
print(abs(-3+4j))
在 Python 中,绝对值函数 abs()
适用于整数、浮点数、复数等。对于复数,其绝对值定义为该复数的模,即复数的实部和虚部的平方和的平方根。
例如,abs(-3+4j)
中的 -3+4j
是一个复数,它的实部为 -3
,虚部为 4
。
复数的绝对值是指该复数到原点的距离,也可理解为该复数在复平面上对应点到原点的距离。对于复数 -3+4j,它在复平面上对应的点的坐标是 (-3, 4),这个点到原点的距离可以通过勾股定理求得√(-3)2+42 = √25 = 5。复数 -3+4j 的绝对值为 5。
因此,print(abs(-3+4j))
会输出 abs(-3+4j) 5
。
序列类型通常是一维元素向量。常见的序列类型包括列表(list)、元组(tuple)、字符串(string)、字节序列(bytearray、bytes)、集合(set)、范围(range)等。
字典一般用于表示高维数据,不表示一维和二维。
常用第三方库:
-
网络爬虫方向
1.1 requests
1.2 scrapy -
数据分析方向
2.1 numpy
2.2 scipy
2.2 pandas -
文本处理方向
3.1 pdfminer
3.2 openpyxl
3.3 python-docx
3.4 beautifulsoup4 -
数据可视化方向
4.1 matplotlib
4.2 TVTK
4.3 mayavi -
用户图形界面方向
5.1 PyQt5
5.2 wxPython
5.3 PyGTK -
机器学习方向
6.1 scikit-learn
6.2 tensorFlow
6.3 theano -
Web 开发方向
7.1 Django
7.2 Pyramid
7.3 Flask -
游戏开发方向
8.1 Pygame
8.2 Panda3D
8.3 cocos2d -
更多第三方库
9.1 PIL 图像处理库
9.2 SymPy 符号数学库
9.3 NLTK 自然语言处理(NLP)库
9.4 WeRoBot 微信机器人框架
9.5 MyQR 二维码生成