复数类型
"""
将复数2.3×103-1.34×10-3j赋值给变量A,并分别提取A的实部和虚部。
"""
import math
A = complex(2.3e3, 1.34e-3)
print(f'实部 {A.real}')
print(f'虚部 {A.imag}')
计算下列表达式的值
"""
计算下列表达式的值: 在这里插入图片描述 程序:
z1 = 2sin85/1+e2
"""
z1 = (2 * (math.sin(math.pi * 85 / 180))) / (1 + math.e ** 2)
print(f'求值如下 {z1}')
建立一个包含10个字符的字符串A,然后对该字符串进行如下操作
"""
3、建立一个包含10个字符的字符串A,然后对该字符串进行如下操作:
(1)计算输出字符串的长度;
(2)从第1个字符开始,每间隔2个字符取1个字符,组成子字符串B;
(3)将字符串A倒过来重新排列产生新的字符串C;
(4)将字符串A的前4个字符与字符串C的后5个字符进行组合,产生字符串D。
"""
A = input("请输入一个10位长的字符串:")
print(A)
print("A长度{0}".format(len(A)))
B = A[::2]
print(B)
C = ''.join(reversed(A))
print(str(C))
D = A[:4] + C[5:]
print(D)
字符串的翻转
"""
字符串的切片功能
"""
from functools import reduce
a = '1234567'
b = a[0:4:2]
c = a[::-2]
print(b)
print(c)
d = ''.join(reversed(a))
print(d)
def loopStr(str):
list = []
index = len(str) - 1
while index >= 0:
list.append(str[index])
index -= 1
return ''.join(list)
print(loopStr(a))
e = reduce(lambda x, y: y + x, a)
print(e)
字符串基础操作
A = 'Hello World! Error isMe isMe \n isMe'
print("split字符串分割,默认用空格分割 {0}".format(A.split()))
print("index索引,找出指定字符的索引位置 {0}".format(A.index('W', 1, 7)))
print("count统计指定字符的个数 {0}".format(A.count('l', 1, 7)))
print("casefold字符串转换为小写 {0}".format(A.casefold()))
print("find字符串查询索引位置 {0}".format(A.find('Error')))
print("lstrip截掉字符串左边的空格或指定字符。 {0}".format(A.lstrip('Hello')))
print("rsplit截掉字符串右边的空格或指定字符。 {0}".format(A.rsplit('isMe')))
print("strip用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。{0}".format(A.strip()))
print("replace字符串替换功能。 {0}".format(A.replace('isMe', 'isYou', 3)))
print("splitlines按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,"
"不包含换行符,如果为 True,则保留换行符。 {0}".format(A.splitlines()))
print("capitalize字符串的首字母转换为大写,其余字母转换为小写 {0}".format(A.capitalize()))
print("partition如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,"
"第二个为分隔符本身,第三个为分隔符右边的子串。 {0}".format(A.partition(' ')))
print("字符串转换为列表--使用列表推导式,将字符串的每个字符或子串作为列表元素 {0}".format([A[i] for i in range(len(A))]))
print("字符串转换为列表--map()函数可以将一个函数应用于一个可迭代对象的每个元素,并返回一个迭代器 {0}".format(list(map(lambda x: x, A))))
生成新的四位数
"""
编程程序,从键盘任意输入1个4位数,将该数字中的每位数与7相乘,然后取乘积结果的个位数对该数字进行替换,最后得到1个新的4位数。
"""
target_str = ''
num_list = list(('-'.join(str(4564))).split("-"))
for elem in num_list:
target_str += str(int(elem) * 7 % 10)
print("新四位数: {0}".format(target_str))
浅深拷贝
"""
python深拷贝和浅拷贝?
注意引用和copy(),deepcopy()的区别
浅拷贝小结:
1)当浅复制的值是不可变对象(字符串、元组、数值类型)时和“赋值”的情况一样,对象的id值(id()函数用于获取对象的内存地址)与浅复制原来的值相同。
2)当浅复制的值是可变对象(列表、字典、集合)时会产生一个“不是那么独立的对象”存在。有两种情况:
第一种情况:复制的对象中无复杂子对象,原来值的改变并不会影响浅复制的值,同时浅复制的值改变也并不会影响原来的值。原来值的id值与浅复制原来的值不同。
第二种情况:复制的对象中有复杂子对象(例如列表中的一个子元素是一个列表),如果不改变其中复杂子对象,浅复制的值改变并不会影响原来的值。 但是改变原来的值中的复杂子对象的值会影响浅复制的值。
深拷贝
深拷贝:与浅拷贝对应,深拷贝拷贝了对象的所有元素,包括多层嵌套的元素。深拷贝拷贝出来的对象是一个全新的对象,不再与原来的对象有任何关系。
"""
import copy
a = [1, 2, 3, 4, ['a', 'b']]
b = a
c = copy.copy(a)
d = copy.deepcopy(a)
a.append(5)
a[4].append('c')
print('a = ', a)
print('b = ', b)
print('c = ', c)
print('d = ', d)
参考链接
Python基础 https://juejin.cn/post/6978409487472263175?searchId=202410011058345FF960A059A2F39307EE