python基础知识点(一)

  • 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中:

0o0O:表示八进制数。例如,0o10表示八进制数10,其十进制值为8。

0b0B:表示二进制数。例如,0b1010表示二进制数1010,其十进制值为10。
0x0X:表示十六进制数。例如,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.1 requests
    1.2 scrapy

  2. 数据分析方向
    2.1 numpy
    2.2 scipy
    2.2 pandas

  3. 文本处理方向
    3.1 pdfminer
    3.2 openpyxl
    3.3 python-docx
    3.4 beautifulsoup4

  4. 数据可视化方向
    4.1 matplotlib
    4.2 TVTK
    4.3 mayavi

  5. 用户图形界面方向
    5.1 PyQt5
    5.2 wxPython
    5.3 PyGTK

  6. 机器学习方向
    6.1 scikit-learn
    6.2 tensorFlow
    6.3 theano

  7. Web 开发方向
    7.1 Django
    7.2 Pyramid
    7.3 Flask

  8. 游戏开发方向
    8.1 Pygame
    8.2 Panda3D
    8.3 cocos2d

  9. 更多第三方库
    9.1 PIL 图像处理库
    9.2 SymPy 符号数学库
    9.3 NLTK 自然语言处理(NLP)库
    9.4 WeRoBot 微信机器人框架
    9.5 MyQR 二维码生成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值