一、数据类型

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

 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. 表示多行字符串;
    1. """hello world\nhello world\nhello world"""
    2. 'hello world\nhello world\nhello world'
    3.  
    4. print("""hello world\nhello world\nhello world""")
    5. hello world
    6. hello world
    7. hello world

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

  2. 单引号字符串输入时也可以换行,在换行处加 “\”;
  • 转义字符
  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. 有序的,若元素数据是值类型,不可修改,若元素类型是引用类型,可以修改;
    1. a = (1, 2, 3, [1, 2, 3])
    2. a[3][0] = ''
    3. 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:引用类型,可以改变;
    1. a = 1
    2. b = a
    3. a = 3
    4. print(b) #
    5.  
    6. a = [1, 2, 3]
    7. b = a
    8. a[0] = ''
    9. 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 进行比较运算时,以其中元素逐个进行比较,直到出现结果为止;
    1. 'abcd' > 'adef'
    2. # 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 值确定的:
    1. a = {'c':1}
    2. b = 1
    3. b in a # False
    4.  
    5. b = 'c'
    6. b in a # True
  10. is 和 == 的区别:== 比较的是两个数据的值是否相等,is 比较的是两个数据的身份是否相等(或者理解为:is 是比较两个变量的内存地址是否相等);
    1. a = 1
    2. b = 1.0
    3. a == b # True
    4. a is b # False
    1. a = {1, 2, 3}
    2. b = {3, 2, 1}
    3. a == b # True
    4. a is b # False --此处的 a 和 b 变量不是指向同一个内存地址
  11. 类型判断:isinstance、==;(一般不用 == 进行判断)
    1. a = 'abc'
    2. type(a) == str # True
    3. isinstance(a, str) # True
    4. isinstance(a,(int, float, str)) # True--只要 a 是 (int, float, str) 中的一种类型,返回True;
  • 位运算都是把数据当做二进制数进行运算:
  1. &:按位与;对应为都为 1 时返回 1,否则返回 0;

    1. a = 2
    2. b = 3
    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:跳出本次条件的循环,其它条件正常进行;
    1. a = list(range(0, 10))
    2. b = a[0:len(a):2]
    3. 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. ubuntu容器化开发系统配置 相关下载地址(laravel)

    ubuntu64位 18.04(开发使用桌面版本) Nginx PHP7.3 开发工具:PHPStorm 其他技术栈:laravel.VUE.NodeJs https://laravel.com/ h ...

  2. 出现:Microsoft Visual C++ 14.0 is required 的解决方案

    以安装pandas为例: 如:pip install scrapy 时出现: error: Microsoft Visual C++ 14.0 is required. Get it with “Mi ...

  3. Android Studio 之 ROM【2】, LiveData+ViewModel+AsyncTask+Repository

    改造上一节 ROM[1], 1.利用 LiveData<List<Word>> 与 observe 中的 onChanged 配合,删除掉之前的textView更新函数(upd ...

  4. Oracle_其他人连接不上自己电脑

    1. 修改文件G:\app\eric\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora文件,listener中的address中加一个你的ip开头的 ...

  5. 提取文件中的每一个mask,并将mask命名为文件名字

    import cv2 as cv import random import glob import os from PIL import Image import shutil def get_sam ...

  6. 《Linux就该这么学》培训笔记_ch05_用户身份与文件权限

    <Linux就该这么学>培训笔记_ch05_用户身份与文件权限 文章最后会post上书本的笔记照片. 文章主要内容: 用户身份与能力 文件权限与归属 文件的特殊权限 文件的隐藏属性 文件访 ...

  7. PyInstaller把Python脚本打包成可执行程序教程

    一.说明 一直以来都有把.py文件打包成.exe文件的想法,但总是不够强烈,每次拖着拖着就淡忘了. 昨天帮硬件部门的同事写了个脚本,然后今天下午的时候,他问有没有办法把脚本打包成可执行文件,这样方便以 ...

  8. 第二节:EF Core的常规“增删改”及状态的变化

    一. 整体说明 1. 本节用到的表 2. 状态说明补充 ①.Detached: 游离的状态,与数据库没有什么交涉,比如新new一个实体,状态就是Detached. ②.Added: 增加的状态. ③. ...

  9. HUT 排序训练赛 G - Clock

    Clock Time Limit: 1000MS   Memory Limit: 32768KB   64bit IO Format: %I64d & %I64u [Submit]   [Go ...

  10. 责任链(ChainOfResponsibility)模式

    在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链.请求在这个链上传递,直到链上的某一个对象决定处理此请求.发出请求的客户端并不知道链上的哪一个对象,这使得系统可以在不影响客户端的 ...