python控制流程及数据类型内置方法

今日内容概要

  • while+else

  • 死循环与while的嵌套

  • for循环的基本使用

  • range关键字

  • for循环补充(break,continue,else)

  • for循环的嵌套

  • 基本数据类型之整型、浮点型、字符串的内置方法

     

 

今日内容详细

while+else

# while与else连用
   当while没有被关键字break主动结束的情况下
   正常结束循环体代码之后会执行else的子代码
   eg:
   while 条件:
        循环体代码
    else
         循环体代码正常运行结束,则会执行该子代码块
    具体数据例题:
     count = 1
     while count < 10:
          if count == 4:
              break
           print(count)
           count +=1
      else:
           print('while循环正常运行结束后'

 

 

 

死循环与while的嵌套

死循环是指永远无法结束的循环并且一直占用CPU,让CPU一直工作
死循环的结果是有些时候会极度影响电脑的性能,甚至还造成硬件的损坏
常见的死循环:
       count = 10
       while True:
           count *=1
while嵌套
   在多个while嵌套中,有多少个while就有多少个循环体,有时候我们打开每个循环体后都需要去关闭循环体,在关闭循环体的方法有两种:方法一:在每个循环体上用好break,有多少个while循环体就有break,方法二:一个循环体之前用一个全局地位符,后在while循环体中再安插一个全局定位符,在安插的那个定位符需要将条件翻转即可结束整个循环体,例如:
           flag = True
           while flag:
               username = input('username>>>:')
               password = input('password>>>:')
               if username == 'tony' and password == '123':
                   print('登录成功')
                   while flag:
                       boy = input('请输入您的指令>>>:')
                       if boy == 'exit':
                           print('下次再来')
                           flag = False
                        print('正在执行您的指令:%s' %boy)
                else:
                   print('密码错误')

 

 


                       
           





             
       
       
 

for循环

for循环可以做到的事情while循环都可以做到
但是for循环语法更加简单,使用频率更高

一般情况下涉及到循环取值的时候,都会考虑使用for循环而不是while循环

语法结构
   for 变量名 in for循环对象:可以是字符串,列表,字典,元组和集合
       for循环的循环体代码
   每次执行都会将循环对象中的一个元素赋值给变量名
   
需要注意的是:针对for循环语法结构中的变量名,也应该做到见名知              
如果真的没有合适的名字可以使用常用的变量名i,k,v,nun,item等

name_list = ['jason','kevin','tony','jerry','oscar'],在该列表中分别取值
方法一:使用while循环依次打印出列表中所有的取值
       count = 0
       while count < 5:
           print(name_list[count])
           count += 1
方法二:使用for循环依次打印列表中所有的取值
        for name in name_list:
            print(name)

循环字典(特殊):循环字典只能获取字典里的K值,V值无法直接获取
eg:userinfo_dict = {'username':'jason','age':18,'gender':'man'}
   for i in userinfo_dict:
       print(i)
       
循环元组
 for i in (11,22,33,44,55):
       print(i)
 循环集合:字典与集合内部的元素都是无序的
  for i in {11,22,33,44,55,66}:
        print(i)
   

   

 

 

range关键字

 range方法在python2和python3中有所区分
   在python2中range是直接产生一个列表 元素很多的情况下会产生比较占用空间的情况
   在python2中有一个xrange 其实就是python3里面的range
   在python3中range相当于哆啦A梦的口袋,不占空间,但是可以取出很多数据
   在python3中只有一个range了
   
   例如:
   循环打印0-100
   利用while循环
   count = 0
   while count < 101:
       print(count)
       count += 1
   利用for循环
   for i in range(101):  # 表示的是从0开始到100结束的数据集,顾头不顾尾
       print(i)
    range 其实是一个迭代器,用于产生一个数据集合,但是节省空间
   用法1 括号内只写一个数字,默认从零开始 顾头不顾尾
     for i in range(10):  # 表示的是从0-9
           print(i)
   用法2 括号内写两个数字 自定义起始位置 顾头不顾尾
      for i in range(1,10):  # 表示的是从1-9
           print(i)
   用法3 括号内写三个数字 第三个数字表示的是两个相邻之间的差值,等差差值,默认情况是1
      for i in range(1,10,2):  # 表示的是从1开始取,差值是2的取,在1-10内取值
           print(i)
           
爬虫的定义:
   通过编写代码去网络上爬取我们需要的数据
   可以去网上找一个具有多页数据的网址 研究URL是否有规律
    有一些网址分页使用的URL
    有一个使用的是内部js脚本
   用爬虫的目的是:通过代码请求页面获取页面数据
                  然后根据业务需求筛选出特定的内容

for循环补充

for+break 
    break结束本层for循环
for+continue
     continue结束本次for循环 直接开始下一次
for+else循环正常结束之后运行else子代码
      与while一致

for循环的嵌套

如何查看数据的内置方法

可以借助与编程软件的自动提示 采用句点符快速查看

数据类型的内置方法

1.类型转换
 str可以转换所有基本数据类型
   print(str(11),type(str(11)))
   print(str(11.11),type(str(11)))
   print(str([1,2,3,4]),type(str([1,2,3,4])))             print(str({'name':'jason'}),type(str({'name':'jason'})))
print(str((1, 2, 3, 4)), type(str((1, 2, 3, 4))))       print(str({1, 2, 3, 4}), type(str({1, 2, 3, 4})))
print(str(True), type(str(True)))

2.s1 = 'hello world'
2.1:索引取值
   print(s1[0])
2.2:切片操作
   print(s1[2:4])  # 顾头不顾尾
2.3:步长
   print(s1[2:9:1])  # 第三个参数是步长 默认是依次获取
   print(s1[2:9:2])  # 间隔一个取一个
索引取切片扩展
    print(s1[-1])  # 获取最后一个字符
    print(s1[-1:-5:-1])  # dlro 第三个参数还可以控制索引的方向
控制索引的方向
    print(s1[-5:-1])  # wor1
2.4 统计字符串字符的个数
    print(len(s1)) # ll
2.5 成员运算
     print('ll' in s1)
2.6 移除字符串首位指定的字符(使用频率较高)
    name = 'jason'
     print(len(name))
    res = name.strip()  # 默认移除字符串首尾的空格
     print(res,len(res))
     name1 = '$$$$jas$on$$$$'
     print(name1.strip('$'))
     username = input('username>>>>:').strip()
     if username == 'jason':
    print('我想去干饭了!!!')
 2.7 按照指定的字符切割字符串
data = 'jason|123|DBJ'
# print(data.split('|')) # ['jason', '123', 'DBJ']
# name, pwd, hobby = data.split('|') # 解压赋值
print(data.split('|', maxsplit=1))  # ['jason', '123|DBJ']
print(data.rsplit('|', maxsplit=1))  # ['jason|123', 'DBJ']
"""split方法切割完字符串之后是一个列表"""
以上就是今天所学的内容,还有很多待记忆

 

 

 

posted @ 2022-03-08 20:02  一颗平凡的小石头  阅读(285)  评论(0)    收藏  举报