运维初学PythonDay05

合法标识

1.以下划线 或者字母开头

2. 可以有字母数字 下划线

3.不能与python关键字相同

所有关键字

import keyword#关键字模块

keywork.kwlist#所有关键字列表

keyword.iskeyword("abc")#abc是否在关键字里面

import keyword
print("yhl" in keyword.kwlist)
print("None" in keyword.kwlist)
print(keyword.kwlist)

内建模块

builtins.py

字符串格式化

%s

f字符串

name,age="yhl",22
str01="name: %s,age: %s" % (name,age)
print(str01)
str02=f"name{name},age{age}"
print(str02)

判断开头字符串

s1.startswitch('he')#是否以he开头

s1.endswitch('hh')#是否以hh结尾

s1.islower()#是否小写

s1.isupper()#是否是大写

s1.lstrip()#清楚左边的空白字符

s1.rstrip()清除右边的空白字符串

s1.strip()清楚左右两边空白字符

s1.split(".")指定以.切割 返回的结果是列表

"-----".join()连接 以-----连接

b="tar.gz.yhl"
c=b.split(".")
print(c)
print("+++++++++++++++++++++++++++++++++++++++++++===")
print("******".join(c))

列表增加元素

a.append(元素)

a.insert(索引位置,元素)

a.extend(新列表) a.append([100,200]) a.extend([100,200])

extend会把列表拆开 在逐个添加进去尾部 append会当作一个整体添加进去

列表增加元素

a.remove(元素)

a.pop()弹出列表尾部的元素,并将删除的元素返回(末尾淘汰)

a.pop(位置索引)

del a[1]通用删除方式,直接删除下标为1 的元素

a.clear() 清空列表

列表的统计排序

list.count(obj) # obj出现的次数

a.reverse()#反转 a[::-1]也可实现反转

a.sort()#排序,默认升序

a.sort(reverse=True)降序

a=[2,1,4,3,5]
a.sort()
print(a)
a.reverse()
print(a)

元组tuple

通过()创建 列表是[] 字典是{}

元组是有序的 不可变得类型

一般存储不应该被修改的一系列值

如果创建的是一个单个元素的元组 需要在单个元素后面加一个逗号

tuple02=("123")
tuple03=("123",)
print(tuple02,type(tuple02))
print(tuple03,type(tuple03))
#结果: 123 <class 'str'>
           #('123',) <class 'tuple'>

字典dict

除列表外最灵活的 {}来表示

列表是有序的 字典是无序的

字典用来存储多个数据 描述一个物体的相关信息

主要用于数据查询

存储的是一个键值对

键是唯一的(描述性信息)不可变

默认值 =NONE 可自定义缺口

字典[key] 若key不存在会报错

字典.get()如果字典中有这个键则返回值 不存在返回定义的default的值

score={"a":123,"b":456}
print(score["b"])
print(score.get("c","xxxx")) 默认None 我们这里添加一个自己的提示就好

字典.keys() #获取所有键列表

字典.values() #获取所有值列表

字典.items() #获取所有键值列表

返回的是一个列表

print(score.keys())
print(score.values())
print(score.items())
#返回的是一个列表

字典的添加/修改

字典[key]=value key在原字典有则修改 没有则添加

字典.update(新字典)key在原字典存在则修改 ,没有则添加

字典.pop(key) 根据key删除kv对 并将该key对应的value返回

字典的删除

del 数据 常规删除方式

字典.clear 清空字典

通过字典登录注册的案例

userdb={"zs":"123","ls":"456"}
#注册
def register():
    user=input("输入用户名:")
    if user not in userdb.keys():
        passwd = input("输入密码:")
        userdb[user]=passwd
        print("用户添加成功")
    else:
        print("用户名已存在啊请重新输入")
#验证登录
def login():
    user = input("输入用户名:")
    passwd= input("输入密码:")
    #if user in userdb.keys() and userdb.get(user) == passwd:
    if (user,passwd) in userdb.items():
        print("用户登录成功")
        register()
    else:
        print("用户登录失败")
#菜单
def show_menu():
    while 1:
         print("1.登录\n2.注册\n3.退出")
         n=input("请输入你选择的事情:")
         if n not in ["1","2","3"]:
             print("按照套路出牌")
         elif n=="1":
             login()
         elif n=="2":
             register()
         else:
             print("bye~!")
             break
if __name__ == '__main__':
    show_menu()

总结

列表

有序:顺序索引 切片

可变

增(append insert extend)

删(remove pop del clear)

改( 定位 修改 list01[1]=15)

翻转 (reverse 排序sort sort(reverse=True))

元组

不可变的列表

有序 顺序索引 切片

不可变 不能进行增删改查

单个元素后面需要加,

字典-------以空间换时间

key特性(无序 不能重复 必须是不可变的元素)

无序 字典[key] 字典.get(。。。)

可变:

增加/修改:字典 [key]=value 字典.update(...)

删除 pop del clear

你需要知道

1 获取字典adict['name']的值,如果没有找到,则返回'Not Found'

adict.get("name","Not Found")

2 遍历字典adict,通过两种方法取出字典的key和value。

for i in adict:

print(f"{i}:{adict[i]}")

for item in adict.items():

print(f"{item[0]}: {item[1]}")

3 aset和bset是两个可变集合,举例说明什么是交集、并集和差补。

& | -

4 ('hello')是哪种数据类型

字符串

5 列表根据不同的分类方式,都属于哪些类型?

按照存储模型 属于容器类

按照更新模型 属于可变

按照访问模型 序列类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

small white poplar

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值