常见赋值符

今日内容回顾

  • 基本数据类型之布尔值bool
  • 基本数据类型之元组tuple
  • 基本数据类型集合set
  • 与用户交互
  • 格式化输出
  • 基本运算符
  • 常用赋值符
  • 逻辑运算符
  • 成员运算符
  • 身份运算符

今日内容回顾详情

基本数据类型之布尔值bool

1.布尔值就是用来判断事物的对错,比如:是否可行 主要用于流程控制中
2.bool只有2种状态:
   True 对的 真的 可行的
   False 错的 假的 不可行的
3.python中所有的数据都带布尔值
  布尔值为false的数据有:0 None '' [] {}
  布尔值为true的数据有:除了上面的都是true
4.存储布尔值的变量名一般推荐使用is开头
is_delete = False
is_alive  =  True
ps: 很多程序中提供的注销账户的功能至少改变数据状态而不是将数据删除

基本数据类型之元组tuple

1.元组又称为'不可变'的列表
   元组内的索引绑定的内存的地址不能改变
2.用法:
   小括号括起来 内部存多个数据值 数据值与数据值之间要拿逗号隔开 数据值可以是任何数据类型
3.代码实现:
   t1 = (11, 22, 33, 44, 'zhujinlong1')
4.元组和列表的对比
  列表可以改变数组里的数据值
  元组不可以改变数组里的数据值
5.元组里面如果只有一个数据值也是可以存储,建议加上逗号

列表和元组的底层原理
image

基本数据类型之集合

集合的作用
1.集合只用于去重和关系运算
2.集合内数据只能是不可改变类型
表现形式:
1.大括号括起来 内部保存多个数据值 数据值和数据值之间逗号隔开 数据值不是k:v键值对
2.代码实现:
  s1 ={1,2,3,434,433,242,0}
3.定义空集合和空字典
{}   这个数据类型是默认为字典
set() 这个是定义空集合

与用户交互

1.获取用户输入
   input
  也可以username = input('文本')
    1.1先执行input获取用户输入
    1.2将输入的数据绑定给变量名username
    1.3.以后在程序中就可以使用变量名反复调用用户数据
    ps:input获取到的数据值都会统一的处理为字符串类型
2.输出内部信息
  print 
  2.1括号内既可以放数据值也可以放变量名 并且支持多个 逗号隔开即可
  2.2print自带换行符    换行符:\r  \n \r\n(斜杆和字母组起来可能产生特殊含义)
  2.3print也可以切换结束符
  print(数据,end = '默认是\n')
 扩展:版本不同关键字也会有点不同
python2中
 input方法需要用户自己提前指定数据类型 写什么类型就是什么类型
 raw_input方法与python3中input一致 输入的统一处理成字符串	
python2中
 print方法有两种使用方式
  print 数据值
  print(数据值)

格式化输出

1.格式化输出:就是提前定义好的一些内容 将来如果需要改动可以局部改动,用占位符把可能要改动的地方先占住
2.代码实现:
  ps:占位符:%s  %d
  info ='%s请输入你的名字》》》:'
  "单行占位符"(百分号后面的文本数据可以拿小括号括起来)
  print(info % 'Tom')
  print('%s请输入你的名字》》' % 'Tom')
  "多行占位符"(l两种形式都可以)
 desc = '姓名:%s 年龄:%s 爱好:%s'
print(desc % ('Tom', 18, 'read'))
print('姓名:%s 年龄:%s 爱好:%s' % ('tony', 28, 'rap'))
注意事项:有几个占位符就要有几个数据  多了不可以少了也不可以
3.不同的占位符的区别
 3.1%s可以支持常见的数据类型
 3.2%d只支持数字类型
 3.3%d用的最多的就是以下类型:
print('%08d'% 123)  # 00000123
print('%08d'% 1234324324)  # 1234324324

基本运算符

1.数学运算符
 加减乘除 :+ - * /
 取余:%  整除://   幂:**
2.比较运算符
< > <=  >= ==(等于)  !=(不等于)

image
image
image

常见赋值符

1.链式赋值: name = name1 = name2 =1000
2.交叉赋值:   m,n = n,m 
  代码如下:
    m = 100  n=12
  中间变量法:
    k =m 
    m=n 
    n=k
   print(m,n)
  交叉赋值法:
  m, n = n, m
  print(m,n)
3.解压赋值
 3.1代码实现:
  name_list = ['jason', 'kevin', 'tony', 'oscar']
  name1, name2, name3, name4 = name_list
  注意:解压赋值在使用的时候 正常情况下需要保证左边的变量名与右边的数据值个数一致 
 3.2当需要解压的数据特别的多,且只需要几个的时候 可以变量名和数据值不一致
   代码实现:
  a, *b = name_list      *会自动接收多余的数据 组织成列表赋值给后面的变量名
    print(a)  jason
    print(b)  ['kevin', 'tony', 'oscar']
3.3当数据值不准备使用的时候 可以使用下划线作为变量名绑定
 代码实现: 
       a, *_, c = name_list

逻辑运算符

1.and  与
 and 连接的多个条件必须全部成立 结果才成立,如果发现一个不成立则结果就不成立
如果需要你准确的说出具体的结果值  那么需要按照下列方式
如果and左边的条件是成立的 那么就完全取决于右边的条件
右边如果直接是数据值 那么结果就是该数据值 如果是含有表达式 则为布尔值
2.or  或
  or连接的多个条件只要有一个成立 则结果就成立
如果需要你准确的说出具体的结果值  那么需要按照下列方式
如果or左边的条件是成立的 那么就完全取决于左边的条件
左边如果直接是数据值 那么结果就是该数据值 如果是含有表达式 则为布尔值
3.not 非
就是取反
ps:三者混合使用的时候有优先级之分  应该通过代码的形式提前规定好优先级 可以使用括号括起来

image

成员运算符

1.成员运算符?in  not in 
就是判断个体在不在群体内
代码实现:
name_list = ['jason', 'kevin', 'oscar', 'jerry']
print('tony' in name_list)  # False
 print('tony' not in name_list)  # True
 print('j' in name_list)  # False
ps:列表最小单位是数据值  不能再细分
 s1 = 'hello world'
 print('d' in s1)      字符串最小单位是单个单个的字符
ps:但字典成员运算只有键参与。

image

身份运算符

id()  返回一串数字 该数字可以看成是内存地址
is 判断内存地址是否相同
== 判断数据值是否相同
代码实现:
 l1 = [11, 22, 33, 44, 55, 66, 77, 88]
 l2 = [11, 22, 33, 44, 55, 66, 77, 88]
 print(l1 == l2)  # True
 print(id(l1))
 print(id(l2))
 print(l1 is l2)  # False
如果是临时使用的相同的数值,是在同一个内存位置的,这个叫做小整数池
ps: 值相同 内存地址可能不同
    内存地址相同 值肯定相同

image

作业

1.获取用户输入并打印成下列格式
	 ------------ info of Jason -----------
    Name : Jason
    Age  : 18
    Sex  : male
    Job  : Teacher 
    ---------------- end -----------------
   代码实现:
方法一:
name = input('请输入你的名字>>>:')
age = input('请输入你的年龄>>>:')
sex = input('请输入你的性别>>>:')
job = input('请输入你的职业>>>:')
print('-----------info of %s------------\n name : %s \n age : %s \n sex : %s \n job : %s \n-------------end------------' % (name, name, age, sex, job))
方法二: 
info ="""
 -------info fo  %s---------
name :%s
age : %s
sex : %s
job : %s
-------end---------------"""
name = input('请输入你的名字>>>:')
age = input('请输入你的年龄>>>:')
sex = input('请输入你的性别>>>:')
job = input('请输入你的职业>>>:')

print(info % (name, name, age, sex, job)
2.4.准备说出下列变量名v绑定的结果
	 v1 = 1 or 3
    v2 = 1 and 3
    v3 = 0 and 2 and 1
    v4 = 0 and 2 or 1
    v5 = 0 and 2 or 1 or 4
    v6 = 0 or False and 1
    v绑定的结果:
    v1 = 1
    v2 =3
    v3 = 0
    v4 = 1
    v5 = 1
    v6 = False

补充:常用占位符的含义
s : 获取传入对象的__str__方法的返回值,并将其格式化到指定位置

r : 获取传入对象的__repr__方法的返回值,并将其格式化到指定位置

c : 整数:将数字转换成其unicode对应的值,10进制范围为 0 <= i <= 1114111(py27则只支持0-255);字符:将字符添加到指定位置

o : 将整数转换成 八 进制表示,并将其格式化到指定位置

x : 将整数转换成十六进制表示,并将其格式化到指定位置

d : 将整数、浮点数转换成 十 进制表示,并将其格式化到指定位置

e : 将整数、浮点数转换成科学计数法,并将其格式化到指定位置(小写e)

E : 将整数、浮点数转换成科学计数法,并将其格式化到指定位置(大写E)

f : 将整数、浮点数转换成浮点数表示,并将其格式化到指定位置(默认保留小数点后6位)

F : 同上

g : 自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是e;)

G : 自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是E;)

% : 当字符串中存在格式化标志时,需要用 %%表示一个百分号;

posted @ 2022-09-26 18:14  hugmi男孩  阅读(107)  评论(0)    收藏  举报