python入门知识点-1

python入门知识点-1

字符串的常见操作

# # 修改大小写
# # capitalize()将字符串的首字母大写,只能将首字母大写,其他字母都改变不了
# print('hello'.capitalize())
# print('hello。good'.capitalize())
# print('hello\ngood'.capitalize())
# # upper()将所有字母全部大写
# print('hello'.upper())
# # lower()将所有字母全部小写
# print('hello'.lower())
#
# # title 每个单词的首字母大学
# print('good morning'.title())
#
# # 不管用户输入的是大写还是小写的exit都进行退出
# while True:
#     content = input('请输入内容,输入exit退出:')
#     print("您输入的内容是:", content)
#     if content.upper() == 'EXIT':
#         break

# ljust(width,fillchar)==>让字符串以指定长度显示
# 如果长度不够,默认在右边使用空格补齐
print('Monday'.ljust(10))

print('Monday'.ljust(10, '+'))

# rjust()原理与以上相同,只是l是左边,r是右边,使用方法都一样
print('Monday'.rjust(10, '+'))

# center() 将字符居中
print('monday'.center(16, '*'))

# lstrip   rstrip,删除字符串左边或者右边的空格
print('+++++a  p p l e  '.lstrip('+'))
print('    a  p p l e  '.rstrip())
print('    a  p p l e  '.strip())

# 以某种固定格式显示的字符,我们可以将它切割成一个列表
x = 'zhangsan+lisi+wangwu+zhaoliu'
names = x.split('+')
print(names)

# 将列表转换为一个字符串
fruits = ['apple', 'pear', 'banana', 'orange']
print('-'.join(fruits))
print('*'.join('hello'))
# 字符串和字符串之间可以使用加法运算,作用是拼接两个字符串
# 字符串和数字之间可以使用乘法运算,作用是将指定的字符串重复多次
# 字符串和数字之间做 == 运算结果是False,做!=运算结果是True
# 字符串之间做比较运算,会逐个比较字符串的编码值
# 不支持其他的运算

字符串的编码

编程中的每一个字符都是以二进制的形式存储在计算机中的 每一个字符都在计算机中对应一个数字 最重要的就是ASCII码表 A----65 a------97 ASCII 一共可以表示128个字符 然后在ASCII的基础上又发展出来一系列的码表 ISO-8859-1,与ASCII码表完全兼容 Unicode 编码,绝大部分国家的文字都有一个对应的编码

字符串的编码集

# ASCII---Latin1---Unicode编码
# 字符 -- 数字编码存在一个一一对应的关系

# 使用内置函数 chr  和  ord 能够查看数字和字符的对应 关系,是ASCII 码表
# ord 获取字符对应的编码, chr 根据编码获取对应的字符
print(ord('a'))
print(chr(77))#M
print(ord('你'))
# GBK-中文简体   utf-8-兼容性最好    BIG5-中文繁体
# 以前的二进制编码具有弊端,所以要进行改进下,所以才出现了适应中文情况的GBK utf-8 BIG5等编码方式

格式化输出字符

# 可以使用  % 占位符来表示格式化一个字符串
name = 'zhangsan'
age = 15
print('大家好,我的名字是:', name, '我今年', age, '岁了')
print('大家好,我的名字是%s,我今年%d岁了' % (name, age))

#   在字符串里可以使用 % 占位符,注意里边是没有都好的
#   %s表示的是字符串的占位符
#   %d表示的是整数的占位符
#   %nd打印时,显示n位,如果不够,在左边使用-空格-补齐
#   %0nd打印时,显示n位,如果不够,在左边使用-0-补齐
#   %-0nd打印时,显示n位,如果不够,在右边使用-0-补齐
#   %f表示的是浮点数的占位符,默认保留6位小数
#   %.nf表示的是保留小数点后n位
num = 6
print('大家好,我是%-3d号女嘉宾' % (num))
print('我今天挣了%.3f元钱' % 3.1415927)

# 将默认的十进制数以16进制形式打印出来
a = 255
print(a)
print('%x' % a)  ## 以16进制打印出来
print('%X' % a)
print('%o' % a)  ##以8进制打印出来

b = 0b10001010110101
print(b)  # 二进制转换为10进制
print('%x' % b)  # 二进制转换为16进制
print('%o' % b)  # 二进制转换为8进制

# 我是%s
print('大家好,我是%%s,我今年%d岁了' % 22)#大家好,我是%s,我今年22岁了

字符串format方法的使用

# 格式化字符串输出还是format方法用的比较多一些
# {}里什么都不写, 会读取后面的内容,一一对应填充
x = '大家好,我是{},我今年{}岁了'.format('zhangsan', 18)
print(x)

# {数字}根据数字的顺序来进行填入,数字从0开始
y = '大叫好,我是{1},我今年{0}岁了'.format(20, 'tom')
print(y)

z = '大叫好,我是{name},我今年{age}岁了,我来自{addr}'.format(age=18, name='jack', addr='江苏')
print(z)

# 列表
a = ['张三', 18, '上海', 188]
b = '大家好,我是{},我今年{}岁了,我来自{},身高{}'.format(a[0], a[1], a[2], a[3])
print(b)
c = '大家好,我是{},我今年{}岁了,我来自{},身高{}'.format(*a)
print(c)

# 字典
a1 = {'name': 'lisi', 'age': 23, 'addr': '北京', 'weight': 66}
c1 = '大家好,我是{name},我今年{age}岁了,我来自{addr},身高{weight}'.format(**a1)

列表的基本使用

基操

# 当我们有多个数据需要按照一定的顺序保存的时候,我们可以考虑列表
name1 = 'zhangsan'
name2 = 'wangwu'
name3 = 'tom'
name4 = 'jack'

# 和字符串一样,都可以使用下标来获取元素和对元素进行切片的操作
# 同时,我们还可以使用下标来修改列表里的元素
# 相较于字符串,字符串只能获取,但是不能修改
# 而列表可以拿,也可以改

# 使用中括号来表示一个列表,列表里的每一个数据我们称之为元素,元素之间采用逗号进行分割
name = ['zhangsan', 'zhangfei', 'sunquan', 'xiangyu', 'liubei']
print(name[3])
name[4] = '武则天'
print(name)
# 同时,还可以使用下标来对元素进行切片
print(name[2:4])

# 可以使用list(可迭代对象),将可迭代对象转换成为一个列表
names = list(('兰陵王', '东皇太一', '孙悟空', '程咬金'))
print(names)

列表增加元素

# 列表是有序可变的
# 操作列表,一般包含增加数据,删除数据,修改数据以及查询数据
# 增删改查

heros1 = ['蜘蛛侠', '钢铁侠', '闪电侠', '青蜂侠', '超人', '蝙蝠侠']
# 1.增加元素----append,insert,extend
# append()——在列表的最后边追加一个元素
heros1.append('灭霸')
print(heros1)
# insert()--insert(self,index,object)--往指定位置加入元素
# index表示下标,也就是要插入的位置。object表示对象,具体插入哪个数据
heros1.insert(1, '星爵')
print(heros1)
# extend()--需要一个可迭代对象,将两个对象合起来
# A.extend(B)==》将可迭代对象B添加到A里
heros2 = ['玉皇大帝', '卢来佛祖', 'theshy']
heros1.extend(heros2)
print(heros1)

列表的修改查询和删除

# 列表是有序可变的
# 操作列表,一般包含增加数据,删除数据,修改数据以及查询数据
# 增删改查

NPC1 = ['蜘蛛侠', '钢铁侠', '闪电侠', '青蜂侠', '超人', '蝙蝠侠', '青蜂侠', '土豆侠']
# 2.删除数据---pop(),remove(),clear()
# pop(index)--会删除列表里最后一个数据,类似于数据结构里的出栈,删除这个数据并返回这个数据
# 也可以用来删除指定位置的元素
print(NPC1.pop())  # 土豆侠
print(NPC1)  # ['蜘蛛侠', '钢铁侠', '闪电侠', '青蜂侠', '超人', '蝙蝠侠', '青蜂侠']
NPC1.pop(0)
print(NPC1)  # ['钢铁侠', '闪电侠', '青蜂侠', '超人', '蝙蝠侠', '青蜂侠']

# remove()--删除指定元素,如果删除的元素不存在就会报错
NPC1.remove('闪电侠')
print(NPC1)  # ['钢铁侠', '青蜂侠', '超人', '蝙蝠侠', '青蜂侠']

# del 方法也可以删除数据,但是尽量不要用这个方法,不推荐这个方法
del NPC1[2]
print(NPC1)  # ['钢铁侠', '青蜂侠', '蝙蝠侠', '青蜂侠']

# clear()---清空一个列表,留下一个空的
NPC1.clear()
print(NPC1)  # []

# 3。查询相关的方法
NPC2 = ['盖伦', '赵信', '剑圣', '哈撒给', '卡沙', '狮子狗']
print(NPC2.index('剑圣'))             # 2
# print(NPC2.index('寒冰'))           # 如果元素不存在,就会报错
print(NPC2.count('哈撒给'))            # 1--出现了一次
print('卡沙' in NPC2)                   # True
print('小驴人' in NPC2)                  # False

# 4.修改元素
# 使用下标可以直接修改列表里的元素
NPC2[3] = '托儿索'
print(NPC2)                     # ['盖伦', '赵信', '剑圣', '托儿索', '卡沙', '狮子狗']

列表的遍历

# 遍历——将所有的数据都访问一遍,针对的是可迭代对象
# while循环遍历,for...in 循环遍历
NPC3 = ['大树', '克列', '加里奥', '诺手', '蛮子', '杰斯', '豹女']

# for in 方法就是不断的调用next()方法 来查找下一个数据
for hanhan in NPC3:
    print(hanhan)

print('//')

# while
i = 0
while i < len(NPC3):
    print(NPC3[i])
    i += 1
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值