• 第一节python基础


    python 类型      

    变量是用来赋值东西的,存东西的,就是存数据的 为什么叫变量因为他是可变的

    举个例子把这个人信息存到数据库需要拿到它

    字符串 整数 浮点型   布尔型  常用的输入和输出 input  print  

    string   12      12.2      true false

    数据类型:
    int str float list
    整数 字符串 小数 数组    数据类型干嘛的?也是用来存数据的 

    整数类型name =18 int 

    浮点型类型 name=187.5 float 
    字符串类型 name='小黑'  str 

    所有的编程语言分为两种

    一种是编译型语言,一种是解释型语言  、

    1.编译型语言,先编译在执行

    解释型语言

    一边解释一边编译

    php  python  java go  

    先天上来看,编译型语言快  c c++

    python 的单引号,双引号,三引号 ,双引号可以包含单引号  可以定义字符串

    age=print(age)这种方法是错误的

    Python中input 是输入   print是输出    记住一点input接收到的值都是str类型 字符串类型

    python的注释 #单行注释 

    '''   

    ''''   三个引号为多行注释  

    python 的循环 

    python一共有两种循环

    一种是for 循环一种是whlie 循环 

    #while循环,需要一个计数器
    count=0#计数器
    rate=140#心率140
    while count<10:
    if rate>160:
    break
    print('跑圈', count)
    count = count + 1 # 如果不写这句会一直死循环
    rate+=5#没跑一圈加5
    #break 和continue
    # break 在循环里遇到立马停止
    # continue 循环一次后,遇到这次结束本次循环,继续 下一次

    for 循环
    rate=130
    for count in range(8):
    print('跑圈',count)
    if rate>160:
    print('xintiao太快')
    break
    rate+=5

    取数据时候 比如取数组的数据
    student_info2 = [
    [1,'刘海洋','北京' ],
    [2,'hzy','北京'],
    [3,'ljj','北京']
    ]
    while 循环的方法 
    student_info2 = [
    [1,'刘海洋','北京' ],
    [2,'hzy','北京'],
    [3,'ljj','北京']
    ]
    # while 循环的方法
    count=0
    stu=len(student_info2)#取二维数组list长度
    while count<stu:
    stus=student_info2[count]#取元素
    print(stus)
    count+=1#循环
    原理通过计算下标的方式去循环

    如果你想把他插入数据库呢?
    知道小list有三个元素,怎么插入的,已拿到了
    通过stus[0] stus[1] stus[2]
    sql ='insert into student values ({id},"{name}","{addr}");'.format(
    # id=stuid,name=name,addr=addr
    # )
    # print(sql)   

    最简单的方法取数据 拆包来取三个值 这种方式叫拆包

    stuid,name,addr = stu

    sql ='insert into student values ({id},"{name}","{addr}");'.format( id=stuid,name=name,addr=addr ) print(sql)

    上面的方法如果用for 循环呢
    可以看出for 循环取数据很方便,但是定义死循环就要用while 循环比较方便
    for stu in student_info2:
    stuid,name,addr = stu
    sql ='insert into student values ({id},"{name}","{addr}");'.format(
    id=stuid,name=name,addr=addr
    )
    print(sql)
    for i in range(5)  range(5) 就是个list 0,1,2,3,4



    while 循环和for 循环

    ptyhon的格式化三种方法

    第一种,简单粗暴用+连接

    welcome='董先生'
    name='牛逼'
    print(welcome+name)

    %s 第二种方法占位符方法,占一个位置
    name='牛逼'
    print("董春光%s"%name)
    #多个参数用()其中用,隔开
    print("董春光%s,%s"%(name,welcome)
    第三种方法 #format
    name='测试'
    today=20
    welecome='{name} 欢迎登录 今天的日期是{today}'.format(name=name,today=today)
    print(welecome)

    python LIST的操作
    定义一个数组 list 也叫列表
    a=[] 定义一个数组,里面的数据就存在编号了 里面的数据也叫编号,索引,下标,角标
    a=[1,2,3,4,'测试']
    #取数据
    print(a[1])
    #增加,末尾添加
    a.append('ss')
    #指定位置添加
    a.insert(1,'dss')
    print(a)
    #修改
    a[3]='cesces'
    #删除方法
    a.pop(1)#指定下标删除
    a.remove('测试')#指定元素删除
    del a[-1]
    删除如果下标和指定元素不存在都会报错误提示
    list的多维数组的讲解
    #多维数组
    student_info = [
    [1,'刘海洋','北京'],
    [2,'hzy','shanghai'],
    [3,'ljj','天津']
    ]#二维数组
    student_info2 = [
    [1,'刘海洋','北京',['bmw','benz','audi'] ],
    [2,'hzy','北京',['bmw','benz','audi']],
    [3,'ljj','北京']
    ] #三维数组
    student_info2.remove('北京')
    # student_info[0][-1] = '山东'
    # student_info2[0][-1].append('tesla')
    # student_info2[0].pop(2)
    # student_info2[2].append(['wlhg','yfnd'])
    # print(student_info2)

    list的其余方法
    清空list的方法a.clear()
    zzcou=a.count('牛逼')统计这个元素出现的次数 ,为了校验某个元素是否存在使用 看看是否大于1
    index 方法找到这个元素的下标 print(a.index(xxxx))
    extend方法,把两个list合成一个list
    a=[1,2,3,4,'测试']
    b=[5,6,7,8]
    a.extend(b)#方法,把一个列表加入另外一个列表里面
    print(a)
    reverse(),list的反转方法 目的是让顺序颠倒
    a.reverse()
    print(a)

    排序方法 ,sort()
    a=[1,2,3,4,96,94]
    a.sort() 从低到高排序,注意排序和reverse()一样不能直接在print里
    print(a)
    从高到低排序的方法,使用sort()
    第一种方法使用reverse()
    a=[1,2,3,4,96,94] 
    a.sort()
    a.reverse()
    print(a)

    第二种方法
    a=[1,2,3,4,96,94]
    a.sort(reverse=True)
    print(a)
    LIST的两种方法判断是否在一个list中
    a=['cd','dssa',1]
    while 1>0:#死循环一直跑
    name = input('输入要录制的内容')
    if name=='cover':
    print('所有学生信息',a)
    break
    # elif name in a:第一种方法
    # print('已经存在了')
    elif a.count(name)>0:#第二种方法
    print('已经存在')
    else:
    a.append(name)
    print('%s添加成功'%name)
    LIST的拆包和len方法的使用
    a=[[1,'董春光','北京'],[2,'董春','天津']]
    取里面的数据垃圾一点的方法先取到下标,然后根据下标取到元素去循环所有的 ++++
    #取list长度
    count=0
    stu=len(a)#list的长度,里面的个数
    while count<stu:#一直去循环直到这个数组全部循环完
    st=a[count]#定义一个变量接收列表里面的数据
    # print(st)
    # aa=st[0]取少个数据的方法
    # aaa=st[1]
    # aaaa=st[2]
    # print(aa,aaa,aaaa)
    #拆包方法
    aa,aaa,aaaa=st
    print(aa,aaa,aaaa)
    count=count+1
    #学习拆包,数据多的list取多个值
    # 原理就说拆开List赋值给多个变量来接收,有几个元素写几个变量来接收,否则会报错
    当然我们想要节省代码的话还有一种方法就是for方法
    a=[[1,'董春光','北京'],[2,'董春','天津']]

    第二种使用for 循环循环得到每个元素
    for s in a:
    aa,aaa,aaaa=s
    print(aa,aaa,aaaa)
    布尔类型
    只有两个值
    True #真
    False#假

    while 1>0: 条件一直循环,死循环

    
    
    实战练习 

    import datetime
    #难点判断登录用户名和密码错误时候需要拆分二维数组
    #取出key和value然后 取到key的下标和密码的值对比,对了就输入正确
    today=datetime.date.today()
    users=[['fd','123456'],['xzh','45678']]
    user=[]
    passds=[]
    for i in users:
    a=i[0]
    b=i[1]
    user.append(a)
    passds.append(b)
    count=0
    while count<3:
    username=input('输入用户名').strip()
    passwdord=input('输入用户密码').strip()
    if len(username)==0 or len(passwdord)==0:
    print('不能输入为空')
    elif username not in user:
    print('输入的账号不存在')
    else:
    index=user.index(username)
    pwd=passds[index]
    if pwd==passwdord:
    print('登录成功,今天的日期是%s'%(today))
    break
    else:
    print('账号密码错误')


    list练习
    students = ['lhy','hzy','fd']
    #录入学生信息,判断学生是否存在,如果已经存在,提示它,然后继续添加,
    #直到它输入over,结束
     
    分析 
    students = ['lhy','hzy','fd']
    #录入学生信息,判断学生是否存在,如果已经存在,提示它,然后继续添加,
    #直到它输入over,结束
    while True:     这就代表死循环  条件一直存在 
    stu = input('输入学生信息:')
    if stu == 'over':
    print('所有的学生信息是',students)
    break
    # elif students.count(stu) > 0:
    elif stu in students:
    print('学生信息已经存在')
    else:
    students.append(stu)
    print('已经添加%s'%stu)








  • 相关阅读:
    Android Broadcast
    Android 向服务器发送XML数据及调用webservice
    Android ViewPager相册横向移动
    Android 启动模式
    SQL Server忘记sa用户密码处理方案
    ArcGIS 10的色带重复问题
    隐藏TabControl中的TabPage
    ArcMap工具箱中的工具不全,工具带有“锁”图标问题
    ArcEngine开发——根据图层名称获取对应图层
    获取本地网络中可用的SQL Server实例信息
  • 原文地址:https://www.cnblogs.com/weilemeizi/p/13461850.html
Copyright © 2020-2023  润新知