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基础学习2 -> 正文阅读

[开发工具]python基础学习2

前言:本文为小编自主学习python的过程中的笔记和对应的练习应用?,希望能帮助到大家,也希望大家能一起交流学习

目录

一、序列

1.字符串

2.列表

3.元组

二、字典

1.字典的基本操作

2.字典方法

3.字典的格式化

三、赋值

1. 序列解包

2.链式赋值

3.增强赋值

四、布尔值

再谈if语句

猜拳游戏 三局两胜


一、序列

序列包括字符串、列表、元组

1.字符串

字符串的切片操作:

  • 索引(下标)

从左到右依次加1,从0开始;从右到左依次减1,从-1开始。
字符串允许通过下标去查找值:字符串[下标]

  • 切片

从字符串中找到某段字符串:字符串[开始位置:结束位置:步长]

注:包含开始不含结束(即左闭右开)

  • 拼接:用加分
  • 重复:用乘法

字符串的基本操作:

find:查找子串是否包含在字符串中,如果在则返回子串中第一个字符的索引,不在返回-1。
格式:  字符串.find(子串,起点,终点)
rfind:从右往左找,查找子串是否包含在字符串中,如果在返回下标,不在返回-1
index:查找子串是否包含在字符串中,如果在返回下标,不在就报错
rindex:从右往左找,查找子串是否包含在字符串中,如果在返回下标,不在就报错
a = "hello world"
print(a.find("o"))
print(a.find("o",5))
print(a.find("ow",5,8))
count:统计子串在字符串中出现的次数
replace:将指定字符替换成另一个字符
格式:字符串.replace(旧字符,新字符,替换次数) 如果不写替换次数则默认是替换所有
a = "hello world"
print(a.replace("o","O"))
# hellO wOrld
print(a.replace("o","O",1))
# hellO world
split:分割,会返回一个列表
格式:字符串.split(要切开的字符,次数) 不写次数默认全部分割
a="hello world"
print(a.split("o"))
# ['hell', ' w', 'rld'] 默认全部分割
print(a.split("o",1))
join:用于合并序列元素、连接字符串
格式:"新字符".join(字符串) 在字符串中每一个字符之间插入新字符
strip:删除字符串左右两边的空格或特定字符
格式:字符串.strip(字符)
b = "  hello   world  "
print(b.strip())
c = "**hello   world**"
print(c.strip("*"))
center:在字符串两边填充字符(默认为空格)让字符串居中
lower:返回字符串小写版本
格式:字符串.lower()
upper:返回字符串大写版本
格式:字符串.upper()
isupper:判断某个字符是否是大写

2.列表

列表是一个有序的对象的集合,用[ ]括起,逗号分割的一组元素,可修改。

列表的切片操作:

  • 索引:列表[编号]
  • 切片:列表[起点:终点:步长]
  • 拼接:用加分
  • 重复:用乘法

列表基本操作:

del:删除

append:将一个对象附加到列表末尾

clear:清空列表内容

copy:复制? 需通过导入包后才能使用

from copy import copy

count:统计某元素出现次数

extend:将一个列表中元素提出扩展到另一列表中

index:在列表中查找指定值第一次出现的索引

insert:将一个对象插入列表

pop:从列表中删除一个元素(默认为最后一个元素)并返回这一个元素

remove:删除第一个为指定值的元素,但不返回值

reverse:按相反顺序排列列表中的元素

sort:就地排列(会修改列表,但不返回值)

sorted:复制列表并排列,会返回值

3.元组

元组是不可修改的序列。

创建元组的方法:用()将数据括起就可以;也可以将一些值用逗号分隔,就能自动创建一个元组;当创建只包含一个值的元组时,需在值的后面加上逗号。

函数tuple:将一个序列作为参数,并将其转换为元组。如果参数已是元组,则原封不动的返回它

元组的切片操作:

  • 索引:列表[编号]
  • 切片:列表[起点:终点:步长]

二、字典

一个键对应一个值 格式: {key:value}? ?注:键不能重复,但值能。

函数dict:可从其他映射(如其他字典)或键-值对序列创建字典。

items=[("name","yz"),("age",18)]
d = dict(items)
print(d)
print(d["name"])

还可以用关键字实参来调用这个函数

d = dict(name="yz",age=18)
print(d)

1.字典的基本操作

len(d)返回字典d包含的项(键-值对)数。

d[k]返回与键k相关的值。

d[k] = v将值v关联到键k。

del d[k]删除键为k的项。

k in d 检查字典d是否包含键为k的项。

2.字典方法

clear删除字典中所有的字典项,是就地执行的,且不返回值。

copy会返回一个新字典,其包含的键-值对与原字典相同(但这个方法是浅复制,即是原字典本身而非副本)。当你修改其中一个字典时,另一个字典也会就地修改。

为避免这种情况,就需要执行深复制,因此需要使用模块copy中的函数deepcopy。

from copy import deepcopy

fromkeys 可创建一个字典,其中包含指定的键,且每个键对应的值为None。如:

a = {}.fromkeys(["name","age"])
print(a)

这里也可以将空字典{}用dict来代替。除此之外还可以将默认值None换为特定值。如:

a = dict.fromkeys(["name","age"],"un")
print(a)

get 用于访问字典中的键,如果键存在则返回对应的值,如果键不存在则返回默认值None(这个默认值可以自己来设定)。 如:

d = {}
print(d.get("name"))
print(d.get("name","无"))

字典的应用:通讯录

people = {'yz':{'电话':'8976','地址':'中国'}}
labels = {"电话":"电话号码","地址":"地址"}
name = input("请输入要查的用户姓名:")
key = input("查电话号码打(p)查地址打(a)?")
if key == "p": key = "电话"
if key == "a": key = "地址"
person = people.get(name,{})
label = labels.get(key,key)
result = person.get(key,"无该数据")
print("{}的{}:{}.".format(name,label,result))

items 返回一个包含所有字典项的列表,其中每一个元素都为(key,value)的形式。且各元素在该列表中的排列顺序是随机的。

d = {'电话':'8976','地址':'中国'}
print(d.items())
# dict_items([('电话', '8976'), ('地址', '中国')])

这种返回值称为字典视图,是一种特殊类型,它始终是底层字典的反映,即但你去修改字典时它也会随即变化。

keys 返回一个字典视图,其中包含指定字典中的键。

values返回一个字典视图,其中包含指定字典中的值(可能有重复,因为一个字典中值允许重复)。

pop 可获取与指定键相关联的值,并将该键-值对从字典中删除。d.pop(k)

popitem随机删除字典中的一个项,并返回改键-值对。

setdefault 功能上与get有点类似,因为它也获取与指定键相关的值,但除此之外,如果要获取的键不包含于字典中时,会在字典中填加指定的键-值对。d.setdefault(key,如不存在时会添加的值),如果不指定添加的值,则会默认为None。

update使用一个字典中的项来更新一个字典。d.update(字典a)?对于通过参数提供的字典,将它的项添加到当前字典中,如果当前字典包含键相同的项,则会替代它。

dic = {"name":"y","age":18}
d = {'name':'yz'}
dic.update(d)
print(dic)
#  {'name': 'yz', 'age': 18}

3.字典的格式化

" {键} ".format_map(字典)

注意:此处的函数是format_map,要和字符串的格式化format区分。?

三、赋值

1. 序列解包

多重赋值 如:x,y = 1,2

将一个序列(或任何可迭代对象)解包,并将得到的值储存到一系列变量中。如:

values = 1,2,3
print(values)
# (1, 2, 3)
x,y,z = values
print(x)
# 1

这对于在使用返回元组的函数或方法时很有用。假设要从字典中随机获取(或删除)一个键-值对,可使用方法popitem,它随便获取一个键-值对并以元组的方式返回,接下来将返回的元组解包到两个变量中。如:

d = {'电话':'8976','地址':'中国'}
key,value = d.popitem()
print(key) # 地址
print(value) # 中国

注:要解包的序列包含的元素个数必须与你在等号左边列出的目标个数相同,否则python会报错。

当然也可以用星号运算符(*)来收集多余的值,这样就无需确保值和变量的个数相同了。如:

a,b,*c = 1,2,3,4
print(a) # 1
print(c) # [3,4]

这里可以看出带星号(*)的变量最终包含的总是一个列表

2.链式赋值

链式赋值是一种快捷方法,用于将多个变量关联到同一个值。如:

x =? y = 2

上述代码与下面代码等价

x = 2
y = x 

3.增强赋值

通过将运算符移到赋值运算符的前面来实现赋值。适用于所有标准运算符(*,/,%等)如:

a = 10
a += 20
a = 10
a = a+20

上述两个代码等价。

四、布尔值

用作布尔表达式(如用作if语句中的条件)时,下面的值都将被解释器视为

False????????None? ? ? ? 0? ? ? ? " "? ? ? ? ( )? ? ? ? [ ]? ? ? ? { }

再谈if语句

if语句,让你能够有条件地执行代码。意味着如果条件(if和冒号间的表达式)为前面定义的,就能执行后续代码块;如果条件为,就不执行。

猜拳游戏 三局两胜

经过小编用最近所学的知识,最终是自己写出了这个三局两胜的猜拳游戏了,如有还需完善的地方欢迎讨论

i = 3
num =0
win =0
print("猜拳游戏 三局两胜")
while i>0:
    a = input("请在剪刀(a)石头(b)布(c)中选择你要出的(输入对应的字母):")
    if a == "a": a = "剪刀"
    if a == "b": a = "石头"
    if a == "c": a ="布"
    import random
    b = ['剪刀', '石头', '布']
    c = random.choice(b)
    print("你出了",a)
    print("电脑出了",c)
    if a == c:
        print("平局 再来一次")
    elif a == "布"and c =="石头" or a == "剪刀" and c=="布" or a =="石头"and c=="剪刀" :
        print('这次你赢了')
        win+=1
        i-=1
        if win ==2:
            print("最终是你获胜了")
            break
    else:
        print('这次你输了')
        num+=1
        i -= 1
        if num == 2:
            print("最终是你输了")
            break

如有哪些地方讲错,欢迎纠正

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-10-04 13:02:21  更:2021-10-04 13:03:59 
 
开发: 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年11日历 -2024/11/16 0:25:39-

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