当前位置: 首页 > news >正文

做韦恩图网站常州做网站哪里好

做韦恩图网站,常州做网站哪里好,一个空间如何做多个网站,东阳建设公司网站文章目录 formatted字符串字面值formatted字符串支持 字符串新方法变量类型标注二进制表示中数字为1的数量统计字典的三个方法新增mapping属性函数zip()新增strict参数dataclass字典合并match 语法 formatted字符串字面值 formatted字符串是带有’f’字符前缀的字符串&#xf…

文章目录

  • formatted字符串字面值
  • formatted字符串支持 `=`
  • 字符串新方法
  • 变量类型标注
  • 二进制表示中数字为1的数量统计
  • 字典的三个方法新增`mapping`属性
  • 函数`zip()`新增`strict`参数
  • `dataclass`
  • 字典合并
  • match 语法

formatted字符串字面值

formatted字符串是带有’f’字符前缀的字符串,可以很方便的格式化字符串

#旧版本
name = '张三'
print('姓名是:%s'%name)
print('姓名是:{}'.format(name))
#新版本
print(f'{name},欢迎您加入')
works = ['数据分析','财务报表']
print(f'工作内容:{works[0]},{works[1]}等')
#格式化字符串字面值(formatted stringliteral),可以在字符串常量内使用嵌入的Python表达式。
a = 5
b = 10
print(f'表达式运算的结果:{2*(a+b)}')'''输出结果
姓名是:张三
姓名是:张三
张三,欢迎您加入
工作内容:数据分析,财务报表等
表达式运算的结果:30
'''

formatted字符串支持 =


user = 'zhangsan'
info = f'{user=}'
print(info) # user=zhangsan 
#指定格式输出
name = 'manager'
#旧版本
print('{:*^20}'.format(name))
#新版本
print(f'{name:*^20}')
#数值类型的格式化输出
num = 10
print(f'{num=:.2f}') # num=10.00 :.2f代表控制输出2个小数
pct = 0.834
#旧版本
print('{:.2f}%'.format(pct*100))
#新版本
print(f'{pct*100:.2f}%')'''输出结果
user='zhangsan'
******manager*******
******manager*******
num=10.00
83.40%
83.40%
'''

字符串新方法

方法名功能描述
str.removeprefix()如果str以它开头的话,将会返回一个修改过前缀的新字符串,否则它将返回原始字符串。
str.removesuffix()如果str以其结尾,则返回带有修改过后缀的新字符串,否则它将返回原始字符串。
info = 'sutpc'
print(info.removeprefix('sut'))
print(info.removesuffix('pc'))
'''输出结果
pc
sut
'''

变量类型标注

变量类型注解是用来对变量和函数的参数返回值类型做注解(暗示),帮助开发者写出更加严谨的代码,让调用方减少类型方面的错误,也可以提高代码的可读性和易用性。但是,变量类型注解语法传入的类型表述能力有限,不能说明复杂的类型组成情况,因此引入了 typing 模块,来实现复杂的类型表达。

TypeDescriptionTypeDescription
int整型integerUnion联合类型
float浮点数字Optional参数可以为空或已经声明的类型
bool布尔(int的子类)Mapping映射,是collections.abc.Mapping的泛型
str字符(unicode)MutableMappingMapping对象的子类,可变
bytes8位字符Generator生成器类型,Generator[YieldType、SendType、ReturnType]
object任意对象(公共基类)NoReturn函数没有返回结果
List[str]字符组成的列表Set集合set的泛型,推荐用于注解返回类型
Tuple[int, int]两个int对象的元组AbstractSetcollections.abc.Set的泛型,推荐用于注解参数
Tuple[int, …]任意数量的int对象的元组Sequencecollections.abc.Sequence的泛型,list、tuple等的泛化类型
Dict[str, int]键是str值是int的字典TypeVar自定义兼容特定类型的变量
Iterable[int]包含int的可迭代对象Generic自定义泛型类型
Sequence[bool]布尔值序列(只读)NewType声明一些具有特殊含义的类型
Mapping[str, int]从str键到int值的映射(只读)Callable可调用类型,Callable[[参数类型],返回类型]
Any具有任意类型的动态类型值NoReturn没法返回值

二进制表示中数字为1的数量统计

通过调用bit_count函数来统计二进制中数字“1”的个数

# bit_count()函数
#旧版本
value = 5
print(bin(value).count("1"))
#新版本
print(value.bit_count())

字典的三个方法新增mapping属性

mydict = {"一":1,"二":2,"三":3}
#旧版本
print(mydict.keys(),mydict.values(),mydict.items())
#新版本
keys = mydict.keys()
values = mydict.values()
items = mydict.items()
print(keys.mapping,values.mapping,items.mapping)'''输出结果
dict_keys(['一', '二', '三']) dict_values([1, 2, 3]) dict_items([('一', 1), ('二', 2), ('三', 3)])
{'一': 1, '二': 2, '三': 3} {'一': 1, '二': 2, '三': 3} {'一': 1, '二': 2, '三': 3}
'''

在Python3.10中,针对于字典的三个方法,items,keys,和values都增加了一mapping属性,通过上诉的程序可以发现,对三个方法调用mapping属性后都会返回原字典数据

函数zip()新增strict参数

keys = ['one','two','three','four']
values = [1,2,3,4,5]
#旧版本
print(dict(zip(keys,values)))
#新版本
print(dict(zip(keys,values,strict=True)))

对于zip函数加了strict参数,顾名思义strict参数就是要严格的通过参数长度的匹配原则,在以上代码中,keys和values列表的长度并不一致。旧版本的zip函数会根据长度最短的参数创建字典。新版本的zip函数中,当设定strict参数为True,则要求zip的输入数必须要长度一致,否则报错。

dataclass

为了支持数据修改, 默认值, 比较等功能。更加好一些的方法是:使用自定义类来实现数据类。
dataclass 可以认为是提供了一个简写__init__ 方法的语法,类型注释是必填项 (不限制数据类型时, 添加typing.Any为类型注释), 默认值的传递方式和__init__ 方法的参数格式一致。

from dataclasses import dataclass
from typing import ClassVar
@dataclass
class Player:name:strnumber:intpostion:strage:int
p1 = Player('zhangsan',18,'PG',26)
print(p1)
'''输出结果
Player(name='zhangsan', number=18, postion='PG', age=26)
'''

字典合并

字典添加两个新的运算符:[|][|=][|]运算符用于合并字典。[|=]用于更新字典。

dict1 = {'name':'zhangsan'}
dict2 = {'type':'manager'}
#旧版本
dict1.update(dict2)
print(dict1)
#新版本
dict3 = dict1 | dict2
print(dict3) # {'name': 'zhangsan', 'type':'mananger'}
#[|=]
dict1 |= dict2 # 等价于dict1 = dict1 | dict2
print(dict1)
'''输出结果
{'name': 'zhangsan', 'type': 'manager'}
{'name': 'zhangsan', 'type': 'manager'}
{'name': 'zhangsan', 'type': 'manager'}
'''

match 语法

match...case结构化模式匹配,可以匹配字典、类以及其他更复杂的结构。match...case的匹配模式匹配于Java或C++中的switch的使用很相似。

# 语句结构
'''
match subject:case <pattern_1>:<action_1>case <pattern_2>:<action_2>case <pattern_3>:<action_3>case _:<action_wildcard>
'''status = 200
match status:case 200:print('访问成功')case 404:print('页面丢了')case _:print('不能识别')
#模式匹配
person1 = ('James',23,'male')
person2 = ('Lili',33,'female')
person3 = ('Mary',34,'female')
def func(person):match person:case (name,_,'female'):print(f'{name} is woman')case (name,_,'male'):print(f'{name} is man')case (name,age,gender):print(f'{name} is {age} old')
#调用函数
func(person1)
func(person2)
func(person3)'''输出结果
James is man
Lili is woman
Mary is woman
'''
http://www.yayakq.cn/news/59954/

相关文章:

  • 网站建设连接数据库贵州住建设局官方网站
  • 蓝奏云注册网站平台搭建阳光房
  • 如何看织梦做的网站的源码建筑建设网站
  • 服务专业的网站建设公司免费的个人网站空间
  • 广州棋牌软件开发公司优化网站规模
  • 单页面网站模板怎么做网站会员充值做哪个分录
  • 深圳制作网站培训学校国外贸易平台
  • 用wordpress开发网站模板天津免费建网站
  • 成都网站成都网站制作公司网络营销有哪些主要功能
  • 宁波设计网站公司开发公司空置房物业费会计科目
  • 做网站怎么接私活wordpress程序怎么装
  • 网页网站设计公司排名下载好的字体怎么安装到wordpress
  • 微网站开发框架自建电商网站有哪些
  • 性价比高柳州网站建设网站后台制作步骤
  • 风向 网站市场监督管理局待遇如何
  • 微购物网站建设河南省建设厅网站136号文件
  • 网站排名推广推荐房产网站系统源码
  • 做公众号微网站站点推广策略包括
  • 常州企业自助建站女生学网络工程难吗
  • 网站ipv6改造怎么做 网页代码新乡商城网站建设哪家优惠
  • 网站域名后缀代表什么意思企业网站代码
  • 成都有哪些做公司网站的公司如何用电子邮箱做网站
  • 门户网站建设成本网站开发制作价格
  • seo做的不好的网站网络举报网站
  • 济南企业如何建网站网站为什么上传不了图片
  • 做电影网站会被捉吗建设pc端网站是什么意思
  • 做阿里巴巴网站需要多少钱六安网站建设定制
  • 免费无版权图片网站根据网站集约化建设要求
  • 合肥响应式网站建设方案建设工程公司采购的网站
  • c 网站做死循环网站建设企业建站方案