python基础学习

python的基本数据类型

  • 数据类型是为了方便计算机读懂我们传达的意思,计算机并不像我们人类一样,你说“汉”是汉字,它读不懂你的意思,不知道你说什么。就像你娶了个外国老婆你跟她说中文她听不懂你说什么,但你和他说英语他就能get到你表达的意思,你们之间多是用英语交流。数据类型就是我们和计算机交流的语言。有了数据类型,你再向计算机传达指令,计算机也能get到你的意。你说汉字的‘汉’他就知道这是个字符串(str),你给个数字1它就知道是整型,至于计算机怎么翻译数据类型的就要提到”编码“,现在windows主要用的是”gbk“,Linux用的是”utf-8“,mac也用”utf-8“,至于编码详细在后面讲,现在开始进入数据类型,抓稳了!!别掉队了

1.int

    • int 我们在所有的编程语言多叫它整型数据,跟它的名字一样整型即整型数据,比如1,2,3,-1223,43455,这些多是整型,int是他的关键字。
  • 2.int的用法

    • int基本用法

    • #是python的单行注释,多行注释是""""""
      a = 1 #在python中定义一个数据类型不要像c Java一样定义关键字
      
      b = 2 #直接给它赋值就行了,系统会自动检测是什么类型
      	  #这跟python语言定位有关'优雅','简单','明确'
      print(a,b)#1,2
      
    • #加 减乘除 取整 平方取余
      print(1+4)#5	
      print(3-1)#2
      print(2*0)#0
      print(3/2)#1.5
      print(3//2)#1
      print(2**2)#4
      print(1001%10)#1 取余
      
      
      
      

2.bool

  • 1.bool的介绍

    • 布尔值很简单,就两个值True(真),Fales(假),主要用来逻辑判断
  • 2.bool的用法

    • a 等于2 b等于10 判断他们两个大小,如果为真就返回True,否则就返回Fales

    • a = 2
      b = 10
      print(a > b)#False
      print(a == b)#False
      print(a < b)#True
      

if while for

  • 1.if的介绍与用法

    • if的介绍

      • if又称为分支语句,比如一个小学生要去上学,路上有几条岔路,要判断那条是真正去上学的路,如果判断对了就能到达学校,否则就永远到不了学校,不知道去了什么鬼地方。
    • if的用法

      • if else

        • 判断小学生是否真正的去学校了 s1 = '学校'

        • s1 = '学校'
          if s1 == '学校':
              print('安全到校,但迟到了被老师打屁股了')
              print('小学生:屁股疼!疼疼')
          else:
              print('没去学校,在田里玩泥巴去了')
          #运行结果安全到校,但迟到了被老师打屁股了
          #小学生:屁股疼!疼疼
          
          #我们用来一个生动形象的例子说明了if-else的用法,如果选的路径是正确的就安全到校
          #否则就去另一条路去玩泥巴了
          
      • if elif else

        • if elif else 就是在if-else上增加了一条路径,我们可以无限的加,具体的要看你的需求,用if elif else来判断学生成绩该评什么等级,

          • fraction = int(input('请输入一个分数:'))
            if fraction > 90:
                print('成绩等级为:A')
            elif fraction > 80:
                print('成绩等级为:B')
            elif fraction > 70:
                print("成绩等级为:C")
            elif fraction > 60:
                print("成绩等级为:D")
            else:
                print('成绩等级为:F')
            #结果:请输入一个分数:75
            #成绩等级为:C
            
          • image-20200704162540361

          • 这里我们用了两个新知识点人机交互与类型转换,input()的意思就是输入的意思可以是字母,数字,字符,它默认的数据类型是字符串,就是不管你用input()输入什么多是字符串,所以我们把它强制转换为int

            • 没有强制转换的时候
            • image-20200704163933375
            • image-20200704164016512
            • 用int强制转换后
            • image-20200704164227598
            • ![(C:\Users\WLW\AppData\Roaming\Typora\typora-user-images\image-20200704164045126.png)
            • image-20200704164132754
      • if elif elif

      • fraction = int(input('请输入一个分数:'))
        if fraction > 90:
            print('成绩等级为:A')
        elif fraction > 80:
            print('成绩等级为:B')
        elif fraction > 70:
            print("成绩等级为:C")
        elif fraction > 60:
            print("成绩等级为:D")
        elif fraction < 60:
            print('成绩等级为:F')
        #结果为请输入一个分数:50
        #成绩等级为:F
        #这里只是把else 换成了elif 
        #else 是否则的意思,就是前面的条件都不满足时就会执行else
        #elif 我们把低于六十分的也换成了一个条件,就没用else了
        
        
      • 三目运算

        • 三目运算就是简写的if-else

        • a = 5
          b = 10
          c = a if a > b else b
          print(c)
          
  • 2.while的介绍与用法

    • 生活中有许多循环的应用,比如:听歌,吃饭,睡觉等等多有循环的应用

    • while的用法

      • while 条件:#每次执行循环多会对循环条件进行判断,条件为真才会继续运行
        	循环体	#循环体就是我们要做的事情
        	循环体
        
      • what:while又叫无限循环?是的

      • while True:#只要条件为真就会一直循环,直到地老天荒可能它还在执行
            print('hello python')
            print('hello 琉璃星')
        '''hello 琉璃星
        hello python
        hello 琉璃星
        hello python
        hello 琉璃星
        hello python
        hello 琉璃星
        hello python
        hello 琉璃星
        hello python
        ....
        '''
        
      • 用while 计算1-100所有数的和

        • count = 0
          sum = 0
          while count <= 100:
              sum += count #等价sum = sum + count
              count += 1
          print(sum)
          #结果等于5050
          
        • continue break 的用法

          • image-20200704174202098

          • flag = True
            while flag:
                print('刘亦菲')
                print('李知恩')
                flag = False
                continue
                print('李沁')
            
          • break直接结束循环

          • while True:
                print('刘亦菲')
                print('李知恩')
                print('李沁')
                break
            
          • 循环运行到break会自动结束循环,也被人们称为‘跳楼循环’跳下去就没有了。

  • 3.for 的介绍与用法

    • for循环又称为有限循环也可以叫做遍历
    • image-20200704181137356
      • for循环每运行一次就会把str1里的一个值赋给i一次,当所有的值赋完,程序就会结束
  • 逻辑运算

  • image-20200704175405451

3.str

  • 1.字符串(str)的介绍

    • python中用引号引起来的数据类型可以称为字符串类型。

    • c = '琉璃星'
      print(c)#琉璃星
      #这个字符串由三个字符组成,'流','璃','星'
      
    • 字符串的切片

    • s1 = 'ABCDEF'
      print(s1[0])#A  字符串的下标是从0开始的
      print(s1[1])#B
      print(s1[5])#F
      print(s1[-1])#F 索引5和-1多表示最后一个元素
      #我还可以设置索引的步长
      print(s1[:2])#打印A和B,顾头不顾腚AB
      print(s1[:])#打印全部元素 ABCDEF
      print(s1[-1::-1])#倒着打印字符串 FEDCBA
      
  • 2.srt的基本操作

    • 判断是否以什么开头或结尾

    • a = 'abcef'
      #startswith()判断以什么开头
      ret1 = a.startswith('abc')# 可 切片 返回类型为布尔值
      print(ret1)
      #endswith()判断以什么结尾
      ret3 = a.endswith('cef',1,6)#判断1到6是以什么结尾的
      print(ret3)
      
    • split 以什么分割,最终形成一个list,此列表不含有这个分割的元素

    • S = 'hello python world'
      ret4 = S.split()#这里我们以空格分割,可以不写空格
      print(ret4) #['hello', 'python', 'world']
      s1 = 'helloapythonaworld'
      ret5 = s1.split('a')#这里我们以字符a作为分割符
      print(ret5)#['hello', 'python', 'world']
      
    • strip 删除特殊字符

    • name = '*python**'
      print(name.strip('*'))#删除两边的 python
      print(name.lstrip('*'))#删除左边的 python**
      print(name.rstrip('*'))#删除右边的 *python
      
    • replace 替换字符

    • #replace
      name='alle say :i have one tesla,my name is alle'
      print(name.replace('alle','SB',1))
      
    • #####is系列判断字符组成
      name='oaiai123'
      print(name.isalnum()) #字符串由字母或数字组成
      print(name.isalpha()) #字符串只由字母组成
      print(name.isdecimal()) #字符串只由十进制组成
      

4.list tuple

  • 1.列表(list)的介绍

    • 列表是python的基础数据类型之一 ,其他编程语言也有类似的数据类型.比如JS中的数 组, java中的数组等等. 它是以[ ]括起来, 每个元素用' , '隔开而且可以存放各种数据类型: 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类

      型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:

      li = [‘琉璃星’,123,Ture,(1,2,3,’hello’),[1,2,3,’小明’,],{‘name’:’琉璃星}]

  • 2.list 的基本操作

      • l1 = [1,2,3]
        l1.append(4)#在程序最后添加一个[1, 2, 3, 4]
        print(l1)
        
        l1.insert(0,'hello')#insert在任意位置添加元素['hello', 1, 2, 3, 4]
        print(l1)
        
        l1.extend('琉璃星')#在列表最后迭代增加
        print(l1) #['hello', 1, 2, 3, 4, '琉', '璃', '星']
        
      • l1.pop(1)#通过索引删除元素
        print(l1)#['hello', 2, 3, 4, '琉', '璃', '星']
        
        l1.remove('hello')#通过元素名删除元素
        print(l1)#[2, 3, 4, '琉', '璃', '星']
        
        del l1[:2]#通过切片删除列表中的元素
        print(l1)#[4, '琉', '璃', '星']
        
        l1.clear()#清空列表
        print(l1)#[]
        
      • l2 = [1,2]
        l2[0] = 'hello' #通过索引改值
        print(l2)#['hello', 2]
        
        l2[0:1] = 'abcde'#通过切片改值
        print(l2)   #['a', 'b', 'c', 'd', 'e', 2]
        
        l2[::2] = '琉璃星'#通过步长来修改值
        print(l2)#['琉', 'b', '璃', 'd', '星', 2]
        
      • 通过for循环来遍历查找元素

        • l3 = [1,2,3,4]
          for i in l3:
              print(i)
          
          
    • 列表嵌套

      • 列表的嵌套只要搞清楚索引就行了,像剥洋葱一样,一层一层的剥,列表就是一层一层的找

      • image-20200705111034864

      • l5 = [1,2,["hello",3,5,[6,7,'琉璃星',['a','b',9]]]]
        
        print(l5[2][3][3][2])# 9
        l5[2][3][3][1] = l5[2][3][3][1].capitalize()#把b改成大写的
        print(l5)#[1, 2, ['hello', 3, 5, [6, 7, '琉璃星', ['a', 'B', 9]]]]
        
  • 3.元组的介绍

    • 元组被称为不可变的列表
  • 4.元组的使用

    • t1 = ('a','b',True,1)
      for i in t1 :
          print(i)
      

5.dict

  • 1.字典的介绍

    • :咱们目前已经学习到的容器型数据类型只有list,那么list够用?他有什么缺点呢?

      \1. 列表可以存储大量的数据类型,但是如果数据量大的话,他的查询速度比较慢。

      \2. 列表只能按照顺序存储,数据与数据之间关联性不强。

      所以针对于上的缺点,说咱们需要引入另一种容器型的数据类型,解决上面的问题,这就需要dict字典。

  • 2.字典的基本操作

      • dic = {'name':'琉璃星','age':18}
        dic['sex'] = '男'    #{'name': '琉璃星', 'age': 18, 'sex': '男'}
        print(dic)  #通过键值直接添加
        
        dic.setdefault('job','学生')#通过函数setdefault添加如果键值对有了就不添加没有则添加
        print(dic)#{'name': '琉璃星', 'age': 18, 'sex': '男', 'job': '学生'}
        ret = dic.setdefault('name')#有返回值,但是只能通过键来返回值
        print(ret)#琉璃星
        
      • dic.pop('name')#通过键来删除字典元素
        print(dic)#{'age': 18, 'sex': '男', 'job': '学生'}
        
        dic.popitem()#删除字典最后一个元素
        print(dic)#{'age': 18, 'sex': '男'}
        
        del  dic['age']#通过键值来删除
        print(dic)#{'sex': '男'}
        
        dic.clear()#清空字典
        print(dic)#{}
        
      • dic = {'name':'琉璃星','age':18}
        dic['name'] = 'wei'#通过键直接修改
        print(dic)#{'name': 'wei', 'age': 18}
        
        dic.update(sex= '男',height=165)#通过方法update()
        print(dic)#{'name': 'wei', 'age': 18, 'sex': '男', 'height': 165}
        
        dic.update([(1,'a'),(2,'b')])
        print(dic)#{'name': 'wei', 'age': 18, 'sex': '男', 'height': 165, 1: 'a', 2: 'b'}
        
      • dic = {'name':'琉璃星','age':18}
        
        print(dic['name'])#通过键直接查,如果没有此键会报错
        
        print(dic.get('name'))#琉璃星
        
        print(dic.keys())#dict_keys(['name', 'age'])得到所有的键
        print(dic.values())#dict_values(['琉璃星', 18])得到所有的值
        print(dic.items())#dict_items([('name', '琉璃星'), ('age', 18)])
        

讲到这里就结束了,你都学废了吗?加油!学习要持之永恒,今天比昨天努力一点,明天比今天努力一点就这样while True 下去吧。本人小白一枚有讲的不好的地方请多多包含,讲错的地方请批评改正,最后祝大家在编程这条‘不归路’越走越远。加油,相信自己!

posted @ 2020-07-05 12:07  琉璃xing  阅读(51)  评论(0)    收藏  举报