欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python学习笔记

程序员文章站 2022-03-04 14:16:57
...

Python学习笔记

已经有c语言基础

基础语法规则:

  1. 数据类型

    字符串是以单引号’或双引号"括起来的任意文本,比如’abc’,“xyz"等等。请注意,’'或”"本身只是一种表示方式,不是字符串的一部分,如果字符串内部既包含’又包含"怎么办?可以用转义字符\来标识。

    Python还允许用r’‘表示’‘内部的字符串默认不转义,即原始字符串 EG: print(r’\\t\’)
    如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用’’’…’’'的格式表示多行内容,可以自己试试:

  2. 变量名规则与c语言变量命名规则一致

  3. 强制转换方法

    int()//转化为int
    float()
    str()//转化为str
    chr()//int转化为字符
    ord()//得到字符对应的ASSIC码值(含中文字符)
    list()//字符串转化为一个列表
    
  4. 基本输入输出

    1.输入函数:str_return=input(str)
    ​ 解释:str为一个提示信息 ,让用户输入一个一行字符串,直至遇到回车结束 并且把该字符串返回到

    ​ str_return.

    2.输出函数:print(“name”,500,50.7,u“哈哈哈”) 输出对应的列表 遇见逗号输出空格,结尾输出空行

  5. 条件语句

    
    if  条件:
        语句
    elif 条件:
        语句
    else:
        语句
    #注意缩进用四个空格     注意冒号
    
        
    
  6. 循环语句

    #for循环开头需要
    for  a in List:
        语句
    #while循环开头需要
    while 条件 :
    	语句
    #注意缩进用四个空格     注意冒号
    
  7. 定义函数

    def fuctionname(参数表):
    	内容
    #注意缩进用四个空格     注意冒号
    
  8. 逻辑符号

    逻辑符号有 and or not ,分别表示 && || !

  9. 用#注释 与c语言的//意思近似

学习列表:

  1. str的成员函数split

    str.split(char c,int num) 让一个字符串根据c字符切片,成num个字符串 返回一个列表 可以不指定Num 和c(默认空格)
    1.如果不指定c 和num 则默认空格 而且可以连续分隔多个空格
    2.如果指定c 不指定num 则默认分割数个字符串 否则的话则分割前Num个字符串 剩下的都在在最后一个元素
    3.如果指定c ,则不能连续分割开,会产生空串

  2. 占位符用来输出函数

    str.format(输出项目列表)

    num1,operator,num2=input('Enter calculation:').split(' ')
    num1=int(num1)
    num2=int(num2)
    if operator =='+':
        print('{}+{}={}'.format(num1,num2,num1+num2))
    
  3. print函数自动换行

    如果要取消的话在最后设定一个输出项

    print(u‘漂亮’,end='',sep="")
    #sep为隔开字符(sperate) end为结束字符
    
  4. range函数

    range(num) 即函数产生一个列表 列表第一个元素从0开始 道num-1结束 共有num个
    range(beg,endd) 左开右闭区间 从beg开始 到endd-1结束 共 endd-begg个
    range(beg,endd,space)区间 范围为[beg,endd) 从beg开始 增量为space
    range(num)与range(0,num)与range(0,num,1)相同

  5. 字符串的索引和切片

    str[index]//索引
    str[beg:endd]//区间
    str[beg:endd,space]//区间以及递增量

  6. 字符串的去空格函数AND字符串大小写转化函数AND字符串查找函数ANDcount函数

    str.strip()//左右两边去空格
    str.lstrip()//左边去空格
    str.rstrip()//右边去空格
    str.upper()// 将str全部转化为大写
    str.lower()//将str全部转化为小写
    str.count(str)//返回字符串有多少个str
    str.isdight()//是否为一个数字
    str.isalnum()//是否为一个数字

  7. 列表的连接

    str.join(list)//表示用str 把列表list里面的连接起来

  8. 列表的函数

    list.sort()//引用排序
    list.reverse()//引用反转
    list.insert(int sub,val)
    list.remove(val)//删除val 但是只删除一个 从左到右数的第一个
    list.append(val)//追加
    list.pop()//弹出一个 可以指定一个下标
    list+list //列表的合并

    list*num

    list[index]用索引进行读取
    print(list)输出列表

    randlist = ["string",1.234,28]
    print(randlist)
    #['string', 1.234, 28]
    
  9. 列表的切片

    像字符串的切片相同推广

  10. 用for循环产生列表

    例子

    #生成一个平方数列表
    MyList=[i*i for i in range(10)]
    print(MyList)
    #生成一个列表,共有10个元素,每个元素又是一个10的列表  相当于10*10的二维数组
    MyList=[[0]*10 for i in range(10)]
    print(MyList)
    
  11. 导入内置模块

    import (名称)
    例子:
    import random 导入随机种子的包(产生随机数)
    成员函数:
    random.randrange(beg,end)//返回一个数字
    random.choice(list)//从列表中随机选一个

  12. 元组

    定义 使用小括号

    意义 定义后不可被改变

    tup=(9,2,1,3,4,7,3)//元素值都不能变的

  13. 内置函数 在Python官网查看

    max()//求列表 或远足的最大值
    sorted()//返回排序的结果列表

  14. 定义函数传入多个参数

    # 代表接受多个多个参数  传参进去代表多个参数  变为一个列表
    def GetSum(*args):
        sum=0
        for i in args:
            sum+=i
        return sum
    MyList=[i for i in range(10)]
    #加个*列表名(元组名) 代表将其变为多个数
    print(GetSum(*MyList))
    

    函数可以返回多个:

    def mult_divide(num1,num2):
        return (num1*num2),num1/num2
    #返回 两个数的乘法结果和除法结果
    

    函数内定义的变量为局部变量:

    而global name 可以代表这里的name为外面的name

    def change_name():
        #代表name在外边的
        global name
        name="Tom"
    name="Tery"
    print(name)
    change_name()
    print(name)
    
  15. 内置模块之 math

    将math看作一个对象调用内容的方法就行 具体方法请用help(math)或者到官网查看

  16. dict字典(dictionary)

    初始化方法

    dictName={key1:val1,key2,val2}

    dictName={} 代表空字典

    添加方法
    ​ dictName.setdefault(key,default)//如果有的话不操作 没有的话设置默认值 并且返回内容值
    ​ dictName[key]=val
    删除方法
    ​ del dictName[key] //没有返回值 没有则报错
    查找方法
    ​ dicttName.get(key,default)//有的话返回 没有的话返回默认值
    ​ key in dictName : 返回为真则存在 否则Flase
    清除容器
    ​ dictName.clear()//
    返回所有key值
    ​ dictName.keys()//列表?
    返回所有内容值
    ​ dicttName.values()//列表

  17. 内置模块之pprint

    可以打印字典

  18. 集合(set)

    空集合
    setname=set()
    初始化
    setname{name,name,name}

    添加:
    setname.add()
    删除
    setname.discard()//删除 没有也不会报错
    setname.remove()//待测试
    查找

    pass

    遍历集合
    for val in setname:

    集合的 并 交 异或(吧)

    numbers1={1,2,3,4,5}
    numbers2={1,3,4,6}
    # 并  交  异或
    print(numbers1 | numbers2)
    print(numbers1 & numbers2)
    print(numbers1 - numbers2)
    
  19. 抛出异常的例子

    #输出图形
    def boxPrint(symbol,width,height):
            # if不符合要求  抛出异常  相当于c++的throw what;
        if len(symbol)!=1:
            raise Exception("Symbol must be a single character")
        if width<=2:
            raise Exception("Width must be greater than 2")
        if height<=2:
            raise Exception("Height must be greater than 2")
        print(symbol*width)
        for i in range(height-2):
            print(symbol," "*(width-2),symbol,sep="")
        print(symbol * width)
    for symc,w,h in(('a',10,10),("zz",2,2)):
        try:
            boxPrint(symc,w,h)
        except Exception as err:
            print("NameError:",err)
    
  20. 捕捉异常

    def spam(divideby):
        try:
            return 42/divideby
        except :
            print(u"除数不能为0")
    spam(0)
    #不存在文件
    try:
        fp=open("date.txt")
    except :
        print("The file not exit!")
    bad_var="dsaddas"
    try:
        var=bad_var
    #     自动捕捉错误名称 并且作为字符串赋给e
    except NameError as e:
        print(e)
    #     如果没有异常 执行否则
    else:
        print(var)
    #     最后都执行的
    finally:
        print("Executing Finally....")
    
相关标签: Python学习