python基础语法3
python基础语法3
1.流程控制之for循环
for循环时python中循环结构中的第二种循环方式,for循环可以做的事while循环都可以实现,之所以用for循环时因为在循环取值时(即遍历值)时for循环比while循环更加简洁。
能让for循环遍历的值一定是个可迭代对象 。 # 此时只需知道可迭代对象可以是字符串\列表\字典,我们之后会专门讲解可迭代对象
for循环的用法如下:
1.for + break
与while循环一样,直接结束循环。
2.for+continue
结束本次循环
3、for + else
循环正常结束后才能运行else中的代码,被break打断循环时,不会运行else
4.for+range
运行range后得到的值是一个列表,在python2中就会得到一个列表,但是在python3中就是range(x,y),如果直接生成列表,数据太多就会浪费内存,range就会用一个取一个,节省内存。
range中可以输入3个值,range(x,y,z)x代表起始位置,y代表结束位置,z代表步长,最终的值中x可取到,y取不到,所以我们称range是顾头不顾尾。数据中只有一个数据时,默认数据为y,x默认为 0,步长默认为1。
5、for+enumerate(列举)
ll = [111,222,33,444,555]
for i,v in enumerate(ll): # i,v=(0, 111)
print(i,v)
从中可以看出,表示索引值,v表示索引中的值。
6、for循环嵌套
for循环也可以循环嵌套
案例一:九九乘法表
"""
for i in range(1,10):
for j in range(1,10):
if j <= i:
print("{}*{}={}".format(i,j,i*j),end="\t")
print("\n")
# 优化
for i in range(1,10):
for j in range(1,i+1):
print("{}*{}={}".format(i,j,i*j),end="\t")
print("\n")
"""
案例二:金字塔
# max_l = 5
# for min_l in range(1,max_l+1):
# for i in range(max_l-min_l):
# print(" ",end=" ")
# for j in range(2 * min_l - 1):
# print("*",end=" ")
# print("\n")
二 可变和不可变类型
可变类型:值改变了,id不变,证明就是在改变原值,原值是可变类型。 例如:list列表类型,dict字典类型
不可变类型:值改变了,id也跟着变,证明就是在产生了新的值,原值是不可变类型。 例如:int 整数型,float浮点数型,str字符串类型
三 数字类型
int 和 float 的基本使用
本质:age = 10 #age = int(10)
salary = 3.1 #salary = float(10)
# 注意:名字+括号的意思就是调用某个功能,比如
# print(...)调用打印功能
# int(...)调用创建整型数据的功能
# float(...)调用创建浮点型数据的功能
数据转换:
int只能转换纯数字型的字符串
float转换可以有一个小数点
进制转换:
bin():转换为二进制
oct():转换为八进制
hex():转换为十六进制
它们都只能存一个值,是不可变类型。
字符串的基本使用
定义:在单引号 / 双引号 / 三引号 包含的一串字符
类型转换:str() 可以把任何类型转换为字符串类型
使用:1.优先掌握的操作
(1)按索引取值
str[x] 当x为正数时是正向取,当x为负数时是反向取。正向取的第一个是0号索引,反向取的第一个是-1。
字符串只能取值,不能改值。
(2)切片:
str[x,y,z] 类似与range中的值,x是起始位置,y是结束位置,顾头不顾尾,z是步长。
(3)反向切片:和正向切片的区别是x最多是-1,y要比x小,步长也要是负数。
(4)长度len:len()可以计算字符串的长度
(5)成员运算in 和not in :in判断是否在字符串里面,not in 相反。
(6)strip移除字符串首尾指定的字符(默认是空格)。
(7)切分split 以括号中的字符为分隔字符,切分为多个部分(括号中不指定字符,默认是空格)
切分的结果为列表list。
(8)循环:字符串可以被for循环遍历,一个个输出字符。
2.需要掌握的操作
1.strip, lstrip, rstrip
strip是移除两边的字符,lstrip就是移除左边的字符,rstrip就是移除右边的字符
2.lower(),upper()
lower()是将英文字符串全转换为小写
upper()是将英文字符串全转换为大写
3.startswith,endswith
判断结果是否与括号里的相同,结果是布尔值。
4.格式化输出之format
字符串的内置方法format提供了一种不依赖位置的传值方式。
# format括号内在传参数时完全可以打乱顺序,但仍然能指名道姓地为指定的参数传值,name=‘tony’就是传给{name}
>>> str4 = 'my name is {name}, my age is {age}!'.format(age=18,name='tony')
>>> str4
'my name is tony, my age is 18!'
>>> str4 = 'my name is {name}{name}{name}, my age is {name}!'.format(name='tony', age=18)
>>> str4
'my name is tonytonytony, my age is tony!'
5.split,rsplit
split是从左往右切分,rsplit是从右往左切分。
6.join
可以将可迭代对象中的字符串按指定的分隔符进行拼接,结果还是字符串。
"x".join(y) x是指定的分隔符,y是可迭代对象。
7.replace
用新的字符替换旧的字符。replace(x,y,z) x是旧值,y是新值,z是个数(没有z时全部换)。
之前说到str类型是不可变类型,所以replace之后会产生一个新的字符串,并不是改变了之前的字符串。
8.isdigit
判断字符串是否为纯数字组成,返回结果时布尔值。

浙公网安备 33010602011771号