python3--基础数据类型

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)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏十月梦想

正则表达式

正则表达式,全称“Regular Expression”,在代码中常简写为regex、regexp或RE。正则表达式,就是用某种模式去匹配一类字符串的公式

802
来自专栏飞雪无情的博客

Go语言实战笔记(四)| Go 数组

数组,是用来存储集合数据的,这种场景非常多,我们编码的过程中,都少不了要读取或者存储数据。当然除了数组之外,我们还有切片、Map映射等数据结构可以帮我们存储数据...

1103
来自专栏GreenLeaves

JS框架设计之对象数组化一种子模块

类数组对象是一个很好的存储结构,但是功能太弱了,为了享受纯数组的哪些便捷的方法,使用前可以做下转换,通常可以使用$.slice.call()方法做转换,但是旧版...

2055
来自专栏机器学习实践二三事

python中的装饰器

很多时候我们可能会有这样的需求,就是在调试的时候我们会想打印出某些变量出来看看程序对不对,然后在我们调试好了的时候再把这些print语句注释;这样做确实比较麻烦...

23710
来自专栏MasiMaro 的技术博文

结构体和类

在C++中类与结构体并没有太大的区别,只是默认的成员访问权限不同,类默认权限为私有,而结构体为公有,所以在这将它们统一处理,在例子中采用类的方式。

2182
来自专栏技术碎碎念

python3 入门 (一) 基础语法

1.编码问题 默认情况下,Python 3源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 也可以为源码文件指定不同的编码,在文件头部加上...

3077
来自专栏ppjun专栏

C++程序控制结构

case 后面没break 就会一直执行下去的,所以break是为了跳出switch。比如:

1360
来自专栏积累沉淀

JavaScript正则表达式

什么是正则表达式? 正则表达式也叫做匹配模式(Pattern),它由一组具有特定含义的字符串组成,通常用于匹配和替换文本。 在JavaScript脚本中,利...

2805
来自专栏Python攻城狮

Python内置函数

mode : mode 决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。

1104
来自专栏coder修行路

go 从入门到精通(二)基本数据类型和操作符

一、文件名&关键字&标识符 所有go源码都是以.go结尾 标识符以字母或下划线开头,大小写敏感 下划线_是特殊标识符,用户忽略结果 保留关键字 导入包时可以设置...

1959

扫码关注云+社区

领取腾讯云代金券