东莞营销型网站建设流程网站速成
news/
2025/9/26 12:40:39/
文章来源:
东莞营销型网站建设流程,网站速成,网站建设领域文章,百度用户服务中心官网电话1.类型转换
1.1 int(x):转化为一个整数#xff0c;只能转换由纯数字组成的字符串
float-int
浮点型强转整形会去掉小数点后面的数#xff0c;只保留整数部分
a 1.2
print(type(a)) #class float
b int(a)
print(type(b)) #class intprint(int…1.类型转换
1.1 int(x):转化为一个整数只能转换由纯数字组成的字符串
float-int
浮点型强转整形会去掉小数点后面的数只保留整数部分
a 1.2
print(type(a)) #class float
b int(a)
print(type(b)) #class intprint(int(1.8)) #1
str-int 如果字符串中有数字和正负号在开头以外的字符就会报错/-写在前面表示正负号写在后面是加减号
a int(123)
print(a,type(a)) #123 class int
从控制台输入数字的时候可以使用强制转换input输入时默认输入的是字符串类型
age int(input(请输入年龄))
if age 18:print(成年了)1.2 float(x)转换为一个小数
整形转换为浮点型会自动添加一位小数
如果字符串中由正负号数字和小数点以外的字符不支持转换
print(float(11)) #11.0
print(float(-23)) #-23.0
print(float(2.3456)) #2.345
#print(float(10-)) 报错1.3 str(x)将对象转换为字符串类型任何类型都可以转换
浮点型转换成str会自动去除末位为0的小数部分保留一位小数
a 100
print(type(a),a) #class int 100b str(a)
print(type(b),b) #class str 100st str(-1.8)
print(type(st),st) #class str -1.8st1 str(-1.00000)
print(type(st1),st1) #class str -1.0st2 str(-1.02300)
print(type(st2),st2) #class str -1.023
转换列表
list [1,2,3]
st str(list)
print(type(st),st) #class str [1, 2, 3]
1.4 eval (x)用来计算在字符串中的有效python表达式并返回表达式的值
eval非常长强大但不够安全容易被恶意修改数据
print(1010) #20
print(1010) #1010
print(1010) #1010
print(eval(1010)) #20 执行运算并返回运算值
eval可以实现list、dict、tuple和str之间的转换相当于去掉字符串的引号
st1 [[1,2],[3,4],[5,6]]
print(type(st1),st1) #class str [[1,2],[3,4],[5,6]]li eval(st1)
print(type(li),li) #class list [[1, 2], [3, 4], [5, 6]]
st2 {name:panda,age:5}
print(type(st2),st2) #class str {name:panda,age:5}
dic eval(st2)
print(type(dic),dic) #class dict {name:panda,age:5}
1.5 tuple(x)将可迭代对象转换为元组类型
list [1,2,3,4]
tua tuple(list)
print(tua,type(tua)) #(1, 2, 3, 4) class tuple
1.6 list(x)将可迭代对象转换为列表类型
支持转换为list的类型:str 、tuple、dict、set
字典转换成列表会取键名作为列表的值。
集合转化成列表会先去重在转换字母无序。
print(list(abcdef)) #[a,b,c,d,e,f]
print(list((1,2,3,4))) #[1,2,3,4]
print(list({name:panda,age:5})) #[name,age]
print(list({a,b,c,b})) #[c,b,a]
2.深浅拷贝只针对可变对象
2.1赋值对于列表字典集合这种类型复制就等于完全共享资源一个值的改变会完全被另一个值共享。赋值后的对象会随着原对象一起变换。
li [1,2,3,4]
li2 li
print(li,li) #li [1, 2, 3, 4]
print(li2,li2) #li2 [1, 2, 3, 4]
li.append(5)
print(赋值后li,li) #赋值后li [1, 2, 3, 4, 5]
print(赋值后li2,li2) #赋值后li2 [1, 2, 3, 4, 5]
2.2浅拷贝数据半共享
会创建新的对象拷贝第一层的数据嵌套层会指向原来的内存地址
首先需要导入copy模块
查看内存地址id
外层的内存地址不同内层的内存地址相同。大多数形况下都使用浅拷贝
优点拷贝速度快且占用空间少拷贝效率高。
import copy #导入copy模块li [1,2,3,[4,5,6]]
li2 copy.copy(li) #浅拷贝
print(li,li) #li [1, 2, 3, [4, 5, 6]]
print(li2,li2) #li2 [1, 2, 3, [4, 5, 6]]
print(id(li)) #2256239241864
print(id(li2)) #2256239241992内存地址不一样不是同一对象
li.append(8)
print(赋值后li, li) #赋值后li [1, 2, 3, [4, 5, 6],8]
print(赋值后li2, li2) #赋值后li [1, 2, 3, [4, 5, 6]]li[3].append(7) #往嵌套列表添加元素
print(赋值后li, li) #赋值后li [1, 2, 3, [4, 5, 6,7],8]
print(赋值后li2, li2) #赋值后li [1, 2, 3, [4, 5, 6,7]]
print(id(li[3])) #2288402279240
print(id(li2[3])) #2288402279240 内存地址相同
2.3深拷贝数据完全不共享
外层对象和内层元素都拷贝一遍深拷贝数据变化只影响自己本身和原来的对象没有关联。
也要导入copy模块
import copy #导入copy模块
li [1,2,3,[4,5,6]]
li2 copy.deepcopy(li)
print(li,li) #li [1, 2, 3, [4, 5, 6]]
print(li2,li2) #li2 [1, 2, 3, [4, 5, 6]]
print(id(li)) #2704884215048
print(id(li2)) #2704884214792内存地址不一样不是同一对象
li.append(8)
print(赋值后li, li) #赋值后li [1, 2, 3, [4, 5, 6],8]
print(赋值后li2, li2) #赋值后li [1, 2, 3, [4, 5, 6]]li[3].append(7) #往嵌套列表添加元素
print(赋值后li, li) #赋值后li [1, 2, 3, [4, 5, 6,7],8]
print(赋值后li2, li2) #赋值后li [1, 2, 3, [4, 5, 6,]]
print(id(li[3])) #2704883434440
print(id(li2[3])) #2704884215304 内存地址不同3.可变对象
含义存储空间保存的数据允许被修改这种数据就是可变类型变量对应的值可以被修改但是内存地址不会发生改变
常见的可变类型列表list、字典dict、集合set)
li [1,2,3,4]
print(li,id(li)) #[1, 2, 3, 4] 1886619741320
li.append(5) #添加元素
print(li,id(li)) #[1, 2, 3, 4, 5] 1886619741320dic {name:pande,age:5}
print(dic,id(dic)) #{name: pande, age: 5} 2103573679704
dic[name] monkey #修改元素
print(dic,id(dic)) #{name: monkey, age: 5} 2103573679704set {1,2,3,4,5}
print(set,id(set)) #{1, 2, 3, 4, 5} 2769478186152
set.remove(3) #删除元素
print(set,id(set)) #{1, 2, 4, 5} 2769478186152
4.不可变对象
含义存储空间保存的数据不允许被修改这种数据就是不可变类型变量对应的值不能被修改修改的话就会生成新的值从而分配新的内存空间
常见的不可变类型数值类型int 、bool、float、complex、字符串str、元组tuple
元组不支持新增修改和删除操作。
n 10
print(n,id(n)) #10 140719911371312
n 15
print(n,id(n)) #15 140719911371472str hello
print(str,id(str)) #hello 2348660297456
str world
print(str,id(str)) #world 2348660297520tua (1,2,3)
print(tua,id(tua)) #(1, 2, 3) 1535623178104
tua (a,b,c)
print(tua,id(tua)) #(a, b, c) 1535623178504
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/918248.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!