IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 学习python第九天 -> 正文阅读

[Python知识库]学习python第九天

学习python第九天

字符串

字符串的基本操作

就亲自去尝试就完了,都是一些简单的概念

a = 'hello'
# 居中
print(a.center(80, '='))
# 右对齐
print(a.rjust(80, '='))
# 左对齐
print(a.ljust(80, '='))

b = '1234'
# 零填充(在左边补0)
print(b.zfill(6))
c = 4321
d = 5432
print('%d + %d = %d' % (c, d, c + d))
print(f'{c} + {d} = {c + d}')
print('{} + {} = {}'.format(c, d, c + d))
print(f'{c} * {d} = {c * d:.4e}')
print(f'{c} + {d} = {c + d:.2%}')
print(f'{c} * {d} = {c * d:,}')
email = ' jackfureed@126.com'
content = 'hello, good, word'
meat = '马化腾是个傻逼'
# 修建左边空格
print(email.strip())
# 袖箭右边空格
print(email.rsplit())
# 将指定的内容用。。。替换
print(meat.lstrip('马化腾').replace('傻逼', '*'))

字符串的操作功能

content = 'You go your way, I will go mine.'
content2 = content.replace(',', '').replace('.', '')
words = content2.strip()
for word in words:
    print(word)
# 用逗号拆分字符串
words = content2.strip(',')
for word in words:
    print(word)
# 用空格拆分字符串,最多拆分三次
items = content2.split(' ', maxsplit=3)
print(items, len(items))
# 从右到左用空格拆分字符串,最多拆分三次
item = content2.rsplit(' ', maxsplit=3)
print(item, len(items))

字符串的操作

编码:把一种字符串集转换成另外一种字符集
解码:把一种字符集转换成另外一种字符串集
要点:
1、选择字符集编码时,最佳选择也是默认的是utf-8编码
2、编码和解码的字符集要保持一致,否则会出现乱码现象
3、不能用ISO-8859-1编码保存中文,否则会出现编码黑洞,中文变成问号
4、UTF-8是Unicode的一种实现方案, 也是一种变长的编码,最少一个字节,最多四个字节,表示中文用三个字节

强调一定要自己在电脑上敲一遍

a = '我爱你中国'
b = a.encode('gbk')
print(type(b))
print(b)
c = b'\xce\xd2\xb0\xae\xc4\xe3\xd6\xd0\xb9\xfa'
print(c.decode('gbk'))

a = '我爱你中国'
# GBK<----GB2312<-----ASCII
# UTF-8编码是Unicode(万国码)的一种实现方案
b = a.encode('gbk')
print(type(b))
print(b)
c = b'\xce\xd2\xb0\xae\xc4\xe3\xd6\xd0\xb9\xfa'
# 如果编码和解码的方式不一样,python中可能会产生UnicodeDecodeError异常
# 也有可能出现乱码现象
print(c.decode('gbk'))
a = '🌂,?🐉'
b = a.encode()
print(type(b), b, len(b))
c = b'\xf0\x9f\x8c\x82\xef\xbc\x8c\xe2\x80\x8d\xf0\x9f\x90\x89'
print(c.decode())

字符串的操作

凯撒密码 - 通过对应字符的替换,实现对明文进行加密的一种方式
abcdefghijklmnopqrstuvwxyz
defghijklmnopqrstuvwxyzabc
明文:attack at dawn
密文:dwwdfn dw gdzq
对称加密: 机密和解密使用了相同的密钥
非对称加密: 加密和解密使用不同的密钥(公钥、私钥)---->适合互联网应用

了解即可

message = 'attack at dawn'
# 生成字符串转换的对照表
table = str.maketrans('abcdefghijklmnopqrstuvwxyz',
                      'defghijklmnopqrstuvwxyzabc')
# 泰国字符串的translate方法实现字符串转换
print(message.translate(table))

生成随机验证码(由数字和英文字母构成,长度为4)

随机生成20组

#方法一
import random

big_letters = [chr(i) for i in range(65, 91)]
# 将大写字母的编码转化为大写字母并储存在列表
small_letters = [chr(i) for i in range(97, 123)]
# 将大写字母的编码转化为大写字母并储存在列表
nums = [str(i) for i in range(1, 10)]
# 将0~9储存在列表
counts = nums + big_letters + small_letters
将三个列表汇总
for _ in range(20):
    selected_char = random.choices(counts, k=4)
    #从列表中随机抽取四个元素
    print(''.join(selected_char))
    
    
#方法二
import random    
    
counts = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
# 将所有元素放入一个字符串中
for _ in range(20):
    selected_char = random.choices(counts, k=4)
    # 从字符串中随机抽取四个元素
    print(''.join(selected_char))
    #用空格拆分输出

    
    
#方法三    
import random
import string    
#导入字符串包   
counts = string.digits + string.ascii_letters
#从包里面直接调用函数即可
for _ in range(20):
    selected_char = random.choices(counts, k=4)
    print(''.join(selected_char))

集合

python中的集合其实和中学学习的集合性质大同小异

  • 集合元素没有顺序
  • 集合没有索引,也就不能切片
  • 集合元素不能重复,就算自定义集合是元素重复,系统也会忽略重复项,输出也只会保留重复项里的一个元素

注意几个问题:

  • 定义一个空的集合不能这样:

set1 = ()

而是应该这样

set1 = set()

  • set 不能作为变量名称,否则会和集合本身搞混

  • 集合是可以遍历的

  • 集合里不能放入其他容器

    先来简单尝试定义一个集合

    set1 = {1, 2, 3, 3, 1, 4, 2, 1, 3, 1}
    set2 = set()
    print(len(set1))
    for elem in set1:
        print(elem)
    
    

    集合的运算

    • 其实集合的运算道理也是和中学的集合运算一样的

      set1 = {1, 2, 3, 4, 5, 6, 7, 8, 9}
      set2 = {2, 4, 6, 8}
      # 成员运算 - 确定性
      # 集合的成员运算效率远远高于列表成员运算
      print(1 in set1)
      print(1 not in set1)
      # 交集运算
      print(set1 & set2)
      print(set1.intersection(set2))
      # 并集
      print(set1 | set2)
      print(set1.union(set2))
      # 差集
      print(set1 - set2)
      print(set1.difference(set2))
      # 对称差
      print(set1 ^ set2)
      print((set1 | set2) - (set1 & set2))
      print(set1.symmetric_difference(set2))
      
      

      一方面是记住那几个特殊符号,另外一方面就通过理解单词的意思记住方法,在做什么运算时使用哪个函数

      • intersection 路口,也就是交汇处

      • union 盟会, 合并才能成为盟会

      • difference不相同的,就更不用多说了吧

集合的操作

  • 可变容器(列表, 集合, 字典)都无法计算哈希码,都不能放在集合里面作为集合的元素

    • 集合底层使用的是哈希存储,通过计算元素的哈希码来决定元素存储位置,这是一种高效的存储方案

      简单操作如下:

      set1 = {'apple', 'banana', 'strawberry'}
      print(set1)
      # 添加元素
      set1.add('blueberry')
      set1.add('waxberry')
      print(set1)
      # 删除元素(随机)
      print(set1.pop())
      print(set1)
      # 删元素,指定删除
      set1.discard('apple')
      # 清空集合
      set1.clear()
      
      

      集合的知识点目前能用到的就这些,后面的用到了在了解即可,

      简单熟悉然后在电脑上多运行即便就可以了

      字典

      字典------>元素由键和值构成,冒号前面称为键,冒号后面称为值

      说白了就是一个键值对,前面是个名称,后面是诠释名称

      student = {
          'ID': '006',
          'name': '不吃西红柿',
          'age': '23',
          'sex': 'boy',
          'contacts': {
              'QQ': '3111938018',
              'number': '18744747221', },
          'address': '贵州安顺'
      }
      print(student['name'])
      print(student['contacts']['QQ'])
      

      字典里是可以放入其他容器的,当然字典里也可以放入字典

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-30 12:42:21  更:2021-07-30 12:42:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/25 14:07:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计