一、数据类型

  • 对象的三大特征:值、身份、类型;

 1)数字 Number

  • 整型、浮点型
  1. 只有 int 和 float 两种类型;
  2. type(2/2):float 类型;2/2 == 1.0;
  3. type(2//2):int 类型;2//2 == 1;
  4. //:整除;
  • 进制
  1. 2/8/16 进制数表示,前缀:ob、0o、0x;
  2. 十进制数没有前缀;
  3. 十六进制,A、B、C、D、E、F:分别表示10,11,12,13,14,15;
  4. bin():将任意进制的数转换成二进制数;
  5. int():将任意进制的数转换成十进制数;
  6. oct():将任意进制的数转换成八进制数;
  7. hex():将任意进制的数转换成十六进制数;
  • 布尔类型
  1. bool():将其它数据类型转换成布尔类型;
  2. 所有非零的数值,转换成布尔类型都是 True;只有空数据、0 和 None( 0、‘’、[]、{}、()、None) 转换成布尔类型是 False;
  3. 布尔类型可以直接参与运算:a = 1 + True;int(True) == 1;
  • 复数 compler:数字后缀 j (如 10j);

 2)序列

  • 字符串 str
  • 单引号与双引号
  1. 相同的引号表示字符串的时候必须成对出现;如果引号作为字符出现,不能与表示字符串的引号相同,如:'let's go';可用转义字符代替:'let\'s go';
  2. 但可以 'let"s go'、"let's go":
  • 三引号
  1. 表示多行字符串;
  2. """hello world\nhello world\nhello world"""
    'hello world\nhello world\nhello world' print("""hello world\nhello world\nhello world""")
    hello world
    hello world
    hello world

    # 关于专业字符 “\n” 的识别;

  3. 单引号字符串输入时也可以换行,在换行处加 “\”;
  • 转义字符
  1. 特殊的字符;
  2. 一般表示无法“看见的字符”、与 python 语法有冲突的字符;
  3. \n:换行; \r:回车;两者不同;
  4. 将转义字符变为非转义字符,一般将 “\” 转义为 “\\”;
  • 原始字符串
  1. 在普通字符串前加 “r”,普通字符串中的所有转义字符都被当做两个普通字符看待;
  • 字符串运算
  1. 字符串 + 字符串:'hello' +  'world' ——'hello world';
  2. 字符串 * 数字:'hello' * 3 —— 'hello hello hello';
  3. 字符串[字符序号]:切去字符串中的某一字符:'hello'[0] == 'h'、'hello'[-1] == 'o';
  4. 'hello'[o:4] == 'hell'、'hello'[1:5] == 'ello'、'hello'[1:10] == 'ello'、'hello'[1:] == 'ello'、'hello'[:-1] == 'hell';
  5. 不能 字符串 * 字符串;
  • 列表 list
  1. 列表中的每一个元素都可以是任意的数据:['hello', 1, [1,2], True, (1,2), {0}];
  2. 列表中元素的访问方式与字符串操作一样;
  3. 列表运算与字符串操作一样,但没有减法操作;
  4. 有序的,元素内容可更改;
  5. type([1]) —— list;
  • 元组 tuple
  1. 元组中的元素是有序的:(1, 2, 3) != (3, 2, 1);
  2. 当元组中只有一个元素时,类型是元素本身:type((1)) —— int、type(('hello')) —— str;因为数据的运算优先级高于类型的优先级,如:(1 +1 ) * 2 == 4;但是 type(()) —— tuple,空的元组;
  3. 定义只有一个元素的元组:(1, );
  4. 有序的,若元素数据是值类型,不可修改,若元素类型是引用类型,可以修改;
    a = (1, 2, 3, [1, 2, 3])
    a[3][0] = ''
    print(a) # (1, 2, 3, ['1', 2, 3])
  • 判断序列中是否含有某个元素
  1. in:某个元素在序列中;
  2. not in:某个元素不在序列中;
  3. 3 in [1, 2, 3, 4, 5] —— True;
  4. 6 in [1, 2, 3, 4, 5] —— False;
  5. 3 not in [1, 2, 3, 4, 5] —— False;
  6. 6 not in [1, 2, 3, 4, 5] —— True;
  • len():返回序列元素个数;
  • max():返回最大元素;
  • min():返回最小元素;
  • ord():将字符转换为十进制数;ord('d') —— 100;
  • 空格符 == 32;

 3)集合 set

  • 集合是无序的,不能引索和切片操作;
  • 一般访问集合中的元素就是通过判断该元素是否存在该集合中来实现;
  • 集合中的元素是不重复的,没有相同的元素;
  1. 差集:{1, 2, 3, 4, 5} - {3, 4} == {1, 2, 5};
  2. 交集:{1, 2, 3, 4, 5} & {3, 4} == {3, 4};
  3. 并集:{1, 2, 3, 4, 5} | {3, 4, 5, 6, 7} == {1, 2, 3, 4, 5, 6, 7};
  4. type({}) —— dict;
  5. 定义空集合:set();type(set()) —— set;

 4)字典 dict

  • 格式:{key1:value1, key2:value2},通过 key 找到 value 数据;
  • 字典是无序的,不能引索和切片;
  • 字典中不能有相同的 key;
  • 通过 key 访问 value 数据:dict[key1, key2];
  • key 的类型必须是不可变的,如 Number、str、set,但不能是 list;
  • value 的内容可以是任意数据;
  • {}:表示空的字典;

 5)总结

二、变量与运算符

 1)变量名

  • 一般用很简单简洁的英文单词表示变量:three_leaf_grass;
  1. 组成变量名的字符只能是 字母、数字、下划线,且首字符不能是数字;
  2. 变量名不能与系统保留关键字一样;
  3. 组成变量名的字符区分大小写;

 2)值类型、引用类型

  • int、str、tuple:值类型,是不可变的;(如:'hello'[0] = 'w',是不可操作的)
  • list、set、dict:引用类型,可以改变;
  • a = 1
    b = a
    a = 3
    print(b) # a = [1, 2, 3]
    b = a
    a[0] = ''
    print(b) # ['1', 2, 3]
  • id():返回数据的内存地址;
  • 当 a = 3 时,内存中又多出了一个数据 3 ;而不是将原来的数据 1 更改为 3 ;

 3)运算符

  • 算术运算符、赋值运算符、比较(关系)运算符、逻辑运算符、成员运算符(in、not in)、身份运算符(is、is not)、位运算符;
  1. 赋值运算符:先运算,后赋值(c += 1,等效于 c = c + 1);
  2. str、list、tuple 进行比较运算时,以其中元素逐个进行比较,直到出现结果为止;
    'abcd' > 'adef'
    # False
  3. 逻辑运算只操作布尔类型,返回的也是布尔类型;
  4. 'a' and 'b' —— ‘b’、1 and 2 —— 2、1 or 2 —— 1、[] or [1, 2] —— [1, 2];
  5. 1 and 2,返回 2:跟计算机的解析顺序有关,当计算机读取到 2 时判断出了结果,就直接返回当前解析出的数据;
  6. 1 or 2,返回 1:当计算机解析到第一个数据 1 时就已经判断出结果,就直接返回当前解析出的数据 1;
  7. 非布尔类型的数据进行逻辑运算时,系统会对数据进行转换:非空非数字0为 True、0和空数据为 False;
  8. not '0' —— False;
  9. 字典的成员运算是针对 key 值确定的:
    a = {'c':1}
    b = 1
    b in a # False b = 'c'
    b in a # True
  10. is 和 == 的区别:== 比较的是两个数据的值是否相等,is 比较的是两个数据的身份是否相等(或者理解为:is 是比较两个变量的内存地址是否相等);
    a = 1
    b = 1.0
    a == b # True
    a is b # False
    a = {1, 2, 3}
    b = {3, 2, 1}
    a == b # True
    a is b # False --此处的 a 和 b 变量不是指向同一个内存地址
  11. 类型判断:isinstance、==;(一般不用 == 进行判断)
    a = 'abc'
    type(a) == str # True
    isinstance(a, str) # True
    isinstance(a,(int, float, str)) # True--只要 a 是 (int, float, str) 中的一种类型,返回True;
  • 位运算都是把数据当做二进制数进行运算:
  1. &:按位与;对应为都为 1 时返回 1,否则返回 0;

    a = 2
    b = 3
    a & b #

  • 对象的三大特征(value、is、type)进行判断,分别用:==、is、isinstance;

三、表达式

  • 运算符(operator)和操作数(operand)所构成的序列;

四、流程控制语句

  • 条件控制(if  else)、循环控制(for)、分支(while);
  • input() 函数得到的是 str 类型;
  • while:多用于递归;
  • for:多用于遍历;
  • print(x),默认换行打印;print(x, end=''),不换行打印;
  • break:强行跳出当前(内部循环,不包括外部循环)所有循环;
  • continue:跳出本次条件的循环,其它条件正常进行;
  • a = list(range(0, 10))
    b = a[0:len(a):2]
    print(b) # [0, 2, 4, 6, 8]

五、包、模块、类

  • 导入
  • import 只能导入模块,不能导入变量;

Python:基础复习的更多相关文章

  1. python基础复习

    复习-基础 一.review-base 其他语言吗和python的对比 c vs Python c语言是python的底层实现,解释器就是由python编写的. c语言开发的程序执行效率高,开发现率低 ...

  2. Python基础复习面向对象篇

    目录 类与对象的概念 实例方法 实例变量 初始化方法 析构方法 常用内置方法 继承 类方法与静态方法 动态扩展类与实例 @property装饰器 概述 面向对象是当前流行的程序设计方法,其以人类习惯的 ...

  3. Python基础复习_Unit one

    一. 编译&&安装Python2.7     1.安装python第三方模块管理工具 easy_install --->> easy_install-2.7 pip Ipy ...

  4. python基础复习-1-2 数据类型-str、list、tuple、dict

    数据类型 数字 引号: 123 数值 '123' 字符串 整数:ini long 范围:(-2**31 - 2**31) num = 123 长整型 long (L) num = 123L 浮点型:f ...

  5. python基础复习-1-1文件类型、变量、运算符、表达式

    文件类型: .py python源文件 由python解释器执行 .pyc python源码编译后生成的文件(字节代码) 编译方法: 源码文件中使用py_compile模块 import py_com ...

  6. python 基础复习

    1.简述cpu.内存.硬盘的作用 cpu (1)cpu:处理逻辑运算.算术运算 (2)cpu:接受指令传给电脑硬件,让其运行 内存: (1)内存:从硬盘中读取数据,供其cpu调取指令运行,短暂的存贮数 ...

  7. Python基础复习函数篇

    目录 1.猴子补丁2. global和nonlocal关键字3.迭代器和生成器4.递归函数5.高阶函数和lamdba函数6.闭包7.装饰器 1.   猴子补丁 猴子补丁主要用于在不修改已有代码情况下修 ...

  8. python 基础部分重点复习整理--从意识那天开始进阶--已结

    pythonic 风格编码 入门python好博客 进阶大纲 有趣的灵魂 老齐的教程 老齐还整理了很多精华 听说 fluent python + pro python 这两本书还不错! 元组三种遍历, ...

  9. python基础班-淘宝-目录.txt

    卷 TOSHIBA EXT 的文件夹 PATH 列表卷序列号为 AE86-8E8DF:.│ python基础班-淘宝-目录.txt│ ├─1-1 Linux基础│ ├─01-课程简介│ │ 01-课程 ...

  10. 开发技术--浅谈python基础知识

    开发|浅谈python基础知识 最近复习一些基础内容,故将Python的基础进行了总结.注意:这篇文章只列出来我觉得重点,并且需要记忆的知识. 前言 目前所有的文章思想格式都是:知识+情感. 知识:对 ...

随机推荐

  1. NOIP动态规划大合集

    1.前言 NOIP2003-2014动态规划题目大合集,有简单的也有难的(对于我这种动态规划盲当然存在难的),今天就把这些东西归纳一下,做一个比较全面的总结,方便对动态规划有一个更深的理解. 2.NO ...

  2. [GXOI/GZOI2019]与或和(位运算,单调栈)

    题目链接懒得放了. 题目大意懒得写了. 省选原题哪有找不到的…… 说实话,其实这题是个大水题,被我十秒钟内口胡出来了. 首先位运算除了拆位还能干啥?以下以与为例,或是差不多的. 我们考虑有多少个子矩阵 ...

  3. 前端,DJ

    Vue模块 1.Vue都有哪些指令,简单说说? """ Vue里面常见指令有文本指令:v-text.v-html,属性指令:v-bind,方法指令:v-on,条件指令:v ...

  4. Python全栈--目录导航

    这里更新以Python语言作为基础,想要成为全栈工程师需要掌握的技能... Python基础语法 day01 初识Python day02 while循环 运算符和编码 day03 字符串 day04 ...

  5. 剑指offer:机器人的运动范围(回溯法DFS)

    题目描述 地上有一个m行和n列的方格.一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子. 例如,当k为18时,机器人能 ...

  6. 使用dozer将DTO转化为DO

    DTO,就是Data Transfer Object,数据传输对象,可以简单理解成请求中的对象. PO,就是Persistant Object,持久化对象,它跟持久层(通常是关系型数据库)的数据结构形 ...

  7. .NET技术webconfig加密操作

    webconfig 加密 aspnet_regiis.exe -pef secion physical_directory -prov provider    section表示要加密的配置节 phy ...

  8. Python【每日一问】24

    问: [基础题1]: 请解释一下 if __name__ == '__main__' :的作用 [基础题2]:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母. P ...

  9. python提取批量文件内的指定内容

    目标文件夹: 文件内容: 实现代码: # -*- coding:utf-8 -*- # __author__ :kusy # __content__:get ssr info from html fi ...

  10. 计算标准差——Python

    计算标准差 题目描述: 编写一个函数计算一系列数的标准差.‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪ ...