1.简述python垃圾回收机制
就是对于之前占用的内存空间,比如一开始x的值为10,后面改为了11,那之前定义占用的空间(被视为垃圾)就会被自动删除,这也是与其他语言不一样的点,其他的语言可能还需要自己去删,python会自动删去不需要的内存占用
2.对于下述代码:
x = 10
y = 10
z = 10
del y
10的引用计数为多少?2
x = 257
y = x
del x
z = 257
x对应的变量值257的引用计数为多少?2
3.简述Python小整数池概念:
就相当于在使用int的时候有一个范围(【-5,256】内的值,可以被随意调用,也不会多占空间或者被垃圾回收机制删除,对于上一节讲的引用计数,需要注意的是:Python实现int的时候有个小整数池。为了避免因创建相同的值而重复申请内存空间所带来的效率问题, Python解释器会在启动时创建出小整数池,范围是[-5,256],该范围内的小整数对象是全局解释器范围内被重复使用,永远不会被垃圾回收机制回收。
4.对于x = 10
,请用Python代码分别打印变量值、变量值内存地址和变量数据类型。
打印变量值:print(x)
打印变量内存地址:print(id(x))
打印变量数据类型:print(type(x))
5.对于下述代码:
x = 257
y = x
z = 257
请判断x、y、z的变量值是否相同?x、y、z的所在的内存地址是否相同?请用python代码阐述为什么?
print(f'x={x},y={y},z={z}')
print(x==y==z)
print(x is y is z)
6.简述Python的五大数据类型的作用、定义方式、方法:
i.数字类型
整型(int)
1.作用
表示人的年龄、各种号码、级别
2.定义
age = 18
3.如何用
加减乘除、逻辑判断(大于、小于)
浮点型
1.作用
表示身高、体重、薪资
2.定义
salary = 2.1
3.如何用
加减乘除、逻辑判断(大于、小于)
ii.字符串类型
1.作用
表示名字、爱好
2.定义
name1 = 'nick'
name2 = "egon"
print(id(name1))
print(type(name1))
print(name1)
3.如何用
字符串只能+、*和逻辑比较
字符串的拼接,即重新申请一个小空间把两个字符串都拷贝一份后再拼接。而不是你YY的把一个小空间内的变量值复制到另一个变量的小空间内,然后拼接。
msg2 = "my name is 'nick'"
msg3 = 'my name is "nick"'
print(msg2 + msg3) # my name is 'nick'my name is "nick"
注意:如果字符串内有引号,则包裹字符串的引号和字符串内部的引号不能相同。
name = 'nick '
print(name * 10)
注意:字符串的乘法只能乘以数字。
msg1 = 'hello'
msg2 = 'z'
print(msg1 > msg2)
注意:字符串比较大小,按照ASCII码比较,以后会细讲。
msg3 = 'zero'
msg4 = 'zx'
print(msg3 > msg4)
print('Z' > 'A')
print('Z' > 'a')
注意:字符串的比较是字母的顺序。
iii.列表
1.作用
存放多个值,如多个女朋友、多个爱好。
2.定义
在[]内用逗号分隔开任意类型的值。
hobby = 'read'
hobby_list = [hobby, 'run', 'girl']
print(id(hobby_list))
print(type(hobby_list))
print(hobby_list)
3.如何用
存不是目的,取才是目的,我们介绍列表索引取值的方法,牢记索引序号从0开始
hobby_list = ['read', 'run', 'girl']
# 索引序号 0 1 2
# 取出第二个爱好
print(hobby_list[1])
hobby_list = ['read', 'run', ['girl_name', 18, 'shanghai']]
# 取出girl的年龄
print(hobby_list[2][1])
iiii.字典
1.作用
用来存取多个值,按照key:value的方式存值,取的时候可以通过key而非索引去取值,key对value具有描述性的作用。存放数据的种类各种各样并且数据较多的时候可以使用字典。
2.定义
在{}内用逗号分隔开多个元素,每一个元素都是key: value的格式,其中value是任意格式的数据类型,key由于具有描述性的作用,所以key通常是字符串类型。
user_info = {'name': 'nick', 'gender': 'male', 'age': 19,
'company_info': ['oldboy', 'shanghai', 50]}
print(id(user_info))
print(type(user_info))
print(user_info)
3.如何用
字典取值方式不再依赖于索引,而是依赖于key,通过[key]即可获取key对应的value值。
# 字典套列表
user_info = {'name': 'nick', 'gender': 'male', 'age': 19,
'company_info': ['oldboy', 'shanghai', 50]}
print(user_info['name'])
print(user_info['company_info'][0])
# 字典套字典
user_info = {'name': 'nick', 'gender': 'male', 'age': 19, 'company_info': {
'c_name': 'oldboy', 'c_addr': 'shanghai', 'c_num_of_employee': 50}}
print(user_info['name'])
print(user_info['company_info']['c_name'])
v.布尔型
1.作用
用于判断条件结果
2.定义
True、False通常情况不会直接引用,需要使用逻辑运算得到结果。
3.如何用
print(type(True))
print(True)
print(bool(0))
print(bool('nick'))
print(bool(1 > 2))
print(bool(1 == 1))
注意:Python中所有数据类型的值自带布尔值。如此多的数据类型中只需要记住只有0、None、空、False的布尔值为False,其余的为True。
print(bool(0))
print(bool(None))
print(bool(''))
print(bool([]))
print(bool({}))
print(bool(False))
标签:info,0810day03,name,nick,user,print,hobby
From: https://www.cnblogs.com/brokenheart921/p/18352148