发布时间:2018-03-20 20:06:49编辑:Run阅读(3511)
python基础二(基础数据类型)
1.什么是数据?
x=10,10是我们要存储的数据
2.为何数据要分不同的类型
数据是用来表达状态的,不同的状态就应该用不同的类型数据去表示
3.数据类型
数字,字符串,列表,元组,字典,集合
数字int
数字主要是计算机用的,使用方法并不是很多,就记住一种就可以了
#bit_length() 当十进制用二进制表示时,最少使用的位数
v = 11
data = v.bit_length()
print(data)
结果为: 4
布尔值bool
布尔值就两种:True,False。就是反应条件的正确与否。
真 1 True
假 0 False
字符串str
字符串的索引与切片
索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推
a = 'ABCDEFGHIJK' print(a[0]) print(a[3]) print(a[5]) print(a[7])
结果为
切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾尾)
a = 'ABCDEFGHIJK' print(a[0:3]) print(a[2:5]) print(a[0:]) #默认到最后 print(a[0:-1]) #-1就是最后一个 print(a[0:5:2]) #2指步长 print(a[5:0:-2]) #反向加步长
输出为
字符串常用方法
#captalize,swapcase,title
name = 'hello world Sam' print(name.capitalize()) # capitalize首字母大写 print(name.swapcase()) # swapcase大小写翻转 msg = 'egon say hi' print(msg.title()) # title每个单词的首字母大写
结果为
#内容居中,总长度,空白处填充
tmp = 'username' print(tmp.center(20)) # 20为总长度,内容居中 print(tmp.center(20, '#')) # #号为填充的符号
结果为:
#字符串中元素出现的个数
tmp1 = 'www.py3study.com' print(tmp1.count("w")) #字符串tmp1中w出现的次数 print(tmp1.count("p", 0, -1)) #切片的方式数tmp1中p出现的次数
结果为:
#\t前面的补全
#默认将一个tab键变成8个空格,如果tab前面的字符长度不足8个,则补全8个,如果tab键前面的字符长度超过8个不足16个,则补全16个,以此类推每次补全8个
a2 = '\thqw\t' print(a2.expandtabs())
结果为
#startswith 判断是否以...开头,结果返回布尔值
#endswith 判断是否以...结尾,结果返回布尔值
tmp2 = 'abcdefas210' print(tmp2.startswith("abc", 1, 5)) print(tmp2.endswith("s210"))
结果为
#寻找字符串中的元素是否存在
tmp3 = 'abcdabfd' # find返回找到元素的索引,如果找不到返回-1 print(tmp3.find("abc", 0, 5)) print(tmp3.find("aa", 0, 5)) # index返回找到元素的索引,如果找不到就报错 print(tmp3.index("abc", 0, 5))
结果为
# split以什么分割,最终形成一个列表,此列表不含有这个分割的元素
tmp4 = 'sam,tom,jack' print(tmp4.split(',')) tmp5 = 'title,Tilte,atre' print(tmp5.split('t', 1))
结果为
# format的三种玩法,格式化输出
print('{},{},{}'.format('sam', '18', 'loop')) print('{1},{0},{1}'.format('tom', '16')) print('{name},{age},{sex}'.format(sex='loop',name='jack',age='15'))
结果为
# strip去除左右两边的空格,换行,tab字符
name1 = '\nusername\n' name2 = ' password ' name3 = ' Linux ' name4 = 'Hello world' print(name1.strip()) print(name2.strip()) print(name3.strip()) print(name4.strip('H'))
结果为
#replace 替换,把老的替换成新的,后面可以接替换的次数
name10 = 'Sam say : hello world!' print(name10.replace('Sam', 'Tom', 1))
结果为
#is系列
name20 = 'Sam123' print(name20.isalnum()) #判断字符串是否由字母或数字组成 print(name20.isalpha()) #判断字符串是否由字母组成 print(name20.isdigit()) #判断字符串是否由数字组成
结果为
# upper,lower
name21 = 'UserName' print(name21.lower()) #将字符串全部变成小写 print(name21.upper()) #将字符串全部变成大写
结果为:
课后习题
#!/usr/bin/env python # coding: utf-8 __author__ = 'www.py3study.com' name = "hellO worLd" # 1:移除 name 变量对应的值两边的空格,并输出处理结果 print(name.strip()) # 2:移除name变量左边的’he’并输出处理结果 print(name.replace("he", '')) print(name.strip("he")) # 3:移除name变量右面的'Ld’,并输出处理结果 print(name.replace("Ld", '')) print(name.strip("Ld")) # 4:移除name变量开头的'h’与最后的’d’,并输出处理结果 print(name.strip('h').strip('d')) print(name.replace('h', '').replace('d', '')) # 5:判断 name 变量是否以 "he" 开头,并输出结果 print(name.startswith('he')) # 6:判断name变量是否以”Ld”结尾,并输出结果 print(name.endswith('Ld')) # 7:将 name 变量对应的值中的 所有的“l” 替换为 “p”,并输出结果 print(name.replace('l', 'p')) # 8:将name变量对应的值中的第一个’l’替换成’p’,并输出结果 print(name.replace('l', 'p', 1)) # 9:将 name 变量对应的值根据 所有的“l” 分割,并输出结果 print(name.split('l')) # 10:将name变量对应的值根据第一个’l’分割,并输出结果 print(name.split('l', 1)) # 11:将 name 变量对应的值变大写,并输出结果 print(name.upper()) # 12:将 name 变量对应的值变小写,并输出结果 print(name.lower()) # 13:将name变量对应的值首字母’h’大写,并输出结果 print(name.capitalize()) # 14:判断name变量对应的值字母’l’出现几次,并输出结果 print(name.count('l')) # 15:如何判断name变量对应的值前四位’l’出现几次,并输出结果 print(name.find('l', 0, 3)) # 16:从name变量对应的值中找到’L’对应的索引(如果找不到则报错),并输出结果 print(name.index('L')) # 17:从name变量对应的值中找到’L’对应的索引(如果找不到则返回-1)输出结果 print(name.find('L')) # 18:从name变量对应的值中找到’O wo’对应的索引,并输出结果 print(name.find("O wo")) # 19:请输出 name 变量对应的值的第 2 个字符 print(name[1]) # 20:请输出 name 变量对应的值的前 3 个字符? print(name[:3]) # 21:请输出 name 变量对应的值的后 2 个字符? print(name[-2:]) # 22:请输出 name 变量对应的值中 “e” 所在索引位置? print(name.find('e')) #获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo print(name.split('d')) # 第二题 li = '123a4b5c' # 1:通过对li列表的切片形成新的字符串s1,s1 = ‘123’ s1 = li[:3] print(s1) # 2:通过对li列表的切片形成新的字符串s2,s2 = ‘a4b’ s2 = li[3:6] print(s2) # 3:通过对li列表的切片形成新的字符串s3,s3 = ‘1345’ s3 = li[0] + li[2] + li[4] + li[6] print(s3) # 4:通过对li列表的切片形成字符串s4,s4 = ‘2ab’ s4 = li[1] + li[3] + li[-3] print(s4) # 5:通过对li列表的切片形成字符串s5,s5 = ‘c’ s5 = li[-1] print(s5) # 6:通过对li列表的切片形成字符串s6,s6 = ‘ba2’ s6 = li[-3] + li[3] + li[1] print(s6) # 3.使用while和for循环分别打印字符串s=’asdfer’中每个元素 s = 'asdfer' for i in s: print(i) count2 = 0 while count2 < len(s): print(s[count2]) count2 += 1 # 4.实现一个整数加法计算器(两个数相加): # 如:content = input(‘请输入内容:’) # 如用户输入:5+9或5+ 9或5 + 9,然后进行分割再进行计算 #number1 = input("输入一个加法运算:") content = input("输入加法运算:") content1 = content.split('+') sum1 = 0 for i in content1: sum1 += int(i.strip()) print('结果为{}'.format(sum1)) # 5.计算用户输入的内容中有几个整数(以个位数为单位)。 # 如:content = input(‘请输入内容:’) # 如fhdal234slfh98769fjdla s = 'fhdal234slfh98769fjdla' sum1 = 0 for i in s: if i.isdigit(): sum1 += 1 else: pass print(sum1)
47605
45985
36909
34469
29080
25713
24566
19714
19245
17756
5565°
6155°
5691°
5737°
6705°
5483°
5484°
5988°
5965°
7295°