python基础复习之数字和字符串
来源:互联网 发布:淘宝海外直购能退货吗 编辑:程序博客网 时间:2024/05/29 16:50
1、简述变量、对象、引用的关系(用一到两句话)
a = 1
a是变量名,1是对象,a引用了1,a没有类型,type(a)==type(1)
2、对象的两个标准头信息是什么?分别有什么用
计数器,类型标识符
计数器:判断对象是否已经回收
类型标识符:标明对象类型
3、简述一下对象的回收机制
通过计数器实现:当一个对象的引用被创建或者复制时,对象的引用计数加1;当一个对象的引用被销毁时,对象的引用计数减1;当对象的引用计数减少为0时,就意味着对象已经没有被任何人使用了,可以将其所占用的内存释放了。
4、什么是复用,怎么判断两个变量是否是复用的关系
通过查看内存地址
a = 1
b = a
id(a) == id(b) <-> a is b
5、简单的说一下浅拷贝与深拷贝的关系
In [2]: import copy
In [3]: l = (1,2,[1,2,3])
In [4]: a = copy.copy(l) #浅拷贝
In [5]: b = copy.deepcopy(l) #深拷贝
In [7]: a
Out[7]: (1, 2, [1, 2, 3])
In [8]: b
Out[8]: (1, 2, [1, 2, 3])
In [9]: l[2].append(4)
In [10]: a
Out[10]: (1, 2, [1, 2, 3, 4])
In [11]: b
Out[11]: (1, 2, [1, 2, 3])
总结:浅拷贝是指向变量的,即a->l,所以l变,它也变
深拷贝是指向变量指向的内存的,即b->(1,2,[1,2,3]),所以l变它不变
另一种解释:浅拷贝只拷贝父对象,深拷贝既拷贝父对象,也拷贝子对象。
6、常见的数字类型有哪些?
int float complex
7、数字一般在程序实战中体现在哪几块?
计数(想不到了)
8、 2*(3+4)与2* 3 +4的区别
见小学数学课本
9、 怎么样去求一个数字的平方?
import math
x = 3
result = math.sqrt(x)
result = 3*3
result = 3**2
10、1+ 2.0返回的是什么类型
float
11、如何将整数转为浮点数
a = 1
result = float(a)
result = 1*1.0 or 1/1.0 or 1+0.0
12、如何将整数转换成八进制、十六进制、二进制的形式。
bin 2
oct 8
int 10
bin(10)
0b1010’
oct(10)
012’
hex(10)
0xa’16
13、怎样去截断或舍去浮点数的小数部分?
a = ‘%0.1f’ % math.pi
a
‘3.1’
a = ‘%0.5f’ % math.pi
a
‘3.14159’
小数点后的数字表示要保留的小数位数,这里是四舍五入,不过最后结果是字符串
字符串题目:
1、去空格及特殊符号
s = ’ wsj
s.rstrip()
’ wsj’
s.strip()
‘wsj’
2、复制字符串
s = ‘wsjjj’
a = s[:]
a
‘wsjjj’
s = ‘wsj’
a
‘wsjjj’
3、连接字符串
a = ‘hello’
b = ‘world’
c = a + b
c
‘helloworld’
4、查找字符
a.find(‘l’)
2
#返回最左边出现的索引
a.find(‘a’)
-1
#若不存在,返回-1
5、比较字符串
amp(a,b)
#相同,返回0,否则-1
6、扫描字符串是否包含指定字符
in
#返回BOOL值
7、字符串长度
len()
8、大小写转换
s.upper()
s.lower()
s.swapcase()
9、追加指定长度字符串
s = s+’wsj’
10、字符串指定长度比较
a = ‘wsj’
b = ‘wsjjj’
cmp(a,b)
-1
cmp(a[0:2],b[0:2])
0
11、将字符串前N个字符替换为指定的字符
b.replace(b[0:N-1],’wsj’)
12、扫描字符串
for i in s:
print i
13、翻转字符串
s = s[::-1]
14、查找字符串
s.find(‘wsj’)
15、分割字符串
s[2:5:1]
s[2:-1:2]
17、只显示字母和数字
s =”’dsaed234./’23eeda’. das\”’
s1 = ”
for i in s:
if i.isalnum():
#if i.isdigit() or i.isalpha():
s1 = s1 + i
print s1
结果:dsaed23423eedadas
18、获取字符串
切片
19、字符串输出时对齐
制表符’\t’
20、字符串搜索和替换
s = ‘hello world’
s.replace(‘world’,’wsj’)
‘hello wsj’
21、字符串的分割和组合
s = ‘2016-11-23-18-57-44’
a = s.split(‘-‘)
a
[‘2016’, ‘11’, ‘23’, ‘18’, ‘57’, ‘44’]
a
[‘2016’, ‘11’, ‘23’, ‘18’, ‘57’, ‘44’]
‘/’.join(a)
‘2016/11/23/18/57/44’
22、字符串编码和解码
http://xanderzhang.iteye.com/blog/465992
23、字符串的测试、判断
isdigit:全为数字
isalnum:全为数字或字母
isalpha:全为字母
ispower
isspace
24、逆转字符串——输入一个字符串,将其逆转并输出。
s[::-1]
26、统计元音字母——输入一个字符串,统计处其中元音字母的数量。更复杂点的话统计出每个元音字母的数量。 s = 'goodgoodstudy dayday up! yeah!' d = {'a':0,'e':0,'i':0,'o':0,'u':0} for i in s: if 'a' == i or 'a' == i.lower(): d['a'] += 1 if 'e' == i or 'e' == i.lower(): d['e'] += 1 if 'i' == i or 'i' == i.lower(): d['i'] += 1 if 'o' == i or 'o' == i.lower(): d['o'] += 1 if 'u' == i or 'u' == i.lower(): d['u'] += 1 print d27、判断是否为回文——判断用户输入的字符串是否为回文。回文是指正反拼写形式都是一样的词,譬如“racecar”。s == s[::-1]28、统计字符串中的单词数目——统计字符串中单词的数目,更复杂的话从一个文本中读出字符串并生成单词数目统计结果。def deal_file(s): L = s.split(' ') L1 = [] d = {} for i in L: if i.isalpha(): i = i.strip() i = i.lower() L1.append(i) for i in L1: if i not in d: d[i] = 1 else: d[i] += 1 return dprint deal_file(s)
- python基础复习之数字和字符串
- Python基础入门之(数字、字符串)
- 自学Python之Python基础:(一)数字、字符串和变量
- python基础之数字和表达式
- Java复习之数字与字符串
- Python学习第一篇之python 连接字符串和数字
- python基础学习之变量和字符串
- python基础之字符串
- python基础之字符串
- python基础之字符串
- Python字符串和数字拼接
- python数字,字符串和变量
- Java基础复习---字符串
- 【Python基础】--变量和字符串/猜数字/range()/Isinstance/list[]/tupple()
- python基础之字符串格式化
- python基础学习之字符串
- python基础学习之字符串
- Python基础学习之字符串
- mysql事务隔离级别
- HTML取消点击事件等一些开发技巧
- 动态数组的实现
- 自定义View的简单案例(4)实现小风车旋转的效果
- C++中二维Vector初始化的一种方式
- python基础复习之数字和字符串
- wget命令
- Android 隐藏标题栏
- c语言的自动类型转换
- 2016总结
- SpringMVC数据绑定
- pycharm设置断点
- 【备注】【C13】《Java从入门到精通(实例版)》PDF 书籍
- 编写一个简单的动态函数库