本篇文章主要内容:变量、注释、运算符、关键字、数据类型

在入手变量之前我们先来看看经典的编程语句 → hello world

在python3中输出到控制台的函数是print()

print("hello world") 

一、变量

1.1 语法

变量名 = 变量值
注:每一个变量在使用之前都必须赋值

1.2 示例

 a = 20
 b = "可乐" 

1.3 本质

在 a = 20 中,python解释器一共进行了两步操作:
① 在内存中开辟一片内存地址用来存放数据 20;
② 在内存中创建一个一个变量名为a的对象,并把它指向了数据 20。

如图:
在这里插入图片描述

  • 在python中变量是内存地址的别名,也就是说a就代表了0x1002,python没有指针;
  • 变量a所标示的内存空间存储数据20所在内存地址的过程称为引用

二、注释

2.1 语法

单行注释:以 开头
多行注释:用三个单引号 ''' 或者三个双引号 """ 将注释括起来
注:python解释器不会执行被注释的代码块

2.2 示例

 # 这是一个单行注释
 '''
 这是用三个单引号的多行注释
 这是用三个单引号的多行注释
 这是用三个单引号的多行注释
 '''
 """
 这是用三个双引号的多行注释
 这是用三个双引号的多行注释
 这是用三个双引号的多行注释
 """ 

三、运算符

运算符包括以下内容:

  • 算数运算符
  • 比较运算符
  • 赋值运算符
  • 逻辑运算符
  • 身份运算符
  • 成员运算符

3.1 算数运算符

前提:a = 20 ; b = 10

运算符 描述 示例
+ 加法 a+b 输出 30
- 减法 a-b 输出 10
* 乘法 a*b 输出 200
/ 除法 a/b 输出 2
% 取模(返回除法的余数) a%b 输出 0
** a**b 输出 20的10次方
// 取整(向下取整) a//b 输出 2

3.2 比较运算符

前提:a = 20 ; b = 10

运算符 描述 示例
== 等于(比较两个数是否相等) a==b 输出 False
!= 不等于(比较两个数是否不等) a!=b 输出 True
> 大于 a>b 输出 True
< 小于 a 输出 False
>= 大于等于 a>=b 输出 False
<= 小于等于 a<=b 输出 False

3.3 赋值运算符

前提:a = 20 ; b = 10

运算符 描述 示例
= 赋值 a=b 将b赋值给a
+= 加等于 a+=b 等效 a = a + b
-= 减等于 a-=b 等效 a = a - b
*= 乘等于 a*=b 等效 a = a * b
/= 除等于 a/=b 等效 a = a / b
%= 模等于 a%=b 等效 a = a % b
**= 幂等于 a**=b 等效 a = a ** b
//= 取整等于 a//=b 等效 a = a // b

3.4 逻辑运算符

前提:a = True ; b = False

运算符 描述 示例
and 两者都为true,才是True a and b 输出 False
or 两者其中一个为True,就是True a or b 输出 True
not 值的反义 not a 输出 False

3.5 身份运算符

前提:a = True ; b = False

运算符 描述 示例
is 判断两者的内存地址是否一样 a is b 输出 False
is not 判断两者的内存地址是否不一样 a is not b 输出 True

3.6 成员运算符

前提:a = "可" ; b = "可乐"

运算符 描述 示例
in 判断值是否在序列中 a in b 输出 True
not in 判断值是否不在序列中 a not in b 输出 False

3.7 运算符优先级

从高到低

运算符 描述
** 指数 (最高优先级)
* / % // 乘,除,取模和取整除
+ - 加法减法
<= < > >= 比较运算符
== != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not and or 逻辑运算符

四、关键字

关键字指的是被python内置默认的一些变量名,由于他有特殊的含义,所以我们在定义变量的时候,不能使用关键字作为变量名,python中一共33个关键字,后面绝大部分都会用到。

and as assert break class
continue def del elif else
except finally for from False
global if import in is
lambda nonlocal not None or
pass raise return try True
while with yield

五、数据类型

通过type()函数来知晓数据的类型,或者通过isinstance()来判断数据的类型。

5.1 字符串(String)

5.1.1 语法

单引号双引号多引号括起来。

5.1.2 示例

a = '可乐'
b = "可乐"
c = """可乐""" 

5.2 数字型(Number)

整型浮点型都是属于数字型。

5.2.1 语法

整型:a = 10
浮点型:b = 1.1

5.2.2 示例

a = 10  --> 整型
b = 1.1  --> 浮点型
print(type(a))  --> True
print(type(b))  --> False 

5.3 布尔型(Bool)

Bool型其实也是数字型的一种,在这里可乐单独拿出来。

5.3.1 语法

Bool型有两个关键字:
① True (真)
② False(假)

5.3.2 示例

a = True
b = False 

5.4 列表(List)

列表是有序的。

5.4.1 语法

列表用方括号逗号隔开来表示。

5.4.2 示例

a = [2,3,4,5,6]
b = [1] 

5.4.3 列表索引

如图:
在这里插入图片描述
在python中索引会有正序索引负序索引正序索引是从0开始的,负序索引是从-1开始的,例如列表a中数值2所对应的正序索引是0,负序索引是-4。

5.5 元组(Tuple)

元组是有序的。

5.5.1 语法

元组用小括号逗号隔开来表示。
注:如果元组只有一个值,那么一定要用" ,"结尾 !!!

5.5.2 示例

a = (2,3,4,5,6)
b = (1,) 

5.5.3 元组索引

如图:
在这里插入图片描述
元组和列表的索引表示方式是一样的。

5.6 字典(Dict)

字典是无序的。

5.6.1 语法

① 字典用大括号的键值对表示,每个键值对之间用逗号分开,键是唯一的(否则后面的会覆盖前面的),值可以不唯一。
② 键必须是不可变类型,值可以取任何类型。

5.6.2 示例

a = { "name": "可乐", "age": 18 }
b = { "name": "kele是可乐呀" } 

字典是无序的,所以没有索引的概念。

5.7 集合(Set)

集合Set是无序的不重复的数据类型。

5.7.1 语法

大括号或者set()创建,但是没有键值对的概念。
注:如果创建一个空集合用set()创建,{}表示创建一个字典

5.7.2 示例

a = { "可乐", 18 }
b = set() 

集合是无序的,所以没有索引的概念。

5.8 说明

  • 可变类型:包含列表字典
    本质:改变原变量的值,不会改变原有的内存地址。
  • 不可变类型字符串数字元组
    本质:改变原变量的值,改变原有的内存地址。

到此我们在本篇当中就已经学习了python当中的变量、注释、运算符、关键字以及数据类型。下一篇可乐将和大家一起来看看数据类型的常用方法,条件语句和循环语句

在结尾呢,可乐给大家准备了一个思考题用来巩固本篇的内容:

定义一个字典a,有两个键值对:一个键值对key是可乐,value是18;另一个键值对key是python,value是列表形式的1,2,3,4,5。

在下一篇中可乐会留下答案。

< END>


标签:

Python基础(上篇)的更多相关文章

  1. python日志通过不同的等级打印不同的颜色(示例代码)

    1,不用第三方库# coding: utf-8import loggingBLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE = range(8)RESET_SEQ = "\033[0m"COLOR_SEQ = "......

  2. 将不规则的Python多维数组拉平到一维的方法实现

    原始需求:例如有一个列表:l = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]希望把它转换成下面这种形式:[1, 2, 3, 4, 5, 6, 7, 8, 9]其实这个非常简单,我将分享三个一行式代码来解决这个问题。但如果是下面这种不规则的多维列表:l = [[1, 2], [......

  3. 用Python自动清理电脑内重复文件,只要10行代码(自动脚本)

    给定一个文件夹,使用Python检查给定文件夹下有无文件重复,若存在重复则删除主要涉及的知识点有:os模块综合应用glob模块综合应用利用filecmp模块比较两个文件步骤分析该程序实现的逻辑可以具化为:遍历获取给定文件夹下的所有文件,然后通过嵌套循环两两比较文件是否相同,如果相同则删除后者。实现问......

  4. 用python写个博客迁移工具

    前言最近不少写博客的朋友跟我反馈博客园的一些文章下架了,这让我联想到去年简书一样,我之前写的博客都被下架不可见了。我最开始接触的博客网址是 csdn、思否、简书还有博客园等,但是后期发现,单论博客的生态感觉做的越来越不行,干货虽然很多,但是垃圾、标题党很严重,我自己也有一些博文被莫名的搬走直接标为原......

  5. Python字符串对齐、删除字符串不需要的内容以及格式化打印字符

    删除字符串中不需要的内容1、strip()方法strip:默认是去掉首尾的空白字符,但是也可以指定其他字符;lstrip:只去掉左边的;rstrip:只去掉右边的;print('+++apple '.strip()) # '+++apple'print('+++apple '.lstrip('+')......

  6. Python基础篇

    一、准备工作1、安装Python(注意选择一个稳定的版本,方便学习和使用)Python官网:https://www.python.org/2、安装一个anacondaanaconda官网:https://www.anaconda.com/安装完成之后在cmd里面输入conda -V检测,如果出现版本......

  7. 分别使用 Python 和 Math.Net 调用优化算法

    1. Rosenbrock 函数在数学最优化中,Rosenbrock 函数是一个用来测试最优化算法性能的非凸函数,由Howard Harry Rosenbrock 在 1960 年提出 。也称为 Rosenbrock 山谷或 Rosenbrock 香蕉函数,也简称为香蕉函数。Rosenbrock ......

  8. Pytorch BertModel的使用说明

    基本介绍环境: Python 3.5+, Pytorch 0.4.1/1.0.0安装:pip install pytorch-pretrained-bert必需参数:--data_dir: "str": 数据根目录.目录下放着,train.xxx/dev.xxx/test.xxx......

  9. 用OpenCV进行年龄和性别检测的实现示例

    本文主要介绍了用OpenCV进行年龄和性别检测的实现示例,分享给大家,具体如下:在本文中,我将带您完成用 Python 进行机器学习的年龄和性别检测的任务。年龄和性别检测属于计算机视觉的范畴,因此我将在Python中使用OpenCV库。在开始使用Python进行年龄和性别检测任务之前,我将首先带您了......

  10. 复杂的数据类型

    目录一、列表 1.列表介绍 2.列表读取 读取单个元素 读取列表的一部分 3.列表的修改 4.其他常用操作列表的函数 二、字典 1.字典的介绍 2.字典的读取 3.字典的元素增减 一、列表1.列表介绍列表,数据类型为list,可以存储多个不同种类的元素,其中,字符串元素需要加引号,且元素间要用逗号隔......

随机推荐

  1. java获取项目地址或tomcat绝对地址

    在java项目中获取文件的路径,不管是相对路径还是绝对路径,其本质都是通过绝对路径去寻找。 获取项目地址 request.getSession().getServletContext().getRealPath("/"); 获取tomcat的webapps地址 System.ge......

  2. Python 元类

    本文通过Python实现单例模式一步步理解元类。印象中,是在创建单例模式时知道可以用到元类(metaclass),但始终对其了解的不是很透彻,很多人也都说元类是Python中较难理解的概念之一,于是找来几本书,希望可以找到答案,本文以Python3为例。本文参考:《人人都懂设计模式》《Python ......

  3. python中用ggplot绘制画图实例讲解

    Python的绘图库也允许用户创建优雅的图形,本章给大家介绍的是关于ggplot绘制画图的技巧,ggplot2建立在grid系统上,这个系统不支持纹理。需要额外创建一堆数据,再基于这些数据构建一个geom_path图层,盖在柱图上才可以进行各种绘制,下面给大家详细讲解下怎么使用ggplot绘图。简介......

  4. 深入理解nodejs的HTTP处理流程

    目录简介使用nodejs创建HTTP服务解构request处理Request Body处理异常解构response简介我们已经知道如何使用nodejs搭建一个HTTP服务,今天我们会详细的介绍nodejs中的HTTP处理流程,从而对nodejs的HTTP进行深入的理解。使用nodejs创建HTTP服......

  5. Java中EasyPoi导出复杂合并单元格的方法

    前言:上星期做了一个Excel的单元格合并,用的是EasyPoi,我之前合并单元格都是原生的,第一次使用EasyPoi合并也不太熟悉,看着网上自己套用,使用后发现比原生的方便些,贡献一下,也给其他用到合并而且用的是EasyPoi的小伙伴节省下时间。导出模板:坐标:版本号,自己来定,可以去官网查看:E......

  6. java中i = i++和i =++i的深入讲解

    public class Count {public static void main(String[] args) {int i = 0;i = i++ ;System.out.println(i);}}上面代码输出的i为0,如果是把i = i++换成i=++i,又会输出1,这是由于i++是先赋值......

  7. Neo4j 导入 Nebula Graph 的实践总结

    主要介绍如何通过官方 ETL 工具 Exchange 将业务线上数据从 Neo4j 直接导入到 Nebula Graph 以及在导入过程中遇到的问题和优化方法。摘要: 主要介绍如何通过官方 ETL 工具 Exchange 将业务线上数据从 Neo4j 直接导入到 Nebula Graph 以及在导入......

  8. Python基础(上篇)

    本篇文章主要内容:变量、注释、运算符、关键字、数据类型。本篇文章主要内容:变量、注释、运算符、关键字、数据类型。在入手变量之前我们先来看看经典的编程语句 → hello world 在python3中输出到控制台的函数是print()print("hello world") 一、......

  9. Python实现京东抢秒杀功能

    京东购物车抢购商品1.Python的下载和安装这里由于我们代码是基于Python来执行的所以我们这里需要2个东西:一个是Python本身,另一个是pycharm,只需要这两个哦!!!网上有很多教程,所以我在这里就不一一赘述了2.系统环境,模块的配置安装好Python,请移步我的另一篇博客,根据前面的......

  10. Java中Jackson快速入门

    Java生态圈中有很多处理JSON和XML格式化的类库,Jackson是其中比较著名的一个。虽然JDK自带了XML处理类库,但是相对来说比较低级,使用本文介绍的Jackson等高级类库处理起来会方便很多。引入类库由于Jackson相关类库按照功能分为几个相对独立的,所以需要同时引入多个类库,为了方便......