for循环补充,变量和不可变量,数字类型,字符串类型,列表类型

一、for循环补充

1、迭代式循环:for,语法如下

for 变量名 (可以有多个)in 值:

for i in range(10):

    缩进的代码块

2、for+enumerate(同while循环)

3、for+range()用来循环多次,顾头不顾尾

如,打印九九乘法表
for i in range(1,10):
    for j in range(1,i+1):
        print('%s*%s=%s' %(i,j,i*j),end=' ')
    print()

4、range(3.10.2)#3.5.7.9

range(10.3.-1) #10.9.8.7.6.5.4.布值

5、for+break结束

6、for+else

二,基本数据类型常用操作及内置方法

概念:记录事物的状态

可变类型:值改变,但是id不变,证明就是在改原值,原值是可变类型

x = 10
print(id(x))
x = 11
print(id(x))

不可变类型:值改变,但是id也变,证明就是在产生值,原值是不可变类型

l = [111,222,333]
print(id(l))
l[0] = 6666666
print(id(l))

三、数字类型

1.整型 int

1.1 、用途:记录年龄、个数、号码,等级等整数相关的

1.2 、定义方式:

age=18 # age=int(18)
print(type(age))
int数据类型转换: 可以把纯数字组成的字符串转成整型
# res = int("            18               ") 
# print(res,type(res))

1.3 、常用操作+内置方法

数学运算+比较运算

1.4 、该类型的总结

  • 存一个值or存多个值
  • 有序or无序
  • 可变or不可变

2.浮点型 float

2.1、用途:记录薪资、身高、体重

2.2、定义方式

salary = 3.1  # salary = float(3.1)
loat数据类型转换: 可以把小数组成的字符串转成浮点型
res=float(111)
print(res,type(res))

res=float("    3.3    ")
print(res,type(res))

2.3、常用操作+内置的方法 #

数学运算+比较运算

2.4、该类型的总结

  • 存一个值
  • 不可变

四、字符串类型

4.1、作用:名字,性别,国籍,地址等描述信息

4.2、定义:在单引号双引号三引号内,由一串字符组成。

注意

# 引号定义出来的都是str类型,没有区别
#  三引号可以存放多行字符串
# 引号的嵌套:外层双引号,内层只能用单引号
数据类型转换:str可以把任意类型都转成字符串类型# res = str([1,2,3])# print(res,type(res))

4.3、常用操作+内置的方法

  • 按索引取值(正向取+反向取) :只能取

    msg = "hello world"
    print(msg[0],type(msg[0]))
    print(msg[-1])
    msg[0]="H"  # 只能取不能改
    
  • 切片(顾头不顾尾,步长)

     msg = "hello world"
     res = msg[1:7] #从第一个字符读到第7个
     res = msg[1:7:2]  # 1 3 5 (el )
     print(res)
     
     res = msg[:]
     print(res)   #打印全部字符
    
    res = msg[::-1]
     print(res)   #倒过来打印
    
  • 长度 Len

    msg = "hello world"
    print(len(msg))   #显示共有几个字符
    
  • 成员运算in 和not in

    msg = "hello world"
    print("he" in msg)     #结果为True
    print("he" not in msg)  #结果为False
    
  • 移除空白strip

msg = "    hello    "
print(msg.strip())   #最直白的移除空白
msg = "+*-he*llo***%/*" print(msg.strip("*+-/%")) 
inp_name = input("username: ").strip() 
inp_name = "egon "
inp_pwd = input("password: ").strip()
if inp_name == "egon" and inp_pwd == "123":
    print('ok')
 else:
 print('no')      
  • 切分split
msg="egon:123:3000"
print(msg[0:4])       # egon
msg='egon:123:2000'
res=msg.split(":",1)
print(res)  #['egon', '123:2000']第一个切分
  • 循环
for x in msg:   
print(x)

需要了解的掌握:

#1、strip(去掉空格),lstrip(去掉左边的空格),rstrip(去掉右边的空格)
#2、lower(字母小写),upper(字母大写)
#3、startswith(以。。开头),endswith(以。。结尾)

#4、format的三种玩法  #为某个位置传值
es='{} {} {}'.format('egon',18,'male')
res='{1} {0} {1}'.format('egon',18,'male')
res='{name} {age} {sex}'.format(sex='male',name='egon',age=18)

#5、split,rsplit
name='root:x:0:0::/root:/bin/bash'
print(name.split(':')) #默认分隔符为空格
name='C:/a/b/c/d.txt' #只想拿到*目录
print(name.split('/',1))

name='a|b|c'
print(name.rsplit('|',1)) #从右开始切分

#6、join
tag=' '
print(tag.join(['egon','say','hello','world'])) #可迭代对象必须都是字符串

#7、replace
name='alex say :i have one tesla,my name is alex'
print(name.replace('alex','SB',1))
打印SB say :i have one tesla,my name is alex  #替换

#8、isdigit可以判断bytes和unicode类型,是最常用的用于于判断字符是否为"数字"的方法
age=input('>>: ')
print(age.isdigit())

五、列表list

5.1、作用:多个装备,多个爱好,多门课程,多个朋友等

5.2、定义:[]内可以有多个任意类型的值,逗号分隔

list数据类型转换:把可迭代的类型转成列表,可以被for循环遍历的类型都是可迭代的

5.3、常用操作+内置的方法

  • 按索引存取值(正向存取+反向存取):即可存也可取

    l=[111,222,333]
    print(id(l))
    l[0]=666
    print(l)
    print(id(l))
    
l=[111,222,333]
l[0]=666
l[3]=777  # 列表索引不能超出范围
l[3]  # 列表索引不能超出范围
  • 切片(顾头不顾尾,步长)
l=[11,22,33,44,55,66,77,88,99]
/ res=l[1:7:2]
/ res=l[:]
res=l[::-1]
print(res) #[99, 88, 77, 66, 55, 44, 33, 22, 11]
  • 长度

    print(len(["aaa",111,2222]))
    
  • 成员运算in 和not in

    print(111 in ["aaa",111,2222])
    
  • 追加

    l=[111,222,333]
    l.append(444)
    l.append(555)
    print(l)
    
  • 插入

    l=[111,222,333]
    l.insert(1,6666)
    print(l)
    
l=[111,222,333]
res = l.append(444)
res = l.insert(1,444)
print(res)
  • 删除

    万能删除# del l[0]# print(l)
    
l.remove(指定元素)
res=l.remove(222)
print(l)
print(res)  #None
l.pop(指定索引)
res=l.pop(1)
print(l)
print(res)
  • 循环

    l=[111,222,333]
    for x in l:
    print(x)
    

5.4、该类型总结:

  • 存多个值
  • 有序
  • 可变