python-Day4
目录
内容详解
基本数据类型
# 假设列表存储的是某个人的身份信息
info = ['qiao', 18, 'read', 20, 183, 120, 98-11-3]
列表存储信息有一个缺陷 无法明确的标明数据的指向
*字典 ( dict )
能够非常准确的存储信息
'''
大括号括起来 内部存放多个元素,元素之间逗号隔开
元素是 以K : V 键值对的形式储存
K(key)是对V(value)的描述性性质的信息 一般都是字符串(即文本信息)
V(value)是真实的数据,类似于变量的值 ,可以是任意数据类型.
'''
user_info = {
'username' : 'qiao',
'age' : 18,
'hobby' : 'sing',
'year' : 98
}
集合 ( set )
数据类型功能单一且后续使用频率较低
(去重、关系运算)
# 大括号括起来,内部存放多个元素,元素之间逗号隔开,不是K : V 键值对
s = {1, 2, 3, 4, 5}
元组 ( tuple ) ----> 不可变的列表
跟列表几乎一致,只不过使用的是小括号
元组一般存储一些只能看不能改的数据
'''
用小括号括起来,内部存放多个元素,元素之间逗号隔开,元素可以是任意类型
'''
t = (1, 2, [44, 'hhah'], '多')
元组内数据不能'修改'
布尔值 ( bool )
只有两个状态:
True
False
布尔值是用来描述事物的对错 、是否可行,主要用于逻辑判断
'''
在python中所有的数据在进行逻辑判断的时候都会转成布尔值
布尔值默认为False的数据有:
0 None 空字符串 空列表 空字典。。。。
其他情况布尔值都是True
'''
针对布尔值的变量名一般采用is开头:
is_right = True
is_delete = False
is_alive = True
与用户交互
1. 获取用户输入--->input
eg:
username=input('请输入你的名字>>>:')
# input获取到的用户输入都会转成字符串类型
2. 输出内部数据--->print
eg:
print(username)
编写方式:
1. 先写print括号内写需要打印的东西
2. 先写需要打印的东西之后使用句点符跟print之后按tab键即可
括号内还支持一次性打印多个数据,用逗号隔开即可
print('name', 'age', 123)
格式化输出
提前编写好(定义好)模板,之后修改特定的区域即可
eg:
'亲爱的xxx你好!你xxx月的话费是xxx,余额是xxx'
# s = '亲爱的%s你好!你%s月的话费是%s,余额是%s'
# print(s % ('jason', 2, 100, 99999999))
# print(s % ('tony', 2, 800, -99))
# print(s % ('kevin', 2, 88, 10))
username = input('username>>>:')
age = input('age>>>:')
print('my name is %s my age is %s' % (username, age))
占位符
"""占位符:%s %d %f"""
%s --> 代表字符串 可以给任意数据占位
%d --> 代表十进制整数 只能给数字占位
%f --> 代表浮点数
print('%08d' % 111) # 00000111
print('%08d' % 2) # 00000002
基本运算符
乘(*) 除(/) 整除(//) 取余(%) 等于(==)
赋值运算符
增量赋值
x += 100 # x = x + 100
x -= 100 # x = x - 100
x *= 100 # x = x * 100
x /= 100 # x = x / 100
链式赋值
可以用一行代码把同一个值同时赋值给多个变量名
x = 100
y = x
z = x
# 简化
x = y = z = 100
交叉赋值
# 定义两个变量m与n
m = 10
n = 999
# 让m指向n指向的值 让n指向m指向的值
# m = n
# n = m
# print(m, n) # 999 999
# 如果我们想将m与n的值交换过来,可以这么做
tmp = m
m = n
n = tmp
print(m, n) # 999 10
# 交叉赋值
m, n = n, m #这一行代码就可以做到交换他们的值
print(m, n) # 10 999
*解压赋值
>>>name_list = ['jason', 'kevin', 'tony', 'jerry']
# 把列表中的多个值取出来依次赋值给多个变量名,
# name1 = name_list[0]
# name2 = name_list[1]
# name3 = name_list[2]
# name4 = name_list[3]
# 解压赋值,一行代码就可以做到
>>>name1, name2, name3, name4 = name_list
# name1, name2 = name_list
# name1, name2, name3, name4, name5 = name_list
"""
1.正常情况下 左右两边的变量名和值的个数要相等
2.也可以打破个数限制
"""
l1 = [11, 22, 33, 44, 55, 66, 77, 88, 99]
a, b, *_ = l1
print(a, b, _) # 11 22 [33, 44, 55, 66, 77, 88, 99]
a, *_, b = l1
print(a, b, _) # 11 99 [22, 33, 44, 55, 66, 77, 88]
"""
单独的下划线作为变量名,是为了符合语法,但是指向的是值用不到的情况
"""
逻辑运算符
and-->与:
连接多个条件都必须满足 结果才是True
>>> 2 > 1 and 1 != 1 and True and 3 > 2 # 判断完第二个条件,就立即结束,得的最终结果为False
False
or-->或:
连接多个条件只要有一个满足 结果就是True
>>> 2 > 1 or 1 != 1 or True or 3 > 2 # 判断完第一个条件,就立即结束,得的最终结果为True
True
not-->非:
将条件反转:
True变为False
False变为True
混用and、or、not:
"""
三者混合使用的时候是有优先级的
可人为的在编写初期强制规定好顺序
主动加上括号区分
"""
>>> (3>4 and 4>3) or ((1==3 and 'x' == 'x') or 3 >3)
False
成员运算
判断个体在不在某个群体内
name_list = ['jason', 'kevin', 'tony', 'oscar', 'jerry', 'owen', 'tank']
print('jason' in name_list) # True
print('jason' not in name_list) # False
身份运算
is : 判断两个数据的内存地址(id)是否一致
== : 判断两个数据的值(value)是否一致