# 多元赋值:

# x,y,z 和 1,2,‘String'是两个元组,只不过元组的 () 被省略掉了

x, y ,z = 1, 2, 'String'

print(x, y, z)

(x, y ,z) = (3, 4, 'String')

print(x,y,z)

# 一般用在交换变量值

#交换变量值常规思路

x =10,

y =20

z =30

x ,y, z = y,z,x

print(x,y,z)

#使用多元赋值直接交换

x,y = y,x

print(x,y)

# 不能使用一个数值型

# x,y,z = 10

# 多元赋值的时候,元素个数要对应,不能多也不能

x,y,z = 'aaa','bbb','ccc'

print(x, y ,z)

################## 如果后面值是字符串,会自动转换成元组,字符串的长度需要和前面变量的个数一样

x,y,z = 'Str'

print(x,y,z)

# 等效于上面直接使用字符串

str = 'str'

tup = tuple(str)

print(tup)

x,y,z = tup

print(x,y,z)

##########################################使用字典

x,y,z = {'a':'aa','b':'bb','c':'cc'}

print('使用字典直接赋值',x,y,z)

# 等效于上面直接使用字典赋值

dict = {'a':'aa','b':'bb','c':'cc'}

tup = tuple(dict)

print('将字典转换之后的元组:',tup)

x,y,z = tup

print('使用字典转换后赋值:',x,y,z)

########################################使用 集合list

x,y,z = [1,2,3]

print('使用集合直接赋值:',x,y,z)

list = [1,2,3]

tup = tuple(list)

print('list转换后的元组:',tup)

x,y,z = tup

print('使用list转换之后赋值:',x,y,z)

# 多重赋值

#类似深度复制,a, b, c 是同一个对象,内存地址一样

a = b = c = 10

print(id(a),id(b),id(c))

print(a is b, b is c, a is c)

# 运算符

# + - * / % ** //

x = 5

y = 3

a = 4

b = 2

c = 2.4

print(x + y)

print(x - y)

print(x * y)

# 如果是除法,返回带小数点的浮点数

print(x / y)

# 取余数,比如 20 % 3 余数就是2,如果对 1取余结果为0,表示是整数

print(x % y)

print(c%1)

# 次方,表示x 的 y次数

print(x ** y)

# x / y 以后结果向下取整,也就是如果有小数,直接去掉小数点后面

print(x // y)

# 所有 a = a + b 等效于 a += b

# 上面的 + 可以换成 -、*、\、%、**、

a = 4

b = 2

a = a + b

print('======',a)

a = 4

a += b

print('======',a)

# 下面两种次方 等效

a = a**b

a**=b

print(a)

# 字符串的判断

str1 = '123'

str2 = 'Abc'

str3 = '123Abc'

#字符串判断是否全部是数字 isdigit,如果全部为数字返回True,否则返回False

print(str1.isdigit())

print(str2.isdigit())

print(str3.isdigit())

# 字符串判断是否全部是字符串,issalpha(),如果全是是字符串返回True,否则返回False

print(str1.isalpha())

print(str2.isalpha())

print(str3.isalpha())

# 如果判断是字符串和数字的组合,两者并集取反

print(not str1.isdigit() and not str1.isalpha())

print(not str2.isdigit() and not str2.isalpha())

print(not str3.isdigit() and not str3.isalpha())

#判断集合元素类型练习

列表 li=[1,’2’,’ab’,3,’as21’,4,’5b’,’6’,’568’,’10q’]将所有数字类型的元素,保存在字典第一 个 key中,将所有全部由数字组成的字符串类型的元素保存在字典的第二个 key中,剩 下的所有保存在字典的第三个 key中。 如 dic={key1:数字类型的值;key2:全部由数字组成的字符串元素;key3:剩下的其他元素}

li=[1,'2','ab',3,'as21',4,'5b','6','568','10q']

list1 =[] # 全是数字集合

list2 =[] # 字符串集合

list3 =[] #字符串和数字混合

for x in li:

try:

x.isdigit()

except AttributeError:

list1.append(x)

li.remove(x)

li2 = li.copy()

print('=====',li2)

for x in range(len(li)):

try:

if li[x].isdigit():

list2.append(li2[x])

else:

list3.append(li2[x])

except AttributeError:

pass

print(list1, list2, list3)

dic={'key1':list1 ,'key2':list2,'key3':list3}

print(dic)

python多重赋值技巧_python教程12课:多元赋值、多重赋值、运算符以及判断字符串类型...相关推荐

  1. python中while循环_Python第12课:while循环案例 打印输出有规律的造型

    如何用最浅显的语言,给中小学生讲Python,是我一直在努力并实践的问题. --华丽老师 本节知识点 1.  while 循环 案例:打印输出有规律的造型 2.  分析造型规律 课程贴士 下图是学习P ...

  2. python elif报错_python教程(四)流程控制 if elif

    本章你将学到:input()函数用于获取输入,python流程控制语句的if语句 >>> age = int(input('请输入年龄:')) 请输入年龄:15 >>&g ...

  3. python基础代码技巧_Python 代码优化技巧(二)

    Python 是一种脚本语言,相比 C/C++ 这样的编译语言,在效率和性能方面存在一些不足,但是可以通过代码调整来提高代码的执行效率.本文整理一些代码优化技巧. 代码优化基本原则代码正常运行后优化. ...

  4. python变量命名规则_Python教程第9篇:牢记Python变量命名5大规则

    上一节课我们通过几行代码来理解Python变量,不知道你都动手操作了吗?Python变量名不是随便乱起的哈,需要遵循以下规则:1.  只能字母.下划线开头,不能数字开头.变量用小写字母开头是 Pyth ...

  5. python打印字符金字塔_Python教程第7篇:print打印字符串

    经过我们前面的python环境安装,以及对编辑器的认识,今天我们总算是正式开启了我们的python代码之路了. 相信咱们很多小伙伴,都在咱们的部落窝教育课堂学过Excel函数.小编把Excel里面的函 ...

  6. python redis缓存原理_python笔记-12 redis缓存

    一.redis引入 1.简要概括redis 1.1 redis默认端口:6379 1.2 redis实现的效果:资源共享 1.3 redis实现的基本原理:不同的进程和一个公共的进程之间建立socke ...

  7. python requests的作用_Python爬虫第一课:requests的使用

    requests模块的入门使用 注意是requests不是request. 1.为什么使用requests模块,而不是用python自带的urllib requests的底层实现就是urllib re ...

  8. python向量化编程技巧_Python学习(六)向量化

    参考资料: https://github.com/lijin-THU/notes-python(相应实体书为:<自学Python--编程基础.科学计算及数据分析>) 1. 向量化函数 (1 ...

  9. python类的命名空间_Python之关于类变量的两种赋值区别详解

    我就废话不多说了,还是直接看代码吧! # -*- coding:utf-8 -*- #面试题,写一个方法,将一行字符串中所有的单词数量统计出来 class Person(object): TAG = ...

最新文章

  1. 【微读书】《人工智能颠覆未来战争》连载之一:机器战胜人类?——AlphaGo人机对战的启示...
  2. 写给MongoDB开发者的50条建议Tip25
  3. Hive学习笔记 —— Hive的体系结构
  4. 【译】The Faults and Shortcomings of the EVM
  5. 基于SuperMap Objects写的GoogleMap地图切割程序(二)
  6. SPOJ - DISUBSTR Distinct Substrings(后缀数组)
  7. 时序分析:手势--空间轨迹模式识别
  8. 修改mongodb最大查询数_WebFlux系列(十二)MongoDB应用,新增、修改、查询、删除
  9. 怎么把网页保存到本地计算机,在IE浏览器中,将网页保存到本地计算机中,若只需保存其中的文字、超链接和表格信息,应该选择的保存类型为( )...
  10. [GAN学习系列] 初始GAN
  11. redis主从搭建和分片集群搭建
  12. C++笔记-二维棋盘数组使用BFS(宽度优先遍历)
  13. 【codevs3160】 LCS 【后缀自动机】
  14. 机器学习算法中的偏差-方差权衡(Bias-Variance Tradeoff)
  15. c语言中char buffer,C语言对char*的封装,形成buffer
  16. 《JavaScript开发框架权威指南》——2.4 处理任务
  17. 澄甫先生谓古人练拳分四步功夫
  18. 如何从“人肉运维”升级为“智能运维”?
  19. 雷达散射截面(RCS)
  20. 知识| 四种渲染到底是啥?终于有人讲明白了(上)

热门文章

  1. [APIO2016]
  2. DevExpress.Utils.ToolTipLocation
  3. 投资股权众筹项目,至少需要关注6个方面
  4. 有意思的小学数学竞赛题-2
  5. “启动Word时提示出错,只能用安全模式才能打开”的解决方法
  6. NetTiers模板中各个选项的一些解释
  7. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol52]51.基于ID的加密安全模型,描述IBE方案
  8. CF#420 B. Okabe and Banana Trees 思维|暴力|几何
  9. 【模板】最新空web.xml模板
  10. TP-LINK路由器连接网线上网教程(租房必备)