找往期文章包括但不限于本期文章中不懂的知识点:
个人主页:我要学编程(ಥ_ಥ)-CSDN博客
所属专栏: Python
以B站up主:Python_子木的视频 :花了2万多买的Python教程全套,现在分享给大家,入门到精通(Python全栈开发教程)为Python专栏博客的核心。
Python随着编程技术的发展,也是越来越火爆。今天,我们就来学习Python的基础语法。
目录
前言
初始Python
运行Python程序
注释
标识符和关键字
input 和 print 函数的使用
print 函数的使用
input函数的使用
数据类型和变量
变量
数据类型
数值类型
字符串类型
布尔类型
类型转换函数
eval函数
运算符
算术运算符
赋值运算符
比较运算符
逻辑运算符
位运算
移位运算符
运算符的优先级
前言
Python相较于我们前面学习的C语言、Java有很大的不同。首先是语言本质上的不同:Java和C语言都是编译型的语言,而Python是解释型的语言。什么是编译型的语言呢?编译型的语言是指从源代码到可执行的程序,需要经过编译等手段处理。那什么是解释型语言呢?解释型语言是指从源代码到可执行的程序,不需要编译的过程,也就是说可以直接在源代码的基础之上进行运行。这种语言也被称为脚本语言。其次,就是Python的代码是非常简洁的,没有什么头文件、主函数等繁琐的东西。因此,执行Python代码的软件Pycharm,我们不叫作编译器,而是解释器,但是像:VS、IDEA这些都是被称为编译器。
有了前面两种语言的基础,学习Python这门语言也是非常容易上手的,下面我们就来正式学习。
初始Python
运行Python程序
同样我们也是从最简单的Hello World 走起:
print('Hello World')
从这里我们就可以看出来,Python语言的简洁性,没有main函数、头文件等这些繁琐的要求。甚至都没有'' ; ''这样的语句结束符。
其打印函数就是 print () --- 括号内,就是我们要输出的内容,如果是字符串的话,就得用引号引起来。这里的引号可以是单引号、双引号、甚至是三引号。
注释
在Python中注释分为两种:
1、单行注释:# 。从 # 开始到该行的末尾内容都会被视为注释,不会被Python解释器执行。
2、多行注释:
多行注释的方式有两种。一种是三个单引号,另一种是三个双引号。如下所示:
'''这是其中一种多行注释:三个单引号'''"""这是另外一种多行注释:三个双引号"""
多行注释也可以当作文档注释来用。
标识符和关键字
Python中一共有35个关键字。可以使用下述代码进行查看:
import keywordprint(keyword.kwlist) # 查看关键字
在Python中定义的标识符除了不能是关键字和数字开头之外,其余的都可以,甚至于使用中文当标识符也是可以的。
input 和 print 函数的使用
print 函数的使用
首先来了解 print 函数。和C语言、Java一样,这是一个输出函数。里面的内容就是写我们要输出的内容。
# 输出一个字符串类型print('Hello World')# 输出一个数字print(9)
这个print 函数是Python中的一个内置函数。 其内部的实现如下:
这些参数我们也是可以修改的。
1、修改print的逗号代表(替换)值
# 修改前print(1,2,3)# 修改后print(1,2,3,sep='') # 是其就是一个空字符(不是空格)
2、修改末尾换行操作
# 修改print的末尾换行# 修改前print('Hello')print('World')# 修改后print('Hello',end='')# 是其就是一个空字符(不是空格)print('World',end='')
文件写入操作等我们学习到文件的时候再去学习这个。
注意:None 类似 C语言中的 NULL,但不完全一样。因为Python和Java一样是面向对象的语言,因此在Python中也流行着这样一句话:在Python中,一切皆对象。但是Python中的对象是带有布尔值的,None的布尔值就是False(后面会学习),这也就是和C语言中NULL的区别。
接下来开始学习input函数的使用。
input函数的使用
和绝大多数语言Python也是有输入输出的,前面学习的print函数就是输出函数,这个input函数就是输入函数。而输入函数就是提示用户在命令行输入自己想要的内容。
name = '我要学编程'
input() 括号里面就是我们提示用户的输入信息,这个信息会被打印到命令行上面。并且接收的结果会有一个返回值,这里我们使用的print函数去打印这个返回值。
注意:input函数的返回值是一个字符串类型的值。
数据类型和变量
变量
首先来学习Python中的变量。很简单只需要起一个变量名即可使用。
name = '我要学编程'
这里定义变量不需要申明类型,编译器会根据赋值的类型来判断当前的变量类型。同时这个变量的类型是可以实时发生变化的。
注意:变量的命名的硬性虽然要求没有C语言和Java那样严格(可以使用中文作为变量名),但是软性要求还是没有变化,还是要遵循我们的编码规范。
数据类型
Python中的数据类型主要分为四种:
数值类型
int 类型:Python 3中,整数的大小不受限制,它可以根据需要自动扩展内存空间。理论上,只
要内存足够,它可以表示任意大的整数。从这里可以看出Python不会出现溢出的情况。
float 类型:占用8字节,用于表示带小数部分的数值。
注意:Python中没有 double 类型的浮点数和long类型的整数。因为其语法规定了int 可以处理无穷大的数据,同样float 和double(C语言和Java中) 的功能是一样的。
字符串类型
只要是被引号引起的内容就都属于字符串。且这里的字符串可以进行相加和相乘的操作。
name = '我要学编程'age = '18'# 字符串相加操作print(name+age)# 字符串相乘操作print(name*2) # 只能是字符串*数字,表示重复几次这个字符串
注意:在相加操作只能在字符串之间进行,一旦牵扯到其他的数据类型就会报错。
同样相乘操作也只是字符串和数字进行相乘,表示这个字符串重复几次。
另外字符串还有一个操作符 in 。
x in s 表示如果x是s的子串,结果为True,否则结果为False。
布尔类型
在Python中使用布尔类型来表示真与假。与之对应的标识符为 True——真、False——假。
注意:
1、这里的True和False都需要首字母大写,和Java、C语言是有区别的。
2、True和False在和整数进行运算时,True都是被当作是1,False被当作是0的。
3、我们在前面学习了Python中一切皆对象,并且每一个对象都有与之对应的布尔值。怎么看这个布尔值呢?要通过一个内置函数 bool() 来查看这个对象对应的布尔值。
下面演示部分情况(还有的后面学习了再去演示):
剩余的数据类型,我们以后再去学习。
既然有了这么多的数据类型,那也就有一些数据类型是相互之间可以转换的。
类型转换函数
与C语言和Java一样,类型转换分为隐式转换和显式转换。但不同的是Java和C语言中的隐式转换是小类型数据转换为大类型数据,而Python中是指不使用类型转换函数的情况下,进行的类型转换(在进行计算时,小数据都会转换为大数据这是相同的)。同样Java和C语言中的显示类型转换是使用强制类型转换,而Python中是使用类型转换函数。
下面我们就来学习类型转换函数。
函数 | 解释 |
int(x) | 将x转换为整数类型 |
float(x) | 将x转换为浮点数类型 |
str(x) | 将x转换为字符串 |
chr(x) | 将整数x转换为一个字符 |
ord(x) | 将一个字符x转换为其对应的整数值(按照Unicode编码规则) |
hex(x) | 将一个整数x转换为一个十六进制字符串 |
oct(x) | 将一个整数x转换为一个八进制字符串 |
bin(x) | 将一个整数x转换为一个二进制字符串 |
注意:
这里在进行转换为数值类型的时候,其都必须满足只有数字(或数字字符)的情况下,否则会报错。
eval函数
eval函数同样是Python中的内置函数。其作用是:去掉字符串最外侧的引号。一般是与输入函数input使用,特别是需要输入一个数字的时候,把数字的两侧引号去掉后,就变成了一个单独的数字。
注意:如果变量当中存储的是一个字符串,当我们把这个字符串两边的引号给去掉的时,可能会报错,需要慎重。
如果我们一旦定义了 我要学编程 这个变量之后,便不会发生报错了。
其实说白了就是一个警告信息,告诉我们这个行为可能会有危险。
运算符
算术运算符
首先来学习算术运算符。
运算符 | 解释 |
+ | 加法运算 |
- | 减法运算 |
* | 乘法运算 |
/ | 进行的是浮点数的除法运算(也就是最终的结果是浮点数) |
// | 进行的是整数的除法运算(也就是最终的结果是整数) |
% | 取余(拿到的是整数除法运算的余数) |
** | 幂运算(也就是进行乘方运算) |
主要演示和C语言、Java中不同的运算符:
想要具体了解这个近似值是怎么来的,可见下面的博客链接:数据在内存中的存储-CSDN博客
赋值运算符
我们常用的赋值运算符就是 = 。这个也不用多说,相比大家都是知道的,但是除了简单的赋值之外还有一个复合赋值运算符。
运算符 | 解释 |
a = 10 | 简单的赋值 |
a += 10 | a = a + 10 |
a -= 10 | a = a -10 |
a *= 10 | a = a * 10 |
a /= 10 | a = a / 10 |
a %= 10 | a = a % 10 |
a **= 10 | a = a ** 10 |
a //= 10 | a = a // 10 |
这里对符合运算符就不做过多的解释和演示了。
优先级的问题:既然是算术运算,那肯定就有先后顺序的问题。
在Python中,运算符的优先级是 ** > *、/、//、% > +、-
比较运算符
比较运算符也叫作关系运算符,就是比较两者之间的关系的运算符。
运算符 | 解释 |
> | 大于 |
< | 小于 |
== | 等于 |
!= | 不等于 |
>= | 大于或等于 |
<= | 小于或等于 |
这些运算符也是比较简单的,比较两个数值之间的关系即可。
注意:比较运算符得到的结果一定是布尔类型的值。即True 或者 False。
逻辑运算符
这个逻辑运算符虽然运算的规则和Java、C语言是一样的,但是它们的长相不一样。来具体看看
运算符 | 解释 |
and | 逻辑与 |
or | 逻辑或 |
not | 逻辑非 |
上面是Python中的逻辑运算符,下面是C语言和Java中的逻辑运算符。
上面就是对逻辑运算符的解释说明了。
位运算
按位与(&): 如果两个二进制位都是 1, 则结果为 1, 否则结果为 0。
按位或(|): 如果两个二进制位都是 0, 则结果为 0, 否则结果为 1。
按位取反(~): 如果该位为 0 则转为 1, 如果该位为 1 则转为 0。
按位异或(^): 如果两个数字的二进制位相同, 则结果为 0, 相异则结果为 1。
移位运算符
左移(<<): 最左侧位不要了, 最右侧补 0。
右移(>>): 最右侧位不要了, 最左侧补符号位(正数补0, 负数补1)。
注意:
1. 左移 1 位, 相当于原数字 * 2. 左移 N 位, 相当于原数字 * 2 的N次方。
2. 右移 1 位, 相当于原数字 / 2. 右移 N 位, 相当于原数字 / 2 的N次方。
3. 由于计算机计算移位效率高于计算乘除, 当某个代码正好乘除 2 的N次方的时候可以用移位运算代替。
4. 移动负数位或者移位位数过大都没有意义。
运算符的优先级
好啦!本期 初始Python篇(1)——输入输出函数、数据类型、运算符 的学习之旅就到此结束啦!我们下一期再一起学习吧!