第二章 学习python前必备的基础知识

大家在上一章中已经可以自己敲出一个猜数字小游戏了,先不要删掉它,以后我们慢慢来改进它。接下来呢,我们再继续学习一些必须要学的基础知识。

2.1 变量

说到变量,就是可以改变的量,它并不是一个值,但它却是内存中的一个地址。什么意思?通俗点讲,当你定义一个a = 3的时候,系统在内存中会给a一个地址,而这个a就是代表一个门牌号,然后小3住在里面,当年调用a的时候,就相当于你喊了一句:小3,出来玩儿了!当你改好了这个房子之后,门牌号a是不能改变的,但住在里面的小3是可以换人的,所以称之为变量,而不是恒量。

看下面的例子:

a = 4

b = 5

print(a)

print(b)

结果:

结果显而易见,a和b分别叫出了小4和小5.那怎么体现它是可以变得呢?看下面的例子:

a = 4

b = 5

print(a+b)

a = "Li"

b = 'Wang'

print(a)

print(b)

结果:

结果很明显吧,第一次给a和b分别赋值4和5,然后print了一个a+b,结果是9,也说明print内是可以写一个运算式的;第二次我们给a和b分别赋值了两个字符串,然后打印出来的就是这两个字符串,从而说明这是个变量而不是常量。你想问既然数字可以加,那字符串可以加吗?当然可以,不信你可以自己运行一下下面的代码:

a = "Li"

b = "Wang"

print(a + b)

运行一下,看一下是什么结果,是不是已经把两个字符串拼接起来了?再试试看下面的代码:

a = 1

b = 2

c = "Li"

d = "Wang"

print(a + b)

print(a + c)

print(c + d)

print("Li" + "Wang")

并从中理解一下,是不是数字和字符串可以任意的拼接和打印。

2.2 字符串

我们都知道像1,2,3这样的类型叫做int类型(整型),那像a,b,c这样的字母及一些特殊字符%,*,@呢,他们被统称为字符串类型,也就是str类型,那怎么才能在代码中知道我输入的或者赋值的这个变量是什么类型呢,python的BIF里给了我们一个type()方法来获得类型名,等等,BIF是什么,好高级的样子。

BIF 是Built-in Functions,也就是内置函数的意思,像Python里的很多内置函数都是可以直接调用的,方便了程序员快速编写脚本。比如print就是一个内置函数,用来打印。input()也是一个内置函数,用来提示用户输入。

好,继续来说type()这个BIF的作用,请看下面的代码:

a = 2

b = "Li"

print(type(a),type(b))

结果:

看到没有,第一个a的类型显示的为int,第二个b的类型显示为str字符类型

继续看下一个代码:

a = "Li"

print("大家好,我叫%s" % a)

b = 18

print("我今年%d岁了" % b,"(真年轻,啊哈哈)")

结果:

这里用了一个奇怪的字符,%s和%d是用来干嘛的,说明一下,s就是字符串,d则是整型,其他的像什么%f,%b什么的大家可以自己查资料,最常用的就是%s和%d,%f好像也挺常用的,它代表的浮点数,浮点数也就是小数。另外记住,在(“大家好,我叫%s” % a)中,第二个%前面和字符串之间是不能加逗号的,不然python会认为这是两个单独的字符串。

扩展一下,除了用%号来格式化还有其他的方法吗?有的,python还给了我们一个叫format的方法,代码如下:

a = "Li"

b = 18

print("大家好,我叫{name},今年{age}岁了".format(name=a, age=b))

结果:

结果如出一辙吧,另外其实还有一种更简洁的方式,如下:

name = "Li"

age = 18

print(f"大家好,我叫{name},今年{age}岁了")

结果和上面的是一样的,大家不妨试一下。

2.3 原始字符串

下面有一行代码,大家看看输出和想象中一样吗?

print("time home name")

输出的是不是很奇怪,是不是第一个t没了,而变成了一个Tab,name的n也没了,变成了换行。没错,在python中,t 为制表符,n为换行符。是不是有点伤脑筋了,那这样我怎么才能输出我想要的结果呢。没关系,python肯定已经想到了这样的问题,所以我们可以在"“前面再加一个”"用来转义字符。

print("\time home \name")

这样的输出就会变成我们需要的输出,那还有没有更简单的方式呢,每个"“前面都要加一个”",那岂不是很麻烦。答案是有的,这时就需要我们将要打印的字符转换成原始字符串,怎么转换呢,看代码:

print(r"time home name")

有没有看到一个细微的变化,没错,我们在引号外加了一个"r",代表我们要将后边要打印的字符转换成原始字符串,这样就可以随心所欲的打印了。

2.4 长字符串

我说 你是人间的四月天;

笑响点亮了四面风;

轻灵在春的光艳中交舞着变。

你是四月早天里的云烟,

黄昏吹着风的软,

星子在无意中闪,

细雨点洒在花前。

那轻,那娉婷,你是,

鲜妍百花的冠冕你戴着,

你是天真,庄严,

你是夜夜的月圆。

雪化后那片鹅黄,你像;

新鲜初放芽的绿,你是;

柔嫩喜悦,

水光浮动着你梦期待中白莲。

你是一树一树的花开,

是燕在梁间呢喃,

——你是爱,是暖,是希望,

你是人间的四月天

哇,好有诗意,为啥要用这首当代诗开头呢,因为这整首诗就是我们的长字符串,我们要想把这首诗按照这个排版打印出来,按照我们学过的知识,是不是要这样打印:

print("我说 你是人间的四月天;n 笑响点亮了四面风;n 轻灵在春的光艳中交舞着变。n 你是四月早天里的云烟,n。。。")

是不是要在每个换行之前加一个换行符"n",那这工程量可就大了去了,那有没有什么好方法呢,答案还是有的,我们可以这样:

a = """

我说 你是人间的四月天;

笑响点亮了四面风;

轻灵在春的光艳中交舞着变。

你是四月早天里的云烟,

黄昏吹着风的软,

星子在无意中闪,

细雨点洒在花前。

那轻,那娉婷,你是,

鲜妍百花的冠冕你戴着,

你是天真,庄严,

你是夜夜的月圆。

雪化后那片鹅黄,你像;

新鲜初放芽的绿,你是;

柔嫩喜悦,

水光浮动着你梦期待中白莲。

你是一树一树的花开,

是燕在梁间呢喃,

——你是爱,是暖,是希望,

你是人间的四月天

"""

print(a)

前后各三个单引号来表明这是一个长字符串,这样就会原封不动的打印出来了。

2.5 数字的运算

下面是常用的运算及关系字符:

+ :加法

- :减法

* :乘法

* * :幂运算

/ :除法

// :整除

% :余除

< :小于

> :大于

<= :小于等于

>= :大于等于

== :判断等于

!= :判断不等于

加法,减法和乘法应该不需要再说了,毕竟都是上过学的人。

大家先将下面的几行代码敲下来,注意从中观察"/", “//”, "%"都是除法,但是有什么不同。

print(3 ** 3)

print(9 / 2)

print(9 // 2)

print(9 % 2)

输出是不是这样的:

27

4.5

4

1

现在可以解释一下了,我们接触最多的就是这个"/“最普通的除法,这和我们平时的运算是最合乎常理的,9除以2本来就是4.5嘛,然而这个”//“呢,被称为取整,也就是我们只取除过后的整数部分,所以”%"这个取余就是取余数部分了,像是我们小时候学过的(9 除以 2 = 4 ······1)

然后大家再敲一下下面的代码:

print(3 > 5)

print(5 >= 5)

print(6 < 8)

print(4 == 4)

print(4 != 5)

结果

False

True

True

True

True

怎么我输入的是数字,但打印的是一串字符呢,因为号本来就是关系判断符,既然是判断,那就有对有错,False和True正好是英文中的对与错的意思,“==”就是判断两边数值是否相等,“!=”则判断两边数值是否不等,接下来就来了解一下python中的布尔类型。

2.6 布尔类型

其实在python中布尔类型中的False和True分别被当做0和1来对待的,即假和真。包括下面这样的计算也是可以的。

print(True + True)

print(False + True)

结果

2

1

有没有发现,在Python中True和False确实是被当成了1 和 0.

但如果你真想把这两个布尔类型放到数学计算中去用,那可真是不合逻辑了,为啥丢了西瓜捡芝麻。

2.7优先级问题

既然牵扯到了运算的问题,那肯定就会有优先级的问题,那么在python中,数值运算的优先级是怎样的呢?大家在上小学的时候都背过“先加减,后乘除”吧,没错,在Python中数值运算也是一样的,如果要先进行加减运算呢,那就用一个小括号把要先进行计算的括起来。

还有其实像下面的两个式子是一样的,不用担心

-5 * 7 + 7 * -9

(-5) * 7 + 7 * (-9)

2.8 逻辑操作符

python中的逻辑操作符有:

and

or

not

and也就是并且的意思,其要求两边的式子同时为真则为真。

or也就是或者的意思,要求两边一边为真则为真。

not也就是取反的意思,not真则为假,not假则为真。

看下面的代码

print( True and True)

print(True or False)

print(not True)

结果

True

True

False

很好理解吧。

其实在python中还会有这样的式子

2 < 3 <5

这其实是被解释成

2 < 3 and 3 < 5

这个做法在python中是被认可的,其他语言几乎都会报错,要记住。

2.9 数据类型及转换

我们已经学习了字符串类型和布尔类型,那我们知道数字的类型都有哪些吗,我们今天先来了解一下数字中的整型和浮点型

整型,见字如面,也就是意味着整型就是整数的类型,也就是int型,没什么可说的了

那么浮点型呢,其实也就是相当于小数类型,在这里顺便引进一个科学计数法,毕竟小数点后有很多数的例子见多了。

a = 0.0000000000009

b = 9e-9

print(type(a),type(b))

print(a == b)

结果:

True

看到没有,float也就是我们所说的浮点型,并且这里运用了一个用“e”表示的科学计数法,如果想要表示很大的数呢,那就把“e”后面的“-”号去掉。是不是方便了很多。

然后再看一下下面的例子了解一下类型转换

a = 4

b = 3.87

c = "Li"

d = "5"

print(type(a),str(a),type(str(a)))

print(type(b),int(b),type(int(b)))

print(type(d),int(d),type(int(d)))

结果:

4

3

5

从上面我们可以看出将一个浮点数转换成整数之后,它会自动把小数点后的数给去掉;我们也可以把一个数字转换成字符串,也可以把由数字组成的字符串转换成int型,但可以把由多个字符组成的字符串转换成int型吗,答案是不能,如果强制转换就会报错。

python编程基础知识点上的问题_python编程入门之二:必备基础知识-Go语言中文社区...相关推荐

  1. python编程基础知识点上的问题_python编程入门之二:必备基础知识

    大家在上一章中已经可以自己敲出一个猜数字小游戏了,先不要删掉它,以后我们慢慢来改进它.接下来呢,我们再继续学习一些必须要学的基础知识. 2.1 变量 说到变量,就是可以改变的量,它并不是一个值,而是内 ...

  2. python解释器在语法上不支持 编程方式-python解释器在语法上不支持什么编程方式_后端开发...

    python程序的两种运行方式是什么_后端开发 python程序的两种运行方式是:1.使用REPL模式运行,REPL模式即读取-计算-打印-循环的模式,借助的工具是IDLE(python集成开发环境) ...

  3. python不支持什么编程,python解释器在语法上不支持什么编程方式-Python教程

    python诠释器正在语法上没有支持甚么编程形式 python诠释器正在语法上没有支持[天然言语]. python诠释器正在语法上支持的编程形式有:语句.面向进程.面向工具. (保举:编程教程) 天然 ...

  4. UWP入门(二) -- 基础笔记

    UWP入门(二) -- 基础笔记 原文:UWP入门(二) -- 基础笔记 不错的UWP入门视频,1092417123,欢迎交流 UWP-04 - What i XMAL? XAML - XML Syn ...

  5. python解释器在语法上不支持_python解释器在语法上不支持编程方式

    python解释器在语法上不支持编程方式 现金是商业银行流动性最强的资产.A:对B:错 下列关于按法的说法,不正确的是A:施力应迅速B:用力方向尽可能垂直于体表C:根据患儿的病情选择不同强度的按压力量 ...

  6. python快速入门第3版 数据_Python 快速入门 第3版

    第 一部分 开始篇 第 1章 关于Python 3 1.1 用Python的理由 3 1.2 Python的长处 3 1.2.1 Python易于使用 4 1.2.2 Python富有表现力 4 1. ...

  7. 大一下c语言期末考试编程题,大一上期末C语言编程题

    大一上期末C语言编程题 (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 11.90 积分 用公式 π/4 = 1-1/3+1/5-1/7--,编程序 ...

  8. 机器学习入门 笔记(二) 机器学习基础概念

    第二章 机器学习基础概念 1.机器的数据 2.机器学习的主要任务 3.监督学习和非监督学习 4.批量.在线学习.参数.非参数学习 5.哲学思考 6.环境的搭建 1.机器的数据 我们以鸢尾花的数据为例. ...

  9. python编程的基本方法有哪些_Python编程中常用的基础知识有哪些?

    今天小编要跟大家分享的文章是关于Python编程中常用的基础知识有哪些?正在从事Python相关工作的小伙伴们,来和小编一起看一看本篇文章,希望本篇文章能够对大家有所帮助. 1.正则表达式替换 目标: ...

  10. python编程教学基本语法教学视频_Python编程学习#Python视频课程#全民一起玩Python 基础+提高...

    适用人群 想用轻松系统的方式,从零开始真正理解掌握Python.进而学习办公.网抓.数据.AI.网站等技术的各界人士 课程概述 制作精细.自带吐槽,每节课程(20分钟)均耗时数十小时精心打造!有多达十 ...

最新文章

  1. ABAP 开发时遇到的错误记录
  2. java中的乐活锁_(转)[乐活]别抱怨了,Shit happens!
  3. 讲义not have data_“熟记英语300句 中考英语无忧虑”讲练(089)讲义文本
  4. STL:Numberic_limit()
  5. C#调用DLL文件时参数对应表
  6. spark 2.4安装
  7. excel线性拟合的斜率_协方差分析:方差分析与线性回归的统一
  8. bbb u-boot 验证 emmc
  9. 优酷视频手机上能发现投屏设备,但投屏失败?
  10. 加括号改变连除式结果(洛谷P2651题题解,Java语言描述)
  11. 【人工智能】给初学者们讲解人工神经网络(ANN)
  12. 苹果MacBook Air 2022款也将有刘海屏设计
  13. click 点击图片不起作用_JavaScript 练手小案例:基于SVG的图片切换效果
  14. jQuery学习整理 (3) 使用jQuery操作元素的属性与样式
  15. 图解深度学习-三种梯度下降法可视化(BGD,SGD,MBGD)
  16. ionic之自动生成app图标和启动页面
  17. 什么是黑链?什么是黑帽?什么是明链?
  18. div中加入span右对齐后出现换行显示的两种解决办法(转)
  19. 我,程序员,32岁失业后干啥都赔钱,过去月薪2万的岁月不再重来 你呢?
  20. 网络投票的另一面:“刷票”与“防刷” 大PK

热门文章

  1. android 4.4 zygote 开机速度,一种安卓系统快速开机的方法及装置的制造方法
  2. hp linux 禁用u盘启动不了,笔记本被禁用U盘启动功能的bios设置解除方法
  3. 【3】令人头疼—在安装pyenchant外部包时产生的意外事件
  4. 拼刀刀店铺后台的参数anti-content逆向分析
  5. LibreOJ - 10066 新的开始
  6. cousera上的华盛顿机器学习专项课程的案例学习学习经历分享
  7. 数据采集及预处理——针对“数据”“采集”“预处理”的理解与解析
  8. M1 M2 是什么意思?M1 M2的增速说明什么问题?
  9. MATLAB 读取和显示 bin 文件数据
  10. java输入小写字母_java中怎么实现从对话框输入一个大写字母将其转化为小写字母输出?...