嵌入式Python高级

嵌入式Python高级 str字符串 set集合 dict字典 slice切片 推导式 高级变量公共语法 内置函数 面向对象  __int__  __str___  私有化  属性私有化  方法私有化  面向对象三大特征 封装 继承 多态

一、str字符串

字符串就是一串字符,是编程语言中表示文本的数据类型

1. 字符串定义

Python中可以使用一对双引号或者一对单引号定义字符串

str1 = 'hello'
str2 = "hello"

2. 获取字符串中元素

和列表一样,字符串也是通过索引获取元素

str = "hello"
# 获取第三个元素
ele = str[2] # l

3. 遍历字符串

可以通过for循环遍历字符串

str = 'hello'
for ele in str:
    print(ele)

4. 字符串的常见操作

4.1. 判断

4.2. 查找替换
 4.3. 切割

4.4. 去空白
 

5. 练习-用户名和密码校验

需求

  • 用户名和密码格式校验程序
  • 要求从键盘输入用户名和密码,分别校验格式是否符合规则
    • 如果符合,打印用户名合法密码合法
    • 如果不符合,打印出不符合的原因,并提示重新输入
  • 用户名长度6-20,用户名必须以字母开头
  • 密码长度至少6位,不能为纯数字,不能有空格

分析

1.从键盘输入用户名(需要while循环)
2.长度6-20
3.必须字母开头

4.输入密码(while循环)
5.密码长度至少6位
6.不能为纯数字
7.不能有空格

实现

while True:
    # 1.从键盘输入用户名(需要while循环)
    name = input('请输入用户名:')
    # 2.长度6-20
    if not (len(name) >= 6 and len(name) <= 20):
        print('用户名必须6到20位')
        continue
    # 3.必须字母开头 ab A-Z
    # 获取第一个字母  是否是a-z A-Z a
    ele = name[0]
    if not ele.isalpha():
        print('用户名第一个必须为字母')
        continue

    # 用户名满足
    print('用户名合法')
    break

# 4.输入密码(while循环)
while True:
    pwd = input('请输入密码')
    # 5.密码长度至少6位
    if len(pwd) < 6:
        print('密码长度至少为6位')
        continue
    # 6.不能为纯数字
    if pwd.isdecimal():
        print('密码不能为纯数字')
        continue
    # 7.不能有空格
    # ' 张 三  '
    if ' ' in pwd:
        print('密码不能有空格')
        continue
    print('密码合法')
    break

 扩展

  • isalpha()字符串中所有元素都是字母,则返回True
  • isdecimal()字符串中都是数字,则返回True

二、set集合

set被称为集合,是无序的,并且集合中的元素是唯一的 

 1. 集合的创建

s = {'张三','李四','王五'}

 集合是无序的

s = {'张三','李四','王五'}
print(s)

结果: 

{'王五', '张三', '李四'}

集合元素唯一

s = {'张三','李四','王五','张三'}
print(s)

结果:

{'李四', '张三', '王五'}

2. 遍历集合中元素 

通过for循环遍历集合中的元素

s = {'张三','李四','王五'}
# 遍历集合
for ele in s:
    print(ele)

3. 集合中添加元素 

集合可以通过add方法添加元素

s = {'张三','李四','王五'}
# # 添加赵六 add
s.add('赵六')

4. 集合删除元素 

remove删除,如果有 直接删除,如果没有 程序报错

s = {'张三','李四','王五'}
# 删除张三 
s.remove('张三')

pop删除,随机删除集合中的元素并返回,如果集合中没有元素,则程序报错 

s = {'张三','李四','王五'}
# pop 随机删除
print(s.pop())

discard删除,元素存在则直接删除,如果元素不存在,则不做任何操作 

s = {'张三','李四','王五'}
# discard 删除元素 如果元素不存在,不做任何处理
s.discard('林青霞')

三、dict字典

1. 字典简介

dictionary(字典) 是 除列表以外 Python 之中 最灵活 的数据类型,类型为dict

  • 字典同样可以用来存储多个数据
  • 字典使用键值对存储数据

 

2. 字典的定义

  • 字典用{}定义
  • 键值对之间使用,分隔
  • 之间使用:分隔
d = {'中国':'China','英国':'England','美国':'America'}

3. 字典的特点 

字典中的相当于索引,必须是唯一的

d = {'中国':'China','英国':'England','美国':'America','美国':'USA'}
print(d)

运行: 

{'中国': 'China', '英国': 'England', '美国': 'USA'}

4. 字典增删改查

4.1. 增加

字典增加元素

d = {'中国':'China','英国':'England','美国':'America'}
# 添加 法国
d['法国'] = 'France'

也可以通过setdefault方法添加 

d.setdefault('法国','France')
4.2. 删除 

字典删除元素

d = {'中国':'China','英国':'England','美国':'America'}
# 删除美国 如果键不在字典中,会报错
del d['法国']

也可以通过pop删除

# pop 删除元素 并且返回删除元素的值 如果删除不存在会报错
result = d.pop('法国')

清空字典 

# 清空容器中的数据  还可以继续使用
d.clear()
4.3. 修改

修改字典中元素

d = {'中国':'China','英国':'England','美国':'America'}
# 修改美国
d['美国'] = 'USA'
4.4. 查询

查询元素

d 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值