Python基础02

字符串(str)

1、字符串的定义

# 字符串定义:给某个单词或者数字加上了引号,那么该内容就是字符串
"""定义字符串的时候可以有:单引号、双引号、三引号(三个单引号或者三个双引号)
如果字符串有换行操作,则需要使用三引号"""
a = 'helloworld'
b = "helloworld"
c = '''helloworld'''
d = """helloworld"""
f = """hello    world"""
print("变量a的值为:", a)
print("变量b的值为:", b)
print("变量c的值为:", c)
print("变量d的值为:", d)
print("变量f的值为:", f)
print(type(f))

2、字符串的拼接

# 字符串拼接
a, b = 'hello', 'world'
# 指定输出了两个变量之间连接符合为空
print(a, b, sep="")
# 如果在两个字符串直接使用加号,则是将字符串拼接到一起
print(a+b)
# 将某个字符串输出多次
print(a*10000)
# 求字符串的长度
num = len(a)print(num)
# 字符串的比较 < > ==  !=  <= >=
# 字符串比较的时候,其实是根据ASCII码一览表来的,先比较(从左到右)第一位,
n = "acc"
m = "abd"
# c=99 b=98
# print(n > m)
#
f = "23"
e = "24"
# 51 52
print(f > e)

3.字符串的squence操作

  • 字符串是有下标索引的,下标索引就是为了查询

  • Python字符串的下标索引有两种方式:正数下标和负数下标

  • 正数下标是从左往右,从0开始,最后一个元素的下标是 len(字符串)-1

  • 负数下标是从右往左,从-1开始,最后一个元素的下标是:-len(字符串)

    # 字符串的squence操作
    a = "helloworld
    "# 根据下标取值
    # print(a[5])
    # print(a[-5])
    # print(a[-1])
    # print(a[0])
    # print(a[-len(a)])
    # 截取 一段的时候 :左边是开始位置的下标,右边是结束位置的下标
    # 注意这里是左闭右开的区间,冒号右边的这个下标所对应的内容是取不到的,就要向后取一位
    # 取 owo
    # print(a[4:7])
    # print(a[-6:-3])
    # elloworl
    # print(a[1:9])
    # print(a[-9:-1])
    # 截取world
    print(a[5:10])
    # 如果截取的是某个下标之后所有内容,结束位置的下标可以不写
    print(a[5:])
    

4.字符串的格式化输出

# 字符串的格式化输出
name = input("请输入姓名:")
age = input("请输入年龄:")
# 方式一:每一个%s接受的是一个值,按照这个顺序给传递过去
# new_str = "%s的年龄是%s岁"%(name, age)
# print(new_str)
# 方式二:format的方式如果不指定参数传递的顺序,则是按照位置顺序传入
# 如果指定了可以安装指定顺序传入,对于后面format(name, age) name下标是0 age是1
# new_str = "{}的年龄是{}岁".format(name, age)
# print(new_str)
# 方式三:f-str
new_str = f"{name}的年龄是{age}岁"
print(new_str)

5.字符串方法

# len(string) 返回字符串长度
# count(str, beg= 0,end=len(string)) 返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
# str1 = "helloworld"
# print(str1.count("o", 5, 8))
# capitalize()  将字符串的第一个字符转换为大写(同title()方法)
# str1 = "helloworld"
# print(str1.capitalize())
# center(width, fillchar) 返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。
# str1 = "helloworld"
# print(str1.center(100, "@"))
# find(str, beg=0 end=len(string)) 检测 str 是否包含在字符串中 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1
# str1 = "helloworld"
# # print(str1.find("o", 5, 8))
# print(str1.find("f")) # find如果找不到值的时候返回的是-1
# replace(old, new [, max]) 把 将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次。
# str1 = "hel  low orld"
# 将str1中字母o替换为%
# print(str1.replace("o", "%"))
# 将空格替换为空
# print(str1.replace(" ", ""))
# split(str="", num=string.count(str))num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num 个子字符串index(str, beg=0, end=len(string)) 跟find()方法一样,只不过如果str不在字符串中会报一个异常
# str1 = "hello,world"
# split切完是一个列表,
# print(str1.split("o"))
# print(str1.split(","))
# isalnum() 如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False
# str1 = "helloworld1213"
# print(str1.isalnum())
# isalpha() 如果字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False
# str1 = "helloworld1231"
# print(str1.isalpha())
# isdigit() 如果字符串只包含数字则返回 True 否则返回 False
# str2 = "23424324234243"
# print(str2.isdigit())
# islower() 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
# str1 = "Helloworld1231"
# print(str1.islower())
# isspace() 如果字符串中只包含空格,则返回 True,否则返回 False.
# str3 = " HDSF"
# print(str3.isspace())
# istitle()方法检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。
# str4 = "Hello"
# print(str4.istitle())
# lower() 转换字符串中所有大写字符为小写。max(str) 返回字符串 str 中最大的字母。
# str4 = "HelloDGFDSGF"
# print(str4.lower())
# min(str) 返回字符串 str 中最小的字母。
# str5 = "abcdefg"
# print(min(str5))
# print(max(str5))
# startswith(str, beg=0,end=len(string)) 检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。
str1 = "helloworld1213"
# print(str1.startswith("p"))
# endswith 判断字符串是否以某个内容结尾
print(str1.endswith(13))

三、列表(list)

1.定义列表

  • 通过 []

    # 创建空列表
    list1 = []
    # 一个列表中存放多个值,多个值之间使用逗号隔开,每一个值可以是任意类型的数据
    list2 = [34, 3.14, 'helloworld',["a", 45]]
    
  • 通过 list() 创建

    # 以下方法只能用于创建空列表
    list3 = list()
    print(list3)
    print("list3的类型", type(list3))
    

2.sequence(序列)操作

列表的序列操作和字符串类似

  • 整数下标:从左往右,从0开始,最后一个元素的下标是 len()-1
  • 负数下标:从右往左,从-1开始,最后一个元素下标是 -len()
list2 = [34, 3.14, 'helloworld',["a", 45, [23, 12, 45]]]
print(list2[1])
print(list2[0])
print(list2[3][0])
print(list2[-1][-2])
print(list2[1:])
print(list2[3][2][1])

3.常见方法

# list.append(obj) 在列表末尾添加新的对象
# list1 = [34, 23]
# list1.append("tom")
# print(list1)
# list.count(obj) 统计某个元素在列表中出现的次数
# list1 = [34, 23, "a", "b", "23", 23]
# print(list1.count(23))
# list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
# list2 = ["张三", "李四", "王五"]
#
# list1 = [34, 23, "a", "b", "23", 23]
# # 将list2中元素添加到list1中
# list1.extend(list2)
# print(list1)
# list.index(obj) 从列表中找出某个值第一个匹配项的索引位置,索引从0开始, 如果查找的元素不存在,则会报错
# list1 = [34, 23, "a", "b", "23", 23]
#
# print(list1.index("sazdfd"))
# list.insert(index, obj) 将对象插入列表
# list1 = [34, 23, "a", "b", "23", 23]
# # 第一个参数为插入的位置,写下标,第二个参数是具体的内容
# list1.insert(1, "helloworld")
#
# print(list1)
# list.pop(index) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值、
# list1 = [34, 23, "a", "b", "23", 23]
# 根据下标来删除值,返回的就是该下标所对应的内容
# print(list1.pop(2))
# list.remove(obj) 移除列表中某个值的第一个匹配项
# list1 = [34, 23, "a", "b", "23", 23]
# list1.remove(23)
# print(list1)
# list.reverse() 反向列表中元素,倒转
# list1 = [34, 23, "a", "b", "23", 23]
# list1.reverse()
# print(list1)
# list.sort([func]) 对原列表进行排序 比较的时候数据类型要保持一致才可以比较
list1 = [34, 23, 1, 6,7]
list1.sort()
print(list1)

四、tuple(元组)

1.创建元组

  • 通过小括号创建

    # 创建元组,元组一旦定义就无法修改,
    # 元组中的数据可以是任意的数据类型
    t1 = (23, 12, 3.14, 'hello',[34,12,23], ("李四", "张三"))
    # print(t1)
    # print(type(t1))
    # 元组中如果只有一个值,那后面需要加一个逗号。否则不是元组
    t2 = (1,)
    print(type(t2))
    print(t2)
    
  • tuple()

    # 创建元组
    t1 = tuple()
    print(type(t1))
    print(t1)
    

2.元组的序列化操作

元组的序列化操作和字符串、列表类似,也有正数下标和负数下标

t1 = (23, 12, 3.14, 'hello',[34,12,23], ("李四", "张三"))
print(t1[0])
print(t1[-1][0])
print(t1[3:])

3.元组的常见方法

# len(tuple) 计算元组元素个数。
t1 = (23, 12, 3.14, 'hello',[34,12,23], ("李四", "张三"))
print(len(t1))
# max(tuple) 返回元组中元素最大值。
t2 = (23, 12, 3.14)
print(max(t2))
# min(tuple) 返回元组中元素最小值。
print(min(t2))
# tuple(seq) 将列表转换为元组。
list1 = [34,12,23]
print(tuple(list1))

五、集合

集合是无序的,且不重复的

1.定义集合

# 定义集合使用花括号,{},集合中的元素也是使用逗号来隔开的
s1 = {23, 12, "hello", "world"}
s1 = {23, 12, "hello", "world"}
print(s1)
# set
print(type(s1))

2.集合的常见操作

s1 = {1, 2, 3, 4, 5}
s2 = {4, 5, 6, 7, 8}
# # t和s的并集
# a = t | s
# a = s1 | s2
# print(a)
# # t和s的交集
# b = t & s
# b = s1 & s2
# print(b)
# # 求差集(项在t中,但不在s中)
# c = t - s
# c = s2 - s1
# print(c)
# # 对称差集(项在t或者s中,但不会同时出现在二者中)
# d = t ^ s
d = s1^s2
print(d)

3.集合的方法

# # 添加一项
# t.add('x')
s1 = {1, 2, 3, 4, 5}
# s1.add("hellwolrd")
# print(s1)
# # 在s中添加多项
# s.update([10.37, 67])
# list1 = ["张小凡", "韦一笑"]
# s1.update(list1)
# print(s1)
# # 使用remove可以删除一项
# t.remove('j')
# s1.remove(5)
# print(s1)
# # set的长度
# len(s)
print(len(s1))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值