首页 > 编程语言 >Python数据类型+运算符

Python数据类型+运算符

时间:2022-09-26 19:23:53浏览次数:50  
标签:num1 Python 数据类型 运算符 num print id 输入 赋值

Python基础数据类型

上期练习讲解

# 练习一.想办法打印出jason
l1 = [11,  22,  'kevin',  ['tony',  'jerry',  [123,  456,  'jason'] ] ]
#解题思路,先看列表中有几个数据,查看jason在哪个数据中
print(l1[3])
l2 = l1[3] #l2 = ['tony',  'jerry',  [123,  456,  'jason'] ]
print(l2[2])
l3 = l2[2] # l3 =  [123,  456,  'jason']
print(l3[2]) 
#使用索引取值,一步步得到我们想要的数据,也可以简化代码
print(l1[3][2][2]) 

#练习二.想办法打印出大宝贝
d1 = {'name': 'jason', 
      'others': {'a1': 'heiheihei', 
                 'a2': {'k1': 'hahaha', 
                        'k2': 'hehehe', 
                        'k3': '大宝贝'}
                 }
      }
#解题思路,一步步取值,大括号为字典,字典取值需要用键取值
d2 = d1['others'] # {'a1': 'heiheihei',  'a2': {'k1': 'hahaha', 'k2': 'hehehe',  'k3': '大宝贝'}
d3 = d2['a2'] # {'k1': 'hahaha', 'k2': 'hehehe',  'k3': '大宝贝'}
d4 = d3['k3'] # '大宝贝' 
#使用键对取值,一步步得到我们想要的数据,也可以简化代码
print(d1['others']['a2']['k3'])

#练习三,想办法打印出run
data = {'username': 'jason', 
        'hobby': [11,
                  22, 
                  {'height': 183, 
                   'hobby': ['read', 
                             'run', 
                             'music'
                             ]
                   }
                  ]
        }
#解题思路,一步步取值,大括号为字典,字典取值需要用键取值,中括号为列表使用引索取值。
data1 = data['hobby'] #  [11, 22,  {'height': 183,  'hobby': ['read',   'run',  'music' ]
dota2 = data1[2] #  {'height': 183,  'hobby': ['read',   'run',  'music' ]
dota3 = dota2['hobby'] #['read',   'run',  'music' ]
dota4 = dota3[1]
#遇到字典类型用键对取值,遇到列表使用引索取值,简化代码
print(data['hobby'][2]['hobby'][1])

数据类型-布尔型bool

1.布尔型bool:用来判断事物,判断逻辑的对与错。大多用于流程控制
2.bool类型只有2种状态
  对/真  True
  错/假  False
3.python中所有的数据都自带布尔值
	代表False的数据值 = 0 None '' [] {} # 空的字符 列表 字典 
  代表True的数据值 = 除了上面的都是True
4.python中布尔值变量的命名标准 ,使用is开头命名
  is_name
  is_alive
 #举例:生活中的注销账户,其实只是把账户的有效状态布尔值从 有效 变为 无效 (从1变为0)

数据类型-元组tuple

1.元祖tuple:称为‘不可变’的列表 #区别与列表 列表内数据值可以改变,而元祖内同一引索内数据值无法更改
2,代码展示: t1 = (1,2,[2,1],'moon') # 使用小括号 中间可以存放多种数据值
3,元组与列表区别代码展示
l1 = [11, 22, 33]
print(l1[0])  # 获取索引0对应的数据值
l1[0] = 666  #此处可以直接更改了列表内引索位置为0的数据值
print(l1)  # [666, 22, 33]  列表内数据可以重新赋值

t1 = (11, 22, 33)
print(t1[0])
t1[0] = 999  # 此处想更改元组内 引索位置为0的数据值
print(t1)   

# 运行报错: 'tuple' object does not support item assignment(元组内对象不支持再次赋值)

数据类型-集合set

集合set:没有重复的列表  可以用来去重  
列表内数据只能是不可变类型。
代码展示:
s1 = {1,2,3,22,33} #使用大括号定义集合,但是集合内没有 键 对 和字典作用不同。
关于集合,详细知识作用,只会再讲。

用户交互 (input/print)

1,什么是用户交互:
  举例:当你登录游戏账户,首先程序会提醒你, 请输入账号, 然后你需要进行输入的操作
  然后程序再提醒你,请输入密码,然后你再 输入密码。 这就是程序与用户再交互。
2.如何让用户输入:
  input # 获取用户输入
  username = input('请输入用户名') #这时候就会显示请输入用户名,然后等待用户输入
  #当用户输入完成后,用户输入的用户名会赋值到 username这个变量名。
  #用户输入的信息 默认都是 字符串 类型
3.如何输出:
  print # 打印 输出数据值
  passwold = input('请输入密码')
  print(username,passwold) # 括号内既可以放数据值也可以放变量名 并且支持多个逗号隔开即可
4.print自带换行符
  

格式化输出-占位符

格式化输入:一些固定模版 提前定义好的一些内容。例如,奖状,合同,通知书。
占位符形式1:  %s  #适用于字符串
代码实现:
certificate = "恭喜,%s同学在2022年度学习中,表现优异特发 三好学生 以资鼓励"
#由于此模版可以适用与多个同学,所以在名字的地方我们使用了占位符 %s。
print(certificate % "周杰伦") 
#恭喜,周杰伦同学在2022年度学习中,表现优异特发 三好学生 以资鼓励
也可以支持多个占位符存在
certificate = "恭喜,%s同学在2022年度学习中,表现优异特发 %s 以资鼓励"
#我们尝试在2个地方都使用占位符,姓名,和 奖项
print(certificate % ("周杰伦",'音乐委员')) 
# 恭喜,周杰伦同学在2022年度学习中,表现优异特发 音乐委员 以资鼓励
'''注意事项:有几个占位符就需要几个数据值,并且需要用(包起来)'''

占位符形式2:  %d  #适用于数字。例如 学好 id 等
student_id = "查询到 您的学生id:%d "
print(student_id % 120002 )  #查询到 您的学生id:120002
优点:可以控制数字位数
student_id = "查询到 您的学生id:%06d " # %06d 代表此占位符为6位数
print(student_id % 382 )  # 查询到 您的学生id:000382 

基本运算符

运算符号 使用作用 代码展示
+ 加法运算 2+2
- 减法运算 2-2
* 乘法运算 2*2
/ 除法运算 2/2
% 取余 2%2
// 取商 2//2
** 平方 2**2
  • 相关简化写法
      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

常用赋值符

1,链式赋值
    num = 100
    num1 = 100
    num2 = 100
    链式赋值展示: num = num1 = num2 = 100
    print(num2) # 100
2.交叉赋值
    num = 100
    num1 = 200
    #让数字1和数字2数据值交换
    常规代码:
    num3 = num #采用中间变量
    num = num1
    num1 = num3
    print(num,num1) # 200 100
    交叉赋值法:
    num,num1 = num1,num
    print(num,num1) # 200 100
3,解压赋值
    name_list = ['moon','calvin','alen','tony']
    name1 = name_list[0]#常规赋值法
    name2 = name_list[1]
    name3 = name_list[2]
    name4 = name_list[3] #使用引索对列表内数据一个一个进行赋值
    解压赋值法
    name1,name2,name3,name4 = name_list
    print(name1,name2,name3,name4) # moon calvin alen tony
    '''解压赋值在使用的时候 正常情况下需要保证左边的变量名与右边的数据值个数一致'''
    列表有4个数据,对于也要提供4个变量名。不多不少负责都会报错。
    扩展了解:
    		name1,*b = name_list
        print(name1) #moon
				print(b)  # ['calvin', 'alen', 'tony']
		  	*会自动接收多余的数据 组织成列表赋值给后面的变量名

逻辑运算符

1,and. 与
    and连接的多个条件必须全部成立 结果才成立。
    例如:你的择偶标准,1,身高162以上 2,肤色白 3,工作稳定,4,性格温柔
    1 and 2 and 3 and 4 
    则代表 1234必须要同时满足 如何有任意一条没有满足 则为 False 不成立
2,or  或
		or连接的多个条件只要有一个成立 结果就成立
    1 or 2 or 3 or 4
    则代表 1234有任意一项满足即可,例如只要肤色白就 True 成立
3, not 非
     不在,不属于,不是 ,类似反话
     not 1  #不是身高162以上就行
4,混合用法
     (3>4 and 4>3) or ((1==3 and 'x' == 'x') or 3 >3)
  	eg:使用括号来进行优先级

成员运算符

in  
判断个体是否在群体中
代码举例:
num = [1,2,3,4,5,6]
print(2 in num) # True 因为2在其中所以成立
print(7 in num) # False 因为7在其中所以不成立
num = {1: 11, 2: 22, 3: 33}
print(11 in num) #False 因为11在字典的键中所以不成立
num = {1: 11, 2: 22, 3: 33}
print(2 in num) #True 因为2在字典的键中所以成立
字典成员运算只有键参与
s1 = 'hello world'
print('d' in s1)  # True 因为d在z字符串中所以成立
当然字符串也是也可使用的,查找的是每一个索引

身份运算符

is		判断内存地址是否相同  ==  判断数据值是否相同
num1 = [1,2,3,4]
num2 = [1,2,3,4]
print(num1 == num2) # True  数据值是相同
print(num1 is num2) # False 内存地址不同
即便数据相同也不代表数据地址相同哦

id  可以查询数据地址
print(id (num1)) #4545094720
print(id (num2)) #4545097088

小练习

练习一:
获取用户输入并打印成下列格式
	 ------------ info of Jason -----------
    Name : Jason
    Age  : 18
    Sex  : male
    Job  : Teacher 
   ---------------- end -----------------
答案:
Name = input('请输入姓名')
Age = input('请输入年龄')
Sex = input('请输入性别')
job = input('请输入工作')
print('------------ info of ',Name,'-----------') #字符串,变量,字符串
print("Name:", Name) #前面是字符串 后面是 变量
print("Age:", Age)
print("Sex:", Sex)
print("job:", job)
print('---------------- end -----------------')

练习二:
准备说出下列变量名v绑定的结果
 v1 = 1 or 3   # 1
 v2 = 1 and 3  # 3
 v3 = 0 and 2 and 1  # 0
 v4 = 0 and 2 or 1   #
 v5 = 0 and 2 or 1 or 4  #
 v6 = 0 or False and 1   #

标签:num1,Python,数据类型,运算符,num,print,id,输入,赋值
From: https://www.cnblogs.com/moongodnnn/p/16732064.html

相关文章

  • Python采集《惊奇先生》, 下载你想看的高质量漫画
    前言大家早好、午好、晚好吖~知识点:爬虫基本流程保存海量漫画数据requests的使用base64解码开发环境:版本:python3.8编辑器:pycharmrequests:......
  • 基本数据类型(补)及各种运算符
    1、昨日内容回顾python注释编写注释意义、注释添加方法变量的赋值赋值基本原理变量的使用命名原则、编写风格常量的使用常量的命名python常见数据......
  • 基本数据类型
    数据类型在记录变量或者常量时,数据值需要合适的类型进行记录,比如等级可以用数字记录,比如名字需要用文字记录,在python中,有几个常用的数据类型需要掌握,能帮助我们更好的......
  • python进阶之路4
    内容回顾PEP8规范代码编写规范及美观python注释语法平时养成写注释的习惯 1.警号 2.三个单引号 3.三个双引号常量与变量1.变量语法结构 变量名......
  • 运算符、赋值符
    基本运算符1.数学运算符+-*/%//**简化写法n=10n+=1#n=n+1n-=1#n=n-1n*=1#n=n*1n/=1#n=n......
  • python -day4
    python-day4目录python-day4python作业讲解基本数据类型布尔值bool基本数据类型元组tuple基本数据类型集合set用户交互格式化输出基本运算符常用赋值符逻辑运算符成员运......
  • python练习题
    1.输入账号密码,判断成功,程序退出。判断失败,继续登录输入。考察点:while和if语句的运用,及flage标志位。#coding=utf-8;flage=True;whileflage:user=raw_inpu......
  • Verilog运算符优先级
    Verilog运算符按功能可以分为九类。1.基本算数运算符运算符中文名举例举例结果说明+加法运算符或正值运算符12+315同普通加法-减法运算符或负值运算......
  • 【转载】Python的深浅拷贝以及应用场景
    深浅拷贝的原理深浅拷贝用法来自copy模块。导入模块:importcopy浅拷贝:copy.copy深拷贝:copy.deepcopy字面理解:浅拷贝指仅仅拷贝数据集合的第一层数据,深拷贝指拷贝数据......
  • Python学习路程——Day04
    Python学习路程——Day041、基本数据类型之布尔值bool​ 布尔值(bool)是用来判断条件是否对错的数据类型,只有两个值(True、False)​ Python基本的数据都内置了一个bool值​......