Python小白零基础入门 —— 变量及简单的数据类型

浅梦一笑
• 阅读 2198

最近想着出一个Python小白零基础入门系列的文章,希望能对入门的小伙伴有所帮助,内容会囊括简单的数据类型、列表、字典、循环以及函数的定义,对于一些概念会以图解的方式进行讲解。今天这篇文章就介绍一下Python中的变量以及简单的数据类型,文末还列了一些练手的题目,大家可以边学边练!

一、变量 1、变量是什么 在Python中,变量是用来 储存数据 的,更直白点,变量和我们小学时接触到的数学中的 x 和 y 一样,都是给某个数据 取个名字 ,只是这里的数据不仅仅局限于数字,还可以是文本、数组等。下方的代码块中, a , b , c 都是一个变量,各自储存了 不同类型 的数据。关于具体的数据类型,下面会详细讲。

a = 1 #数字 b = "Python" #文本 c = [1,2,3,4] #数组 2、命名规则 就像中国人和美国人取名都有不同规则一样,在Python中,关于变量的命名也有自己的规则。

变量名只能包含 字母 、 数字 和 下划线 。同时,变量名 不能以数字开头 。如 var_1 和 1 都是正确的写法,但是 1_var 和 1 是错误写法。 变量名 不能包含空格 ,如果需要分割可使用 下划线 分割。如 var_1 ,若写成 var 1 则会报错。 不要将Python 关键词 和 函数名 用作变量名,这一条规则等后期你熟悉Python后便自然而然理解了。 二、简单的数据类型 Python中有许多不同的数据类型,这些数据类型也是为了解决实际的问题而产生的,比如记录一个人的年龄我们需要用到数值型,判断一个人的性别需要用到布尔型(是或否),记录一个人的名字就需要用到字符型(文本)。

刚接触编程语言的人可能对布尔型、字符型这类名词感到很陌生,但说白了这些词只是这类数据在计算机语言中的“名字”,就如中国的 姓名 在英文上是 name ,类比到生活中所熟悉的 文本 在计算机中叫 字符串 。下面会就一些简单的数据类型进行具体的介绍。

数值型 数值型就是咱们平时生活中的数字,在Python中分为两大类,分别是 整型 和 浮点型 。

1、整型(int)

整型就是数学中的 整数 ,如1,100,123,-123

2、浮点型(float)

浮点数就是 小数 ,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的 小数点位置是可变的 ,比如,1.23x10^9和12.3x10^8是完全相等的。浮点数如1.23,3.14,-9.01 等

在Python中,可以对数值型数据执行加(+)减(-)乘( )除(/)以及乘方( *)等运算。

In [25]: a = 2 In [26]: b = 3 In [27]: c = 4.5

In [28]: a + b Out[28]: 5

In [29]: a - b Out[29]: -1

In [30]: a * c Out[30]: 9.0

In [31]: c / b Out[31]: 1.5

In [32]: a ** b Out[32]: 8 布尔型 布尔型变量是有两种 逻辑状态 的变量,它包含两个值:真和假,在Python中表示为 True 和 False 。对布尔型变量可以进行 与(and) , 或(or) , 非(NOT) 的运算,什么是与或非?通过例子来看一下:

#与:只有同时为True时最终结果才为True In [35]: True and True Out[35]: True

In [36]: True and False Out[36]: False

#或:只要有一个为True结果即为True In [38]: True or True Out[38]: True

In [39]: True or False Out[39]: True

#非:对原逻辑词的否定 In [41]: not True Out[41]: False

In [42]: not False Out[42]: True

In [43]: not (True or False) Out[43]: False 当然进行关系运算(或称比较运算)也可以产生布尔值,关系运算有以下6种

符号 含义 符号 含义

大于 >= 大于等于 < 小于 <= 小于等于 == 等于 != 不等于 In [46]: 30 > 500 Out[46]: False

In [47]: 2 == 5 Out[47]: False

In [48]: 210 < 56 Out[48]: True 字符串 字符串就是一系列的字符。在Python中,用 引号 (单引号或双引号)括起来的都是字符串,在上面也提到过,字符串就是我们平常见到的 文本数据 ,如下所示:

"Hello world.I like Python." 'I like Python, too.' 字符串有许多的使用方式,下面列举出了一些常见的操作:

In [49]: a = " Hello" #创建字符串" Hello"并存储到a变量中 In [50]: b = " world " #创建字符串" world "并存储到b变量中

#1.字符串的拼接 In [51]: c = a + b In [52]: c Out[52]: ' Hello world '

#2.将字符串中的字母全部转换为大写 In [53]: c.upper() Out[53]: ' HELLO WORLD '

#3.将字符串中的字母全部转换为小写 In [54]: c.lower() Out[54]: ' hello world '

#4.将字符串中的单词首字母大写化 In [55]: c.title() Out[55]: ' Hello World '

#5.去掉字符串中左右的空格 In [57]: c.strip() Out[57]: 'Hello world'

#6.去掉字符串中左边的空格 In [58]: c.lstrip() Out[58]: 'Hello world '

#7.去掉字符串中右边的空格 In [59]: c.rstrip() Out[59]: ' Hello world'

#8.将单词"world"替换为"python" In [60]: c.replace("world","python") Out[60]: ' Hello python ' 如果你要实现从字符串中获取一段 子字符串 的话,就涉及到字符串的 索引操作 (俗称切片),可以使用 [头下标:尾下标:步长] 来截取相应的字符串,其中下标是 从 0 开始 算起(从左往右的话),截取的时候不会包含 尾下标对应的字符 ,下标可以为空表示取到头或尾。如下图: Python小白零基础入门 —— 变量及简单的数据类型

In [67]: string = "Python"

#获取第3个字符 In [68]: string[2] Out[68]: 't'

#获取前三个字符,可以看到'h'并不包含在内 In [69]: string[0:3]
Out[69]: 'Pyt'

#从右往左获取第四个字符 In [70]: string[-4] Out[70]: 't'

#从头截取到第5个字符 In [78]: string[:5] #和string[0:5]等价 Out[78]: 'Pytho' 涉及到步长的操作:

#从第1个元素到第5个元素,每隔两个元素截取一个 #方向为正,步长为2 In [73]: string[:5:2] Out[73]: 'Pto' #图解如下 Python小白零基础入门 —— 变量及简单的数据类型

#从索引为-1到-3位置(到不了-4),每隔两个元素截取一个 #方向为负,步长为2 In [74]: string[-1:-4:-2] Out[74]: 'nh' #图解如下 Python小白零基础入门 —— 变量及简单的数据类型

数据类型之间的转化 当然,上述的这些数据类型也是可以相互转换的,直接来看看实际的例子,这里主要看数字字符串(如”123“)和数值之间的相互转换。

In [79]: a = 1 In [80]: b = "2"

#数值型转换为字符串 In [81]: str(a) Out[81]: '1'

#数字字符串转换为数值 In [82]: int(b) Out[82]: 2 三、练习题 1 a=100,b=2,求a+b,a/b,a×b,和 a^b 2 str(1) + "1" 和 int("1") + 1 有什么区别 3 False and (not False) 和 True or False and False 返回什么值 4 已有字符串 string = " What is Your Name? " ①去掉首尾空格

②截取前三个字母

③将 What 替换为 Which

④将所有单词的首字母变成大写的

⑤将所有字符变成大写

⑥将所有字符变成小写的

⑦将字符串反转成 ' ?emaN ruoY si tahW '

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Karen110 Karen110
3年前
​一篇文章总结一下Python库中关于时间的常见操作
前言本次来总结一下关于Python时间的相关操作,有一个有趣的问题。如果你的业务用不到时间相关的操作,你的业务基本上会一直用不到。但是如果你的业务一旦用到了时间操作,你就会发现,淦,到处都是时间操作。。。所以思来想去,还是总结一下吧,本次会采用类型注解方式。time包importtime时间戳从1970年1月1日00:00:00标准时区诞生到现在
Stella981 Stella981
3年前
Python3:sqlalchemy对mysql数据库操作,非sql语句
Python3:sqlalchemy对mysql数据库操作,非sql语句python3authorlizmdatetime2018020110:00:00coding:utf8'''
Stella981 Stella981
3年前
Python之time模块的时间戳、时间字符串格式化与转换
Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。关于时间戳的几个概念时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。时间元组(struct_time),包含9个元素。 time.struct_time(tm_y
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这