zoukankan      html  css  js  c++  java
  • Python3基础笔记

    一、条件判断

    python中条件判断使用if else,多条件的话使用if elif ... else。例子如下:

     二、输入

    python使用input函数接收输入。无论你输入的是什么,input接收的数据类型都是字符串,可以使用tpye()来查看变量的数据类型

    score = input('请输入你的分数:')
    print('score的类型', type(score)) #type查看一个变量的数据类型
    score = int(score) # 数据类型转换

    三、循环

    循环就是在重复执行循环体里面的代码。

    break,在循环里面遇到break,立即结束循环。

    continue,结束本次循环,继续进行下一次循环。

    while循环:需先定义一个计数器count=0,while循环可对应一个else,作用是:循环正常结束之后会执行else里面的代码。

    for循环:不需要计数器,直接for i in range(),循环几次range里就写几。

    写一个例子:猜数字大小,最多猜7次。

    #while循环
    # import random
    # number = random.randint(1,100)
    # print(number)
    # count = 0
    # while count<7:
    # count = count+1
    # guess = input('请输入一个数字:')
    # guess = int(guess)
    # if guess == number:
    # print('恭喜你猜对了,游戏结束')
    # break
    # elif guess<number:
    # print('小了')
    # continue
    # else:
    # print('大了')
    # continue
    # else:
    # print('次数用光了')

    for循环

    import random
    number = random.randint(1,100)
    print(number)
    count = 0
    for i in range(7):
    guess = input('请输入一个数字:')
    guess = int(guess)
    if guess == number:
    print('恭喜你猜对了,游戏结束')
    break
    elif guess<number:
    print('小了')
    continue
    else:
    print('大了')
    continue
    else:
    print('次数用光了')

    四、字符串格式化

    就是将输出的内容用同样的格式展示,有三种格式化的方式:

    第一种使用+连接,直接把输出的字符串和变量连接起来就可以了;

    name='Lucy'
    print('欢迎'+name+'登陆!')

    第二种是用占位符,占位符有常用的有三种,%s、%d和%f,%s是后面的值是一个字符串,%d是后面的值必须是一个整数,%f后面跟的是小数(用%.*f表示保留几位小数);

    import datetime
    user='tata'
    today = datetime.datetime.today()
    age=18
    score=96.9
    #快速复制一行代码 command+d
    msg= '欢迎 %s 登陆,今天的日期是%s' %(user,today)
    msg2= '欢迎 %s ,你的年龄是%d , 你的分数是%.1f' %(user,age,score)

    第三种是使用{}和fromat方法

    user='tata'
    age=18
    score=96.9
    msg3='你的名字是{name},年龄是{nianling}'.format(name=user,nianling=age)
    msg4 = '你的名字是{},年龄是{}'.format(user,age)

    五、字符串常用的方法 

    s='abd'
    s.count('a') # 统计a在字符串s中出现的次数
    s.strip() #默认去掉字符串两边的空格和换行符
    s.lstrip() #去左边的空格
    s.rstrip() #去右边的空格
    s.lower() #把字符串变成小写的
    s.upper() #把字符串变成大写的
    random.randint(1,100) # 在1-100中随机产生一个整数
    random.choice(s) #随机在s中选择一个元素
    random.sample(s,2) #在s中随机取2个元素
    len(s) #取变量的长度,也就是有几个元素
    s.isdigit() #判断是否为数字
    s.startswith('1') #判断以xx开头
    s.endswith('jpg') #判断以xx结尾
    s.center(50,'*') #字符串剧中,长度是50用*填充

    s='5'
    print(s.zfill(3)) #填充补零,即005
    s='aaaaab'
    s=s.replace('a','A') #替换,即AAAAAb
    s=s.replace('a','A',2) #替换,最后的数字表示替换几个,即AAaaab
    s='red,blue,yellow,green'
    result=s.split(',') #以xx来分割字符串(不能传空字符串),即['red', 'blue', 'yellow', 'green']
    result=s.split() #什么都不传默认是以空格分割(若传的字符串不存在,则把整个的看出一个list,即['red,blue,yellow,green'])
    l=['a','b','c']
    s='hahaha'
    print(''.join(l)) # 连接字符串,用.前面指定的字符串给连接起来,一般用来连接list。即abc
    print('-'.join(s)) #用-连接,即h-a-h-a-h-a(可循环的都可以连接)

    六、列表list

    列表也叫数组,使用[],列表里可以是任何类型,列表的取值是根据下标取的,下标是从0开始。

    list中可以再套列表,叫做二维数组,以此类推。

    例:L=[1,2,['a','b']]  #二维数组

    下面是列表的一些操作:

    l=['周杰伦','王俊卡','黄晓明']  #一维数组
    print(l[-1])# 表示最后一个元素
    #查
    #list取元素的时候是根据编号取值的
    print(l[0])
    #增
    l.append('') #在末尾增加元素
    l.insert(0,'') #指定位置增加元素
    l.insert(7,'') #如果你指定的下标没有,那么就加到最后面
    #修改
    l[2]='赵薇'
    #删除
    l.pop() #指定下标删除
    l.remove('')#指定元素删除
    del l[0] #指定下标删除(同l.pop())
    print(l.count('赵薇')) #查找某个元素出现的次数
    index = l.index('王源')#找某个元素的下标,如果找一个不存在的元素会报错
    l.reverse() #反转list
    l.sort() #排序(默认升序)
    l.sort(reverse=True) #降序
    l.clear() #清空list
    #列表相加
    l3= l+l2 #直接相加就是把两个list合并成一个新list
    l.extend(l2) #把l2里面的元素加到l中

     七、字典

    字典是key-values的形式。{key:value}

    字典的特性:
    字典是无序的,它没有下标,用key来当索引。
    字典的key是唯一的,因为它是通过key来进行索引的,所以key不能重复,天生就去重
    字典的一些操作:

    d= {
    'name':'zhaomin',
    'idcard':'123456',
    'sex':'1',
    'addr':'北京'
    }
    #取值
    print(d['money']) # 取值不存在时会报错
    print(d.get('money')) #取值不存在时返回None(不存在时可以给传一个值,例:d.get('money',100))
    #增加key
    d['addr']=110 #如果key存在,会更改原有的值
    d.setdefault('addr','bmw') #如果key已存在,不会更改原有的值

    #修改
    d['sex']='女'

    #删除
    d.pop('sex') #删除指定的key,会返回删除的值,(
    result=d.pop('sex'))
    del d['sex'] #删除指定的key
    d.clear()#清空字典
    print(d.keys()) #字典里所有的key放到一个list中
    print(d.values()) #字典里所有的values放到一个list中

    #循环字典
    s = {"id": 315,"name": "矿泉水"}
    for k in s: #直接循环字典,每次取的是字典的Key,再根据key取value值
    #value=d.get(k)
    #print(k,value)
    print(k,s[k]) #以上两步等同于这一步
    #if 'id' in s : #如果字典用in来判断的话,它判断的是key存在不存在
    八、切片
    切片就是对list一个范围的取值。取值时不包含后面的元素,即顾头不顾尾:格式:list[*:*] 。若后面再加一个参数即表示步长,即隔多少元素取一次,隔的包括自己,默认不写就是隔1隔取一次,格式:list[*:*:*]
     list=[1,2,3,4,5,6,7]
      
    list[-1] #-1表示最后一个元素,即7
    list[0:3] #取下标是0-3的元素,包括0,但不包括3,顾头不顾尾,即1、2、3
    list[:3] #同上,表示从最前面开始,0可以不写
    list[2:] #表示取从下标2到最后一个元素,即3、4、5、6、7
    list[:] #取全部元素
    #以下是带步长的
    list[0:7:2] #从第一个元素开始隔2个取一个,隔的包括自己,结果是:1,3,5,7
    list[::-1] #步长为负数,是从后往前取,如果不是取全部的元素,下标也要用负数,
    九、元祖
     小括号定义的都是元祖,元祖里面的数据不可以修改
    l2=(1,2,3,4) #元祖,元祖里的数据不可以修改
    s3=('abc',) #只有一个元素的时候不是元祖,需加一个,才表示元祖
    print(type(s3)) #使用type可查看元素的类型

    可变数据类型
    list 、dict
    不可修改数据类型
    tuple、str、float、int

    十、深拷贝、浅拷贝
    区别:深拷贝和浅拷贝不能单单只看内存地址变没变,内存地址不变的一定是浅拷贝,内存地址变了的,不一定就是深拷贝,也有可能是浅拷贝
    import copy
    l=[1,2,3]
    l2=copy.deepcopy(l) #只有这一种才是深拷贝,深拷贝内存地址变,修改元素彼此不会受影响
    # l2 = l #浅拷贝,内存地址不变
    # l2=l.copy() #浅拷贝,内存地址变。当是二维数组时改二维数组里的元素会受影响,改一维数组里的元素不会受影响
    # l2=l[:] #浅拷贝,同上
    # copy.copy(l) #浅拷贝,同上
    print('l的内存地址',id(l)) #查看内存地址用id
    print('l2的内存地址', id(l2))

    十一、 文件读写

    基本操作:

    f= open('a.txt',encoding='utf-8')  #打开文件,有汉字要加utf-8(写文件路径时加个r防止被转译,例如r'c:user)
    result = f.read() #读文件
    print(result)
    f.close() #关闭文件
    f=open('a.txt','w',encoding='utf-8')  #写文件,写会覆盖原有文件
    f.write('你好'+' '+'哈哈')
    f.close()

    十二、集合

    集合的作用:

    1. 集合天生去重,自动去掉重复的元素

    2.可以用来做关系测试

    集合是无序的,不能用下标取值

    要想定义一个空集合则用set()

    #关系测试例子

      a={1,2,3}

      b={3,4,5}

    #取交集

      print(a&b)

      print(a.intersection(b))

    #取并集

      print(a.union(b))

      print(a|b)

    基本操作

    a.add('56') #增加元素,集合中不能增加重复的元素

    a.remove('1') #删除元素

    
    
    
    
    
    


  • 相关阅读:
    Scala学习笔记(八):Scala的层级
    Scala学习笔记(七):闭包
    Scala学习笔记(六):函数
    Struts 2(八):文件上传
    Struts 2(七):国际化
    Struts 2(五):输入校验 & 校验框架
    Struts 2(四):类型转换
    Struts 2(三):示例→基于Struts 2的用户注册模块
    Struts 2(二):使用Struts2
    Struts 2(一):初识Struts
  • 原文地址:https://www.cnblogs.com/tata-learning/p/11509239.html
Copyright © 2011-2022 走看看