s1 = {'Jerry':'Python'}
import copy
s2 = copy.deepcopy(s1)
print(s2) # {'Jerry': 'Python'}
print(id(s1),id(s2))
print(s1==s2)
我们先来看一下这行代码:
name='哪吒'
a = 10
b = 10
print(id(a),id(b))
结果:地址一样
str1 = 'fsfsfsdd'
str2 = 'fsfsfsdd'
print(id(str1),id(str2))
结果:地址一样
list1 = [1, 2, 3]
list2 = [1, 2, 3]
print(id(list1), id(list2))
结果:地址不一样
list1 = [1,2,3,4]
list2 = list1.copy()
print(id(list1),id(list2))
结果:地址不一样
运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”
- 加法运算符 表现形式 + ;(12+5)
- 减法运算符 表现形式 -;(54-21)
- 乘法运算符 表现形式 *;(5*6)
- 除法运算符 表现形式 /;(46/2)
- // 整除,只会保留计算后的整数位,总会返回一个整型;(8//3)
- % 取模,求两个数相除的余数;(8%2)
- ** 幂运算,求一个值的几次幂;(2**3)
- 运算符的特殊写法 x = x + 3 其实是和 x += 3 是一样的
- += (x+= 3 相当于 x = x + 3 )
- -= (x -= 3 相当于 x= x - 3 )
- *= (x *= 3 相当于 x = x* 3 )
- **= (x **= 3 相当于 x = x ** 3 )
- /= (x /= 3 相当于 x = x/ 3 )
- //= (x //= 3 相当于 x = x // 3 )
- %= (x %= 3 相当于 x= x % 3 )
and、or、not、in、not in
1.or 逻辑 或
- 或运算两个值中只要有一个True,就会返回True
- 或运算是找True的
2.and 逻辑 与
- and可以对符号两侧的值进行与运算。 只有在符号两侧的值都为True时,才会返回True,只要有一个False就返回False
- 与 运算是找False的,如果第一个值为False,则不再看第二个值,最后返回值一定是False
# 请先阅读代码,然后直接运行
list = [1,2,3,4]
a = 1
b = 10
c = 0
print(bool(a in list))
print(bool(b in list))
print(bool(c in list))
#返回值:
True
False
False
4.not 逻辑 非
not就是相反的意思。not False就是True, not True就是False
```
not True == False
not False == True
result1 = 1 and 2 # 2
result2 = 1 and 0 # 0
result3 = 0 and 1 # 0
result4 = None and 0 # N
print(result1,result2,result3,result1)
# 打印结果为:2 0 0 None
a = 30
b = 40
c = a if a>b else b
print(c)
#输出结果:
40
(1)Python3里整形只有int型,无论多大的数值都可以存;
(2)浮点型float精度只有17位,超过17位自动转化为科学计数法进行表示
(3)布尔类型,True和False
(4)字符串型,可以直接通过取字符串中的数值。
print('''哪吒,
托塔李天王家的三太子,
变化三头六臂又或三头八臂,
百邪不侵专克摄魂夺魄的莲花化身''')
# 打印结果:
哪吒,
托塔李天王家的三太子,
变化三头六臂又或三头八臂,
百邪不侵专克摄魂夺魄的莲花化身
a = 'i love ' + '刘亦菲'
print(a)
# 结果
i love 刘亦菲
a = 'i love '
print(a, '刘亦菲')
# 结果
i love 刘亦菲
# a = 'i love %s' % 1
# print(a)
height=1.7
print('刘亦菲身高%f'%height)
age=19
print('刘亦菲今年%d岁'%age)
# f''
# b = '刘亦菲'
# a = f'i love {b}'
# print(a)
b = '刘亦菲'
a = 'i love {}'.format(b)
print(a)
name='Cheney'
print(len(name))
# 打印结果:
6
a='4200656'
print(max(a)
# 结果
6
a='4200656'
print(min(a)
# 结果:
0
#字符串 "a,b,c,d" ,请用逗号分割字符串,分割后的结果是什么类型的?
"a,b,c,d".split(',')
# 打印结果:
['a', 'b', 'c', 'd']
a = '123456'
b = '-'.join(a)
print(b)
# 结果:
1-2-3-4-5-6
#计算字符串 "cd" 在 字符串 "abcd"中出现的位置
"abcd".find('cd')
# 结果:
2
string = "Java is good"
string.replace('Java', 'Python')
# 结果显示为:
'Python is good'
a='python'
b=a.partition('th')
print(b)
# 结果:
('py', 'th', 'on')
isalpha():表示判断是字母
isdigit():表示判断是纯数字
isspace():表示判断有空格
去空格
"This IS a book".upper()
#结果
'THIS IS A BOOK'
#This IS a book", 请将字符串里的大写字符转成小写字符
"This IS a book".lower()
# 结果
"this IS a book"
# 判断变量s的值是否为大写
s='apple'
s.isupper()
# 结果
False
# 判断变量s的值是否为小写
s='apple'
s.isupper()
# 结果
True
(1)如何查看变量占用多少内存空间?
要导入模块sys,调用方法sys.getsizeof(变量名)
import sys
num01 = 1000
print("num01占用的空间:",sys.getsizeof(num01))
(2)八进制0o开头,十六进制0x开头
(3)整形数值常见方法:
(4)获取整数位,保留指定位数有效数字
使用round方法:
print(round(12.3456)) #输出结果只会打印12
print(round(12.3456,2)) #输出结果为12.35
使用math.ceil()方法,返回数字的上入;
使用math.floor()方法,返回数字的下舍;
使用modf()方法,返回两个数值,前一个数是小数部分、后一个个数是整数部分;
print(math.modf(12.22)) #返回(0.22,12.0)
# 1. a,b = 6, 8 我想让a=8 b=6我该怎么办?用2种方式实现
# 方法一:
# a,b=6,8
# a,b=b,a
# print(a,b)
# # 方法二:
# a,b=6,8
# a=a+b
# b=a-b
# a=a-b
# print(a,b)
#方法三
# a,b=6,8
# c=b
# b=a
# a=c
#
# print(a,b)
# 2. 完成字符串的逆序以及统计
# • 设计一个程序,要求只能输入长度低于31的字符串,否则提示用户重新输入
# string = input('请输入您的账号:')
# if len(string) < 31:
# pass
# else:
# print('字符串长度必须小于31,请重新输入')
# • 打印出字符串长度
# print(len(string))
# • 使用切片逆序打印出字符串
# lenght = string[::-1]
# print(lenght)
# 3. 要求从键盘输入用户名和密码,校验格式是否符合规则,如果不符合,打印出不符合的原因,并提示重新输入
# • 用户名长度6-20,用户名必须以字母开头
# • 密码长度至少6位,不能为纯数字,不能有空格
while 1:
UserName = input('请输入您的账户名:')
if 6<=len(UserName)<=20 and UserName[0].isalpha() == True:
while 1:
PassWord = input('请输入您的账户密码:')
for i in PassWord:
if i == ' ':
print('密码不能含有空格,请重新输入')
break
else:
if len(PassWord)>=6:
pass
if not PassWord.isdigit():
print('登录成功')
print(f'用户名为{UserName},密码为{PassWord}')
break
else:
print('密码不能为纯数字')
else:
print('密码长度不能小于6位')
else:
print('用户名请输入有效的格式')
continue
break
# 知识点写博客
https://blog.csdn.net/zjw3542/article/details/109747016
# 练习课堂中老师敲的代码
# 以4种格式化字符串的方式来实现 521 xxx 嫁给我好吗?
a = 521
#第一种:f''
print(f'{a} my baby')
#第二种:拼串
a='521 '+'my baby'
print(a)
# 第三种:传参
a = 521
print(a,'my baby')
# 第四种:%s字符串占位符
a = '521 '
print('%smy baby'%a)
#第五种:format
a = '521 '
print('{}my baby'.format(a))
# 现在有a b c三个变量,三个变量中分别保存有三个数值,请通过条件运算符获取三个值中的最大值
a = 65
b =90
c = 45
# 方法一:
result1 = a if a>b else b
result_max= result1 if result1 > c else c
print(result_max)
#方法二:
result_max = a if a > b else b and (a if a > b else b) if (a if a > b else b) > c else c
print(result_max)