首页 > 其他分享 >9.26

9.26

时间:2022-09-26 16:46:24浏览次数:43  
标签:jason 9.26 list 运算符 print 数据 name

今日内容

1.基本数据类型

2.与用户交互

3.格式化输出

4.基本运算符

5.常用赋值符

6.逻辑运算符

7.成员运算符

8.身份运算符

基本数据类型

整型就是整数 int

代码实现:
age = 22
stu_num = 64
year = 2022

浮点型就是小数 float

代码实现:
height = 1.75
weight = 70
salary = 3.1

字符串就是文本类型的数据 str

代码实现:
name = 'tom'
addr = '芜湖'
hobby = '打球'
1.定义字符串有四种方式
name = 'jason'
name1 = "jason"
name2 = '''jason'''
name3 = """jason"""
2.为什么定义字符串需要有多种方式
我们在字符串中编写文本也可能会使用到引号 为了避免冲突 有了多种方式
info = "Jason老师说:'年轻不是用来挥霍的资本'"
3.如何区分三引号是字符串还是注释
关注左侧是否含有赋值符号和变量名 如果有则为字符串 没有则为注释

列表就是可以存储多个数据值的类型 并且可以非常方便的取 list

代码实现:
name_list = ['tom', 'tony', 'kevin', 'ami', 'jerry']
1.列表的文字描述
中括号括起来 内部可以存放多个数据值 数据值与数据值之间逗号隔开 数据值可以是任意数据类型
l1 = [11, 11.11, 'jason',[11, 22]]
2.索引取值
起始数字是从0开始
l1[索引值]

字典能够非常精确的存储和表达数据值的含义 dict

代码实现:
info_dict = {
'username': 'tim',
'age': 28,
'hobby': 'read',

​ }
1.字典文字描述
大括号括起来 内部可以存放多个数据 数据的组织形式是K:V键值对
键值对与键值对之间逗号隔开
K是对V的描述性性质的信息(解释说明) 一般都是字符串类型
V是真正的数据值 可以是任意数据类型
2.按K取值
字典只能按K取值 因为字典是无序的 没有索引的概念
info_dict['username']

布尔值bool

1.用来判断事物的对错 是否可行 只要用于流程控制中
2.只有两种状态
True 对的 真的 可行的
False 错的 假的 不可行的
3.python中所有数据都自带布尔值
布尔值为False的数据有:0 None '' [] {}
布尔值为True的数据有:除了上面的都是True
4.存储布尔值的变量名一般推荐使用is开头
is_delete = False
is_alive = True

注意:
很多程序中提供的注销账户的功能 其实底层并没有删除数据 而是修改了数据的状态

元组tuple

1.也称为'不可变'的列表
元组内索引绑定的内存地址不能修改
2.小括号括起来 内部存放多个数据值 数据值与数据值之间逗号隔开 数据值可以是任何数据类型
3.代码实现
t1 = (11, 22, 'jason')
4.元组与列表的对比

l1 = [11, 22, 33]
print(l1[0]) 获取索引0对应的数据值
l1[0] = 666
print(l1) [666, 22, 33]
t1 = (11, 22, 33)
print(t1[0])
t1[0] = 999
print(t1)

t1 = (11, 22, [111, 222])
t1[2][1] = 666
print(t1)

集合set

1.集合只能用于去重和关系运算
后面再讲 暂且忽略
2.集合内数据只能是不可变类型
后面再讲 暂且忽略
3.大括号括起来 内部存放多个数据值 数据值与数据值之间逗号隔开 数据值不是k:v键值对
4.代码实现
s1 = {1, 2, 3, 4, 5, 6}
5.定义空集合与空字典
{} 默认是字典
set() 定义空集合

与用户交互

1.获取用户输入
input

​ 获取用户输入

​ username = input('请输入您的用户名>>>:')
​ """
​ 1.先执行input获取用户输入
​ 2.将输入的数据绑定给变量名username
​ 3.以后在程序中就可以使用变量名反复调用用户数据
​ """
​ 强调:input获取到的数据都会统一处理成字符串类型

2.输出内部信息
print
1.括号内既可以放数据值也可以放变量名 并且支持多个 逗号隔开即可
2.print自带换行符
换行符:\r\n \n(斜杠与字母组合到一起可能会产生特殊的含义)
3.print也可以切换结束符
print(数据,end='默认是\n')
扩展:python2与python3中两个关键字的区别
python2中
input方法需要用户自己提前指定数据类型 写什么类型就是什么类型
raw_input方法与python3中input一致 输入的统一处理成字符串
python2中
print方法有两种使用方式
print 数据值
print(数据值)

格式化输出

提前定义好一些内容 将来根据需要可以进行局部修改

代码实现
在现实生活中大部分情况下使用下划线提示别人填写内容
但是在程序中需要使用占位符:%s %d
info = '%s同志你好'
单个占位符

print(info % 'Jason') Jason同志你好
print('%s同志你好' % 'Tony') Tony同志你好
print(info % ('jason',))
print('%s同志你好' % ('Tony',))
多个占位符
desc = '姓名:%s 年龄:%s 爱好:%s'
print(desc % ('jason', 18, 'read'))
print('姓名:%s 年龄:%s 爱好:%s' % ('tony', 28, 'rap'))
注意事项:有几个占位符就需要几个数据值
print('my name is %s my age is %s' % ('jason',)) 少了不行
print('my name is %s my age is %s' % ('jason', 18, 'read')) 多了不行
不同占位符的区别
demo1 = '%s您好 您本月的话费是%s 余额是%s' %s常见数据类型都支持
print(demo1 % ('jason', 100, 10000000000000))
demo2 = '%d您好 您本月的话费是%d 余额是%d' %d只支持数字类型
print(demo2 % ('tony', 1000000000, -100000))

print('%08d'% 123) 00000123
print('%08d'% 1234324324) 1234324324

基本运算符

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.比较运算符
< > <= >= ==(等于号) !=(不等于)

常用赋值符

1.链式赋值

​ name='jason'

​ name1='name'

​ name2=name

​ name=name1=name2='jason'

2.交叉赋值

m=100 n=999

让m和n互相转换绑定的值

方法1:中间变量

temp=m m=n n=temp

print(m,n)

方法2:交叉赋值语法

m,n=n,m 999 100

print(m,n) 999 100

3.解压赋值

name_list = ['jason', 'kevin', 'tony', 'oscar']

解压赋值语法

name1,name2,name3,name4=name_list

解压赋值在使用的时候,正常情况下需要保证左边的变量名与右边的数据值个数一致

a, b = name_list 变量名少了不行

a, b, c, d, e = name_list 变量名多了也不行

当需要解压的数据个数特别多,并且我们只需要使用其中的几个,那么可以打破上述规则

a, *b = name_list # *会自动接收多余的数据 组织成列表赋值给后面的变量名
print(a) jason
print(b) ['kevin', 'tony', 'oscar']
a, c, *b = name_list
print(a)
print(c)
print(b) ['tony', 'oscar']
a, *b, c = name_list
print(a) jason
print(b) ['kevin', 'tony']
print(c) oscar

当数据值不准备使用的时候,可以使用下划线作为变量名绑定

a, *_, c = name_list

逻辑运算符

1.and 与

and连接的多个条件必须全部成立 结果才成立
eg:
你去相亲提要求:身高必须是160以上、长相必须好看、家里必须有钱、性格必须温柔 身高 and 长相 and 有钱 and 温柔

1 > 2 and 4 < 8 and 10 < 1 and 1 == 2 如果条件中全部由and组成那么判断起来非常的简单 只要发现一个不成立 结果就 不成立
print(1 < 10 and 666) 666 成立
print(1 < 10 and 2 < 8) True 成立
print(111 and 222) 222 成立
如果需要你准确的说出具体的结果值 那么需要按照下列方式
如果and左边的条件是成立的 那么就完全取决于右边的条件
右边如果直接是数据值 那么结果就是该数据值 如果是含有表达式 则为布尔值

2.or 或
or连接的多个条件只要有一个成立 结果就成立
eg:
你去相亲提要求:要么家里有钱 或者家里有势 或者长得完美 或者对你死心塌地 有钱 or 有势 or 好看 or 专一
1 > 2 or 4 < 8 or 10 < 1 or 1 == 2 如果条件中全部由or组成那么判断起来非常的简单 只要发现一个成立 结果就成立

print(1 < 10 or 666) True
print(666 or 1 > 10) 666
print(0 or False) False
print(0 or 111) 111
规律用and

3.not 非
取反
类似于说反话

and or not 三者混合使用的时候有优先级之分 但是我们不需要记忆优先级 应该通过代码的形式提前规定好优先级

​ eg: 先乘除后加减 ,可以使用括号来改变优先级

成员运算符

判断个体在不在群体内

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 列表最小单位是数据值 不能再细分

s1 = 'hello world'

print('d' in s1) 字符串最小单位是单个单个的字符

d1 = {
'username': 'jason',
'pwd': 123
}
print('jason' in d1) # False 字典成员运算只有键参与
print('username' in d1) # True 'username' 'pwd'

身份运算符

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

小整数池
i1 = 11
i2 = 11
print(i1 is i2)

s1 = 'jason jason jason'
s2 = 'jason jason jason'
print(s1 is s2)
不同的环境下可能优化的程度不一样

了解:值相同内存地址可能不同 内存地址相同值肯定相同

标签:jason,9.26,list,运算符,print,数据,name
From: https://www.cnblogs.com/yueq43/p/16731435.html

相关文章

  • 闲话 22.9.26
    闲话调全体T4六点改出来了,但大样例不认为我改出来了于是又花了两个小时修改不存在的错误最近在做这题[JRKSJR4]risrqnis想做主要是因为上琴糖但是做着做着发现很......