今日内容总结

  • 数据类型之布尔值bool

# 判断事物的对错是否可行
可分为两种状态:
True 正确的 对的 可行的
False 错误的 不对的 不可行的
False的有:0,None,'',[],{}
其他一律视为:True
对布尔值的变量名命名一般加前缀' is '
eg:
is_delecte = True
isdalecte = False '''涉及到数据删除其实很多时候仅仅是修改了一个字段而已'''
  • 数据类型之元组tuple

也称不可变的列表,元组内"数据值不可修改"
内部索引的绑定关系不能被修改
# 用小括号括起来,内部可以存放多个数据值,数据值与数据值之间用逗号隔开,数据值可以是任意数据类型
eg:
res = ('jason', 11, [1, 2, 3], 'kevin')
元组内只有一个数据值时,必须得把逗号加上
infor = (11,)
print(type(infor)) # tuple
infor1 = (22)
print(type(infor1)) # int
在我们日常书写时,在可以存放多个数据值时如果数据只有一个时应当也把逗号加上
列表与元组的对比:
列表
num_list = [11, 22, 33, 44]
print(num_list[1]) # 22
num_list[1] = 66 # 将列表num_list索引1的位置替换成了66
print(num_list) # [11, 66, 33, 44] 元组
num_tuple = (55, 66, 77, 88)
print(num_tuple[1]) # 66
num_tuple[1] = 99 # 报错,元组内索引的绑定关系不能被修改
num_tuple1 = (55, 66, [77, 88, 99])
print(num_tuple1[2][1]) # 88
num_tuple1[2][1] = 66
print(num_tuple1) # (55, 66, [77, 66, 99]) 元组内的索引绑定关系不能修改,图文相结合更易理解

  • 数据类型之集合set

用来去重和关系运算、内部数据值是不可变类型
# 大括号括起来,内部可以存放多个数据值,数据值与数据值之间用逗号隔开,数据值不是K:v键值
eg:
inner = {11, 22, 33, 44, 55}
空集合的定义形式:
set() # 空集合
{} # 空字典

  • 与用户交互

1、获取输入: input

eg:
name = input('请输入您的名字>>>:')
'''
先等待用户的输入,再将输入的数据值绑定给变量名name,后面就可以使用name来调用其输入的数据了
input获取到的数据都会转换成字符串类型
'''

2、输出内部信息

eg:
print()
'''
1.自带换行符,换行符:\r\n \n(斜杠与字母组合到一起可能会产生特殊的含义)
2.括号内可以存放数据值也可以是变量名 支持多个用逗号隔开
3.也可以切换结束符
print(数据,end='默认是\n')
'''
print(123, end='\n')
print(123, end'$')

3、在python2中与python3中两个关键字的区别

python2中input:
input 方法需要用户自己提前指定输入的数据——>用户自己写的是啥类型就是啥类型
raw_input 方法与python3中的input是一样的——>输入的都统一处理成字符串类型
python2中print:
print方法有两种方式:不加括号、加括号
print 数据值
print(数据值)



  • 格式化输出

将字符创中'某些内容替换掉再输出'就是格式化输出
表现形式有很多种 最常见的有:%s %d
%s eg:
infor = '姓名:%s, 年龄:%s, 爱好:%s'
print(infor % ('jason', 99, 'read')) # 姓名:jason,年龄:99,爱好:read
'''
先使用占位符占位 %s
再使用 % 按位置一一对应替换
'''
%d eg:
%08d
print(%08d % 1)
print(%08d % 123456789)
# 它只能给数字占位
  • 常用赋值

1、交叉赋值

eg:
x = 10
y = 100 # 让x指向100, y指向10
方式1(引入变量):
k = x # 让k指向x所指向的值 k=10
x = y # x断开原来指向的值 指向y的值100 x=100
y = k # y断开原来指向的值 指向k所指的值 y=10
print(x, y) # x= 100 y=10
方式2(交叉赋值):
x, y = y, x
print(x, y) # x=100 y=10



2、链式赋值

eg:
x = 666
y = 666
z = 666
链式赋值:x = y = z = 666

3、解压赋值

1、解压赋值

name_list = ['jason', 'kevin', 'marry', 'mark']
eg:
name1 = name_list[0] # jsaon
name2 = name_list[1] # kevin
name3 = name_list[2] # marry
name4 = name_list[3] # mark
解压赋值:name1, name2, name3, name4 = name_list
'''
左右两边个数少一个不行多一个也不行
'''



2、还可以使用特殊符号

  *号——>会自动接收多余的的数据 组织成列表的形式赋值给后面的变量名
a, *e = name_list # jason ['kevin', 'marry', 'mark']
a,b, *e = name_list # jason kevin ['marry', 'mark']
*e, d = name_list # ['jason', 'kevin', 'marry'] mark
a, *b, d = name_list # jason ['kevin', 'marry'] mark
# 当数据值不准备使用的时候 可以使用下划线作为变量名绑定(下划线单独作为变量名 通常表达的意思是指向的值没啥用)
a, *_, c = name_list

  • 基本运算符

1、数学运算符

有:
+(加) -(减) *(乘) /(除) %(除取余) //(除取整) **(平方)
写法:
如 n = 10
n += 1 # n = n + 1
n -= 1 # n = n - 1
n *= 1 # n = n * 1
n /= 1 # n = n / 1
n %= 1 # n = n % 1
n //= 1 # n = n // 1
n **= 1 # n = n ** 1

2、比较运算符

eg:
<(小于号) >(大于号) <=(小于等于) >=(大于等于) ==(等于号,判断值是否相当) !=(不等于号,判断值不等于)
  • 逻辑运算符

# 在python中逻辑运算符就3个 主要配合条件一起使用
and 与
用于多个条件同时成立才可以
or 或
用于在多条件中只要有一个成立即可
not 非
取反
print(2 > 1 and 1 != 1 and True and 3 > 2) # False
print(2 > 1 or 1 != 1 or True or 3 > 2) # True
print(not True)
# 三个连接符号如果混合使用 是有优先级的
在编写的时候应该人为的规定好优先级

  • 成员运算符

# 判断个体是不是在群体内
关键字: in(在) not in(不在)
eg:
num_list = ['jason', 'tony', 'mark']
name = input('输入名字')
print(name in num_list)
print(name not in num_list)
print('j' in num_list) # False
infor_dict = {'user': 'jason', 'age': 18, 'habby': 'read'} # 字典是按键取值,暴露给外界的只有k
print('read' in infor_dict) # False
print('habby' in infor_dict) # True

  • 身份运算符

# 判断两个数据的值和内存地址是否相等
符号: ==(只判断值) is(判断内存地址)
'''
id() 返回的是一串数字,该数字可以看做是内存地址
'''
eg:
res1 = ['jason', 'kevin', 'tony', 'jack']
res2 = ['jason', 'kevin', 'tony', 'jack']
print(res1 == res2) # True
print(res1 is res2) # False
# 值相等内存地址不一定相等 内存地址相等值一定相等

  • 练习

最新文章

  1. C++ 结构体数组回调C#代码,c#数组只有一条
  2. iOS常见用户头像的圆形图片裁剪常见的几种方法
  3. javascript中this关键字详解
  4. 【freemaker】之文本,html文本,去除空格,字母大小写,循环数组,字符串截取,map取值,遍历map
  5. Java中利用标签跳出外层循环break
  6. java 11-7String类里的方法的一些案例
  7. 为什么 Node.js 这么火,而同样异步模式 Python 框架 Twisted 却十几年一直不温不火?
  8. (六)6.7 Neurons Networks whitening
  9. 深入理解ClassLoader(五)—类的卸载
  10. 函数可重入问题reentrant functions(函数执行过程中可以被中断,允许多个副本)
  11. 【转】C++对象内存分配问题
  12. Orcle数据库恢复
  13. delphi笔记之nativeXml 转
  14. Linux下快速静态编译Qt以及Qt动态/静态版本共存
  15. make clean与make distclean的区别
  16. UVALive 5102 Fermat Point in Quadrangle 极角排序+找距离二维坐标4个点近期的点
  17. App如何选择移动广告平台,开发者2 - 移动变现模式分析
  18. angularjs购物车效果
  19. c++运行时函数
  20. 带着新人看java虚拟机03

热门文章

  1. 10_SpringBoot更加详细
  2. Mysql 数据库SQL脚本导入
  3. Opengl ES之FBO
  4. 前端微信登录获取code,userInfo,openid
  5. 欢迎来到ktq_cpp的cnblog
  6. 一篇文章带你了解网页框架——Vue简单入门
  7. C++ 函数重载解析策略
  8. 前端JS模板引擎Mustache.js的用法
  9. Blog1:nchu-software-oop-2022-1~3
  10. HTML5+CSS3常见布局方式