zoukankan      html  css  js  c++  java
  • Python学习笔记

    Python学习笔记

    已经有c语言基础

    基础语法规则:

    1. 数据类型

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

      Python还允许用r’‘表示’‘内部的字符串默认不转义,即原始字符串 EG: print(r’\t’)
      如果字符串内部有很多换行,用 写在一行里不好阅读,为了简化,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....")
      
  • 相关阅读:
    任正非:所有公司都是管理第一,技术第二(没有一流管理,领先的技术就会退化;有一流管理,即使技术二流也会进步)
    QuickReport的OnNeedData的触发情况
    Quickreport不用数据字段,如何实现多页打印?
    我要继续做开发吗(对18个问题,全部都是肯定!)
    一台主机,至多可以开启多少个线程
    BenchmarkDotNet
    开发资源
    WebSocket
    TCP
    “在什么时候学习编程才合适?”
  • 原文地址:https://www.cnblogs.com/dchnzlh/p/10427315.html
Copyright © 2011-2022 走看看