Python基础 Day4

本文介绍了Python中的可迭代对象和迭代器的概念,包括for循环、range函数、字符串str的特性和操作,以及编码解码的过程。此外,还讲解了字符串的创建、转义符、格式化字符串的方法,如f-string和`%`操作符,并提到了数学运算符、索引和切片的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

可迭代对象

我们在用for...in...语句循环时,in后面跟随的对象要求是可迭代对象

定义:可以直接作用for循环的对象称为可迭代对象

例如:list、tuple、dict、set、str等

可迭代对象是实现了__iter__()方法的对象

迭代器

迭代器(Iterator)则是实现了__iter__()和__next__()方法的对象,可以显示地获取下一个元素,这种可以被next调用并不断返回下一个值的对象称为迭代器。

迭代器一定是可迭代对象,反过来不一定成立。

iter()函数可以把list、dict、str等Iterable变成Iterator

for语句

for 变量列表 in 可迭代对象

range函数

range(开始,结束,循环)不包含结束值

range(开始,结束)不包含结束值,默认间隔为1

range(结束)不包含结束值,开始默认为0

选择语句:让代码根据条件有选择性的执行

循环语句:让代码重复执行

字符串str

由一系列字符组成的不可变序列容器,存储的是字符的编码值

现象:每次创新数据,改变变量存储的地址

本质:字符串如果能在原有基础上修改,很可能破坏其他数据内存空间(损人利己)

编码

(1)字节byte:计算机最小存储单位,等于8位bit(字节) byte——KB——MB——GB——TB 1024

(2)字符:单个的数字、文字与符号都叫字符

(3)字符集(码表):存储字符与二进制序列的对应关

(4)编码:将字符转换为对应的二进制序列的过程

(5)解码:将二进制序列转换为对应的字符的过程

字符串字面值

单引号

双引号

三引号(所见即所得,可跨行写)

引号冲突的情况下可以用不同引号来中和使用

print('你可真是个"奇葩"')
print("""你可真是个"奇葩" """)
你可真是个"奇葩"
你可真是个"奇葩" 

转义符:改变原始含义的特殊字符\'  \" 换行 \n

print(r"gaga/gas/agds/g")——>加了r之后:表示整个字符串没有转义符

格式化字符串

作用:在固定语法中插入数据

(1)语法:"...%s..."%(数据)

占位符

%s 万能

%d 整数,不会进行四舍五入   ——>%.2d 保留2位小数

%f 小数,会进行四舍五入 ——>%.2f 保留两位小数 %.0 不保留小数位

(2)f-string

f-string用大括号{}表示被替换字段,其中直接填入替换内容:

a = 'Lyyti'
print(f'hello,{a}')

f-string 中的大括号{}可以填入表达式或调用函数,python会根据其结果并填入返回的字符串内

f-string大括号外如果需要显示大括号,则应输入连续两个大括号 {{ 和 }}

>>> f'5 {"{stars}"}'
'5 {stars}'
>>> f'{{5}} {"stars"}'
'{5} stars'
a = 11.41351
print(f'a取小数点两位: {a:.2f}')

(3)format()

print('Hello,{0},成绩提升了{1:.1f}%'.format('xiaoming', 17.125))
Hello,xiaoming,成绩提升了17.1%

数学运算符

* ——>元素重复

name="唐僧"
name *=2
print(name)
唐僧唐僧
"""
在终端中获取一个整数,作为边长,打印矩形。
"""
num = int(input("请输入一个数:"))
for item in range(num):
    if item==0 or item==(num-1):
        print("$"*num)
    else:
        print("$"+" "*(num-2)+"$")

索引

(超了会报错)

作用:定位单个元素

语法:容器名[整数]

(1)正向索引        (2)反向索引

切片

(超了不会报错)

作用:定位多个元素

1.容器名[开始:结束:间隔]

2.容器名[:结束]

3.容器名[开始:结束]

4.容器名[开始:结束] 结束默认为尾巴

倒叙(特殊):    [::-1]

message = "我是花果山齐天大圣”
print(message[-2: 3:-1]) # 大天齐山

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值