数据类型

整数

十六进制和八进制使用0开头,0x12f, 010

浮点数

可以用科学记数法,如1.23x10^9 可以写成 12.3e8 ,0.000012可以写成 1.2e-5

空值

用None表示 , 注意大小写。
 整数的运算永远是精确的,浮点数运算可能会有四舍五入的误差。

除法

10/3 = 3.33333
 9/3 = 3.0

地板除法

10//3 = 3

负数的地板除法

负数的取整会取远离0的一方, 如 -10//3 = -4 , 因为-3.33333 取整后是 -4 。

取余

10%3 = 1
  取余的算法为 x%y == x-((x//y) * y)

字符串

'' 或者 ""

字符串转义

使用 \ , 或者 r'' 、 r"" 将指定字符串默认不转义

字符串换行

使用'''

字符编码

  • 获取字符的整数表示

    ord()

  • 把整数编码转换为对应字符

     chr()

  • 用十六进制的方式表示字符的整数编码

     '\十六进制编码'

  • 将字符从str转为bytes,这样每个字符仅占用一个字节,便于传输。

    b'ABC'

  • 将str编码为指定字符集的bytes

    'ABC'.encode('ascii')

  • 将bytes转为str

    b'ABC'.decode('ascii')
  

如果bytes中包含无法解码的字节,会报错,忽略小部分错误可以使用 b'ABC'.decode('ascii'.errors='ignore')

  • 获取长度、获取str包含多少字符、获取bytes包含多少字节

     len()
      len('ABC')
      len(b'ABC')

字符串格式化

占位符

  • 整数      %d
  • 浮点数   %f
  • 字符串   %s
  • 十六进制     %x

有几个占位符, 后面就跟几个变量、值
 
 format()函数
  {0},{1},{2}…… .format('a','b','c'……)

list

形式为['a',2,True,None……]

  • 获取元素个数

     len(list_name)
      len(['a','b'……])

  • 通过索引获取元素

    list_name[0] #第一个元素索引位为0
      list_name[-1] #获取最后一个元素
  

索引超出范围时会报错,为避免报错,可以结合是同len() - 1 的方式来标记索引范围

  • 向list中追加元素

    •    追加到list末尾

        list_name.append()

    •    追加到指定位置 , 如超出元素个数,则插入到最末尾

          list_name.insert(x,'')

  • 向list中删除元素

     list_name.pop()

  • 删除指定索引位置的元素

    list_name.pop(x)

  • 替换某个元素,可以直接赋值给对应索引位

     list_name[2]='new_values'

  • list可以作为元素被别的list包含

    取嵌套list的元素时,使用多层索引,如:
         lo = [1,2,3,['a','b','c'],4,5]
       如需取 a 值,  则使用 lo[3][0]

  • 如果一个list中没有元素,则长度为0

tuple

形式为('a',2,True,None……) ,和list几乎一样

  • tuple初始化后不可以修改,所以不支持append、insert、pop
  • tuple可以定义为空
  • 如果tuple中只包含一个元素, 在定义的时候要在元素后加逗号,如:

       t0 = ('a',) ,以避免与数学运算的小括号混淆。

  • 虽然tuple不可以修改,但是当tuple包含list时,list的内容是可以修改的。因此,要保证tuple中一个内容都不变,就要保证每一个元素都不可改变。

条件判断

形式为
  if x:
   active1
  elif y:
   active2
  else :
   active3
 判断行为用冒号,后续跟随的动作要缩进以代表判断后要执行的部分。

循环

for...in...循环

形式为
   for x in y:
    active

while 循环

形式为
   while 条件:
    active

批量生成整数序列

range(n) #从0开始生成到n-1的序列,如果n小于0则为空

退出循环

break

跳过本次循环

continue


 不要滥用break和continue ,尽可能少用,尽可能用循环逻辑去代替break和continue
 

dict

  1. key-value存储,一个key只能对应一个value,后出现的key值会覆盖之前相同key的值.
  2. key要用不可变对象,所以key不能用list。
  3. dict是使用内存空间换取运行时间的方法,占用内存多于list,但是查找和插入速度极快。

形式为 {'key1':value1, key2:value2 ,…… }
 调用时为 dict_name[keyx]
 key的存放顺序与录入顺序无关。

  • 调用时如果key不存在会报错,可以通过in来判断key是否存在

     'abc' in dict_name

  • 使用get()获取key对应的value,如果不存在,返回None

     dict_name.get(keyx)

  • 如果不存在,也可以返回定义值

     dict_name.get(keyx , VALUE)

从dict中删除

    pop(keyx)

     如果不指定key ,会报错。

set

  • 和dict类似,也是一组key的集合,但是不包含value。
  • 由于key不能重复,所以set中没有重复值
  • set内的list中的元素顺序并不表示set中的顺序,因此,set中的元素也是无序的。

创建set需要一个list。
  s0 = set( [1,2,3,4,5] )
 or
  list1 = [1,2,3,4,5]
  s1 = set( list1 )

  • 添加元素到set中

     s0.add()
  添加到set中的元素不支持可变对象,因此list不能作为元素添加到set中

  • 从set中删除元素

    s.remove()
  一次只能remove一个元素。
不可变对象 使用replace()函数对不可变对象值进行替换后,实际上原对象的值并没有变化,用print()函数对原对象进行输出既可以看出。
所以,对于不可变对象来说,调用对象的任意方法都不会改变对该对象自身的内容,仅仅会创建新的对象并返回,这样就保证了不可变对象本身是永远不可变的。

Python 学习笔记 之 01 - 基础总结的更多相关文章

  1. Python学习笔记 :01概述

    Python基础 首先推荐学习Python基础的教程和书籍 视频教程推荐南京大学张莉老师在cousera上的教程用Python玩转数据 入门教程<Python基础教程> 数据挖掘教程< ...

  2. Python学习笔记一(基础信息)

    目录 输入输出 数据类型和变量 整数 浮点数 字符串 布尔值 空值 变量 常量 小结 欢迎关注我的博客我在马路边 说明:此笔记不是从零开始,在学习的过程中感觉需要记录一些比较重要和需要重复浏览的信息, ...

  3. Python学习笔记(01)

    参考书:<Python编程:从入门到实践> 还有其他 Chapter01 print print(a,b,sep="|") sep规定输出间的间隔 print(“Pyt ...

  4. 吴裕雄--python学习笔记:爬虫基础

    一.什么是爬虫 爬虫:一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息. 二.Python爬虫架构 Python 爬虫架构主要由五个部分组成,分别是调度器.URL管理器.网页下载器.网 ...

  5. Python学习笔记1(基础语法)

    1.Python的文件类型: 源代码:扩展名以py结尾.python写的程序不需要编译成二进制代码,可以直接运行.pyw是Windows下开发图形界面的源文件. 字节代码:扩展名以pyc结尾,是编译过 ...

  6. Python学习笔记 chapter 2基础

    程序输入 >>> print('%s is number %d'%('Python', 1))Python is number 1 输出重定向有问题(待定) 文本输入>> ...

  7. 【Python学习笔记一】基础环境安装:idea+python

    IDEA 安装 1.下载IDEA   官网下载地址: https://www.jetbrains.com/idea/ 2.安装的时候配置基本选择默认配置就行 参考链接:https://blog.csd ...

  8. Python学习笔记1:基础

    1.编码 默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串. 你也可以为源文件指定不同的字符编码.在 #! 行(首行)后插入至少一行特殊的注释行来定义 ...

  9. python学习笔记——多进程一 基础概念

    1 进程 进程:程序的一次(从开始到结束)执行过程,属于一个动态过程.是系统进行资源分配和调度的基本单位. 程序:指的是一个文件,磁盘中可执行的代码.属于一个静态文件 注:进程运行时需要把程序加载如内 ...

随机推荐

  1. 使用进程池模拟多进程爬取url获取数据,使用进程绑定的回调函数去处理数据

    1 # 使用requests请求网页,爬取网页的内容 2 3 # 模拟使用进程池模拟多进程爬取网页获取数据,使用进程绑定的回调函数去处理数据 4 5 import requests 6 from mu ...

  2. css子选择器 :frist-child :nth-child(n) :nth-of-type(n) ::select选择器

    记录一下前一段时间使用.学习的几种选择器. 1. :frist-child 选择器n 比如<ul><li></li> <li></li> & ...

  3. springboot中aop的使用

    Spring AOP(Aspect Oriented Programming),即面向切面编程,是OOP(Object Oriented Programming,面向对象编程)的补充和完善. OOP引 ...

  4. TCP的ACK机制

    下面是整个的tcp的三次握手和四次挥手的协议 TCP四次挥手 在客户端先发送一个FIN的包,表示要close(),客户端想和连接断开,发完之后出于FIN_WAIT_1状态下:服务端收到之后就变成CLO ...

  5. CorelDRAW常用工具之涂抹工具

    CDR作为绘图软件或者说平面设计软件使用频繁的功能之一,就是为绘制好的图片进行涂抹混色. 1.基本操作 CorelDRAW平面设计软件的涂抹工具是在形状工具组里的,打开左侧工具栏"形状&qu ...

  6. 在CorelDRAW中为对象添加块阴影效果

    我们可以使用CorelDRAW来绘制矢量图形,在勾画出简单的图形后,往往还需要对它们进行一些或简单或复杂的处理,以增加一定的艺术效果.CDR中可供选择的效果有很多,作用的对象可以是文字,也可以是图案. ...

  7. python批量爬取猫咪图片

    不多说直接上代码 首先需要安装需要的库,安装命令如下 pip install BeautifulSoup pip install requests pip install urllib pip ins ...

  8. J2EE基本概念

    XO POJO:Plain Ordinary Java Object,简单java对象 PO:Persistant Object,持久层对象(对应数据库中一条记录) BO:Business Objec ...

  9. json套娃其实是这样套的!

  10. Day 1-决胜IT十八招-前言

    走资讯这一行转眼间八年多了,从大学的时候,我有长达十年的时间思索在从事软体开發这一行到底怎麽存活下来,这思考下来,为自己总算找到一个出口来,这十八招只是其一的绝学,见阵这一行干软体开發的变化也很大,从 ...