Python学习a3——基本数据类型part1

1. 基本数据类型

python中的基本数据类型有:

  • number:数字类型,包括int(整型)、float(浮点型)和complex(复数),用于计算。
  • bool:布尔类型,取值为True/False,用于判断。
  • str:字符串类型,可以存储字符并进行操作。
  • list:列表类型,用[]包含起来,用于存储较多数据并可以进行索引等操作。例如[1,2,‘string’,[1,2,3]]。
  • tuple:元组类型,用()包含起来,用法和列表一样,只是其中的值不可修改。例如(1,2,‘string’,(1,2,3))。
  • dict:字典类型,用{}包含起来,有键值对,即一个键对应一个值。例如{‘name’:‘hhw’,‘age’:18}。
  • set:集合类型,用{}包含起来,但不包含键值对。例如{1,2,3,4}。
    值得注意的是,python中的数据类型都是一个,而定义变量时相当于创建了一个类的对象,且变量的数据类型是自动分配的,因此通过type()函数查看变量的类型时会得到类似<class 'int'>的结果,类的定义在pycharm中可以通过Ctrl+右键来查看。

2. 数字类型与布尔类型

数字类型主要用于计算,其运算符在python学习Day1中已经说明。而数据类型作为一个类,自然有其对应的方法

# int类型可能用到的方法:bit_length()  返回数字转换成二进制时需要的位数
i = 10
print(i.bit_length())	# 4

bool类型的补充:

  • str类型转换成bool类型时,若字符串为空,则转换成False,否则转换成True
  • python2中没有bool类型,而是用0和1代表FalseTrue

3. 字符串类型

字符串类型是用'"引起来的部分,跨多行时可以使用三个引号引起来。对于字符串的操作如下:

3.1. 索引和切片
  • 字符串可以通过[]来对字符串中的元素进行索引,下标从[0]开始,到[字符串长度-1]结束,获取字符串长度可以使用len()函数,其返回操作数的长度,操作数不仅可以是字符串,也可以是列表和元组等。
  • 字符串也可以反向索引,最后一位下标为[-1],倒数第二位为[-2],以此类推。
s = "ABCDEFGHIJ"
print(s[0])  # A
print(s[-1])  # J
  • 字符串的切片可以通过在[start:end]中使用来取,取从start开始到end结束但不包括下标为[end]的一段字符串(原字符串什么都不变),即顾头不顾尾。
  • :两边不加数字默认从头取到尾,某一边不加数字默认取到该边全部取。
  • 可以通过在后面加入步长来进行选取,步长为正数时正着跳跃,为负时反着跳跃。
s = "ABCDEFGHIJ"
print(s[0:4])  # ABCD
print(s[0:],s[:])  # ABCDEFGHIJ ABCDEFGHIJ
print(s[0:5:2])  # ACE
print(s[-1::-1], s[::-1])  # JIHGFEDCBA JIHGFEDCBA
print(s[3::-1])  # DCBA
3.2. 字符串的一些常用方法
s = 'tomMYboy'
s1 = s.capitalize()  # 首字母大写
print(s1)	# Tommyboy

s21 = s.upper()  # 全部大写  应用场景:验证码不区分大小写
s22 = s.lower()  # 全部小写
print(s21,s22)		# TOMMYBOY tommyboy

s3 = s.swapcase()  # 大小写翻转
print(s3)	# TOMmyBOY

new_s = 'here we are'
s4 = new_s.title()  # 每个单词首字母大写(判断单词是用符号或数字隔开)
print(s4)	# Here We Are

s5 = s.center(30,'+')  # 将字符放在中间,空白部分可以加填充符号
print(s5)	# +++++++++++tomMYboy+++++++++++

new_s1 = 'hererqweq\twe\tare'
s6 = new_s1.expandtabs()   # 将空格变成TAB,加上前面的字符为4/8/16等位数
print(s6)	# hererqweq       we      are

s71 = s.startswith('to')  # 判断字符是否以某一字符段开头
s72 = s.startswith('M',3,5)  # 添加start 和 end(从start到end且不包括end的字符串是否以某一字符段为开头)
print(s71,s72)		# True True

s81 = s.find('mM') # 寻找元素,返回其索引,找不到返回-1
s82 = s.find('mM', 3,6)
# s83 = s.index('A') 找不到会直接报错
print(s81, s82)		# 2 -1

new_s = '  here is my girl  '
s9 = new_s.strip()  # 将前后的空格删除,可添加参数使其从前后删除''中遇到的字符,遇到没有的就直接停止
# rstrip() 删除右边的    lstrip() 删除左边的
print(s9)	# here is my girl

s10 = new_s.count('i')  # 计算字符串内有多少个该元素,可切片
print(s10)		# 2

# str ----> list
new_s2 = ':tom:jerry:tracy'
s11 = new_s2.split(':')  # 将字符串分割,默认以空格分割
print(s11)		# ['', 'tom', 'jerry', 'tracy']

# format格式化输出  以下均输出:我叫Tom,今年18岁,爱好打篮球,再说一下我叫Tom
s01 = '我叫{},今年{}岁,爱好{},再说一下我叫{}'.format('Tom',18,'打篮球','Tom')
print(s01)
s02 = '我叫{0},今年{1}岁,爱好{2},再说一下我叫{0}'.format('Tom',18,'打篮球')
print(s02)
s03 = '我叫{name},今年{age}岁,爱好{hobby},再说一下我叫{name}'.format(age = 18,name = 'Tom',hobby = '打篮球')
print(s03)

# 替换
s = '艾弗森安抚归档放大分割艾弗森'
s12 = s.replace('艾弗森','科比')  # 默认全部替换,可以设置替换个数
print(s12)		# 科比安抚归档放大分割科比

#is系列 isalpha():字符串是否全是字母组成  isdigit():字符串是否全是数字组成
#isalnum():字符串是否全是字母和数字组成
name = 'tom123'
print(name.isalnum())  # True
print(name.isalpha())  # False
print(name.isdigit())  # False
3.3. for循环在字符串中的简单使用

for循环的格式如下,其会把s中的每个值依次赋给i,每次给i赋值后都会执行todo部分。s可以是字符串、列表、元组等。

for i in s:
	todo

例子:

s = 'abcd'
for i in s:
	print(i)	# a b c d

in关键词的使用例子如下:

s = 'here is af 苍老师'
if '苍老师' in s:
    print('有敏感词')	# 有敏感词
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值