根据廖雪峰老师的指示,作为新手,不要随意使用复制粘贴,而是要体会把代码一个个输入进去的手感
第一个python程序
打开终端或cmd,输入python3或python进入交互模式,此时我们可以看到
出现了>>>
就说明我们已经成功进入了交互模式
在此状态下我们输入代码回车就会立即得到相关的执行效果
我们可以使用print()
函数来输出文字,把希望输出的文字用单引号或双引号括起来,但是不能混用单双引号
输入print('Hello,world!')
试试吧
恭喜你,就在刚刚你完成了你的第一个python程序!
然后我们输入exit()
优雅地退出交互模式
Oops!我们好像遇到了一些麻烦,这是什么报错呢?
原来,python所有的符号必须使用英文半角,这个请务必注意!!!
这样我们就回到了终端之中~
使用文本编辑器
我们刚才写的代码无法被留存,那我们如何将写的代码保存成py格式文件以便后续再次运行呢?这就需要用到文本编辑器了,而说到文本编辑器,不得不提到问题编辑器之王——Visual Studio Code!
我们推荐微软出品的Visual Studio Code,它不是那个大块头的Visual Studio,它是一个精简版的迷你Visual Studio,并且,Visual Studio Code可以跨平台!Windows、Mac和Linux通用。
然后我们下载安装...此步骤省略,然后新建python文件并且再次输入
print('Hello,world!')
并且保存,使用python3 保存位置 来运行你刚刚保存的文件
python3 /Users/andyzhao/Documents/python/hello\ world.py
成功啦!
语法基础
输入与输出
在print()
函数中,使用''表示字符串,使用,(英文半角)来表示空格,所以你可以使用若干个字符串和逗号组合起来输出一句完整的话
同时 print()
函数还可以打印整数和计算结果,因此我们可以和前面说的逗号结合起来得到一个完整的运算过程
刚才了解了输出,同样地,我们有input()
函数用来输入字符串并作为一个变量
我们可以输入name=input()
来为na me变量定义一个字符串作为值
在这里,我们先为name定义了值andy,随后在print出name值的时候自然就会输出为andy了
然后我们就可以修改上文提到的那个py文件,来打一个招呼了
name=input('Tell me your name please')
print('Good morning',name)
我们可以在input()
函数的括号中使用引号输入字符串,使input时可以显示对应文字起到提示作用
运行这段代码,我们就可以得到
知道了这个,我们就可以举一反三进行一些运算输出了
a=input('第一个乘数')
b=input('第二个乘数')
a=float(a)
b=float(b)
# 这个float意为将前文输入的乘数字符串转为数字进行运算,如果不懂没关系,我们后面会说到
print('您的运算结果为',a*b)
可以得到如图所示的输出啦
python语法基础
python语法注重格式和缩进,在python中始终使用四个空格进行缩进
同时python大小写敏感,在书写过程中注意大小写
以#
开头的语句是注释,注释是给人看的,可以是任意内容,解释器会忽略掉注释。其他每一行都是一个语句,当语句以冒号:
结尾时,缩进的语句视为代码块
数据类型和变量
数据类型
在python中可以直接被系统处理的数据有以下几种:
-
整数
任意大小数量的整数,如1,2,3,-1,-2,-3,10000
通过十六进制表示出的数字,如0xff00,0xa5b4c3d2
对于很大的数字python允许使用_来分割数字,例如100000和100_000表示的数字是一样的,0xa1b2c3d4和0xa1b2_c3d4表示的数字是一样的
-
浮点数
对于比较小的数字,我们可以将小数写为1.23,1.5,-0.2等数字表示法,但是对于相对比较大的数字,我们需要引入e来表示10,e后的数字表示10的多少次方,例如1.23x109就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5
值得注意的是,整数的运算和浮点数的运算由于在计算机中的储存运算方式不同存在性质上的差异,整数运算的运算都是准确的,浮点数的运算则可能存在四舍五入的误差出现
-
字符串
最基础的字符串可以使用""和''括起来的内容标识,如果'本身也为一个字符我们使用""将其括起来,例如
"I'm okay"
那么如果我们需要同时用到''和""怎么办呢?我们这里就需要用到转义字符\来标识,例如
'I \'m \"okay\"'
表示出的字符是I'm "okay"
转义字符
\
可以转义很多字符,比如\n
表示换行,\t
表示制表符,字符\
本身也要转义,所以\\
表示的字符就是\
但是如果我们有很多字符需要转义,一个个打\太烦了怎么办?python还规定了在
r''
中的''中内容不进行转义如果字符串内有很多换行需求,一个个使用\n进行换行很明显既不简洁也不优雅,因此python规定可以使用'''...'''来表示多行内容
需要注意的是上文中的
...
并非为代码的一部分,我们在.py文件中写代码时应该写做print('''Are you okay''')
输出如上
-
布尔值
布尔值和布尔代数的表示完全一致,一个布尔值只有
True
、False
两种值,要么是True
,要么是False
,在Python中,可以直接用True
、False
表示布尔值(请注意大小写),也可以通过布尔运算计算出来布尔值可以使用
and
,or
和not
进行运算and
即与运算,全真则真,一假全假or
即或运算,一真则真,全假则假not
是非运算,真即为假,假就是真布尔值经常用于判断语句之中,例如if else句式:
if age >= 18: print('adult') else: print('teenager')
-
空值
在python中有
None
这个概念,None
不能理解为0
,因为0
是有意义的,而None
是一个特殊的空值
变量
在小学三年级学习方程时,我们会写到 设:某某某为x
此时,我们就完成了第一次给x赋值一个变量的过程
同样地,在python中,变量不仅限于数字,还包括着各种数据类型,在赋值中,等号左边是变量名,由任意字母,数字和_
组成,同时注意不能使用数字进行命名
a = 1 #这里a代表一个整数
b = 'udon' #这里b代表udon这个字符串
c = True #这里c代表布尔值
同时,在python中允许反复赋值,因此python被算作动态语言(与Java等静态语言相对)
需要注意的是,这里的=
并不等于数学的等号,而是仅仅为变量名绑定对应变量的标志,所以可能会有x=x+2
的情况出现,因为python是动态语言,所以我们可以
x = 10
x = x+2 #这里等号左面的x此时被重新赋值,等号右边的x为上面被赋值为10的x值
print(x)
常量
在python中规定了一些常用的数字作为常量,我们常常使用大写字母作为常量
PI =3.142
但是PI
本身也算是一个变量,毕竟没有办法百分百保障圆周率在未来的某一天不被改变。大写也只是一种习惯性行为,如果要强行改变也不是不可以,只是习惯上不这么做
还记得前面说到python中即使除法对整数出发来说也是准确的嘛?现在我们回头来解释一下究竟是为什么:
在python中有两种除法方式,其一是使用/
进行除法,这种除法得出的结果是一个浮点数
第二种除法是使用//
进行除法,这种方式又叫做地板除,整数相除仍然是整数
地板除只提供结果的整数部分,所以python有一个余数取值方式%
,可以得到除法的余数结果
总结
Python支持多种数据类型,在计算机内部,可以把任何数据都看成一个“对象”,而变量就是在程序中用来指向这些数据对象的,对变量赋值就是把数据和变量给关联起来。
对变量赋值x = y
是把变量x
指向真正的对象,该对象是变量y
所指向的。随后对变量y
的赋值不影响变量x
的指向。
注意:Python的整数没有大小限制,而某些语言的整数根据其存储长度是有大小限制的,例如Java对32位整数的范围限制在-2147483648
-2147483647
。
Python的浮点数也没有大小限制,但是超出一定范围就直接表示为inf
(无限大)。