目录
01学习目标
1,了解python中的关键字
2,掌握python的变量和变量类型
3,掌握python中的标识符,能识别合法的标识符
4,了解python不同运算符的使用
(正片开始)
02学习任务
一. 基本语法
1,注释
注释分为单行注释和多行注释。
(1).单行注释:Py中的单行注释以#开头。如下所示:
#第一行注释
#print("HelloWorld!") #第二行注释
(2).多行注释:可以使用三引号作为开头和结束符号。如下所示:
"""
print("认真学习,不要摆烂!!!", ..., a = 1, x = "泽是小白")
"""
2,行与缩进
一般情况下Python的缩进是使用一个Tab键或者四次空格作为一个缩进的,(据说一个资深的程序猿都是使用Tab键的,个人比较喜欢也建议使用Tab键)如下所示:
#以下为正确示范
if age < 18:
print("抱歉") #该行的print距离上一段代码的if的正下方为一个Tab键
else:
if ismale: #该行的if距离上一段代码的else的正下方为一个Tab键
print("欢迎") #该行的print距离上一段代码的if的正下方为一个Tab键
else: #该行的else距离上三段代码的else的正下方为一个Tab键
print("禁止!!!")#该行的print距离上一段代码的else的正下方为一个Tab键
#正确示范结束
#以下是错误示范
if True:
print("正确") #该行的print距离上一段代码的if的正下方为一个Tab键
else:
print("正确") #该行的print距离上一段代码的else的正下方为一个Tab键
print("错误") #缩进不对,Py会报错
#错误示范结束
3,语句换行
在Python中一般情况下是一行写完一条语句,但如果语句过长的话我们就需要换行。这时我们可以使用圆括号()来实现。
print('我是泽'
'我从小学就对电脑感兴趣'
'初中喜欢玩手机'
'高中喜欢手机和电脑'
'大学确定目标,当一名程序员')
当然也可以使用 \ 来实现。
(反斜杠 (\)加上一个特殊字符就变成一个转义字符,例如\n就表示换行的意思)
注意:在[ ],{ },( )中的语句,不需要使用圆括号进行换行。
dijia = ['item_redblue', 'item_red',
'item_blue']
二. 变量和数据类型
1,变量和赋值
Python中的变量用来存储数据,其类型和值在赋值的那一刻起被初始化。
num1 = 100 #将100赋值给变量num1
num2 = 101 #将101赋值给变量num2
and = num1 + num2 #将变量num1与变量num2的和赋值给and
num1与num2分别存储的数据是100和101,and存储的数据是num1和num2的数据之和,即201。
2,变量的类型
(1)数字类型
数字类型分为整数,复数,浮点数
整数:Python的整数长度是不受限制的,它有无限大的精度。如下:
42538248164304361 / 5832326192891 #一个很大的数除以另一个很大的数
浮点数:Python的浮点数是具有误差的,是因为Python和C语言一样都是采用IEEE754的标准来存储浮点数的,因此会产生一定精度上的误差
(2)布尔类型
bool() #bool()内置函数可以直接给出True或False结果
(3)字符串类型
"pass" #无论引号里面的内容是什么,只要出现在引号里面,都是字符串
(4)列表类型
dijia = [1, one, ten, ..., '我是列表里的一员'] #列表用[]表示
(5)元组类型
dijia = (1, one, ten, ..., '我是元组里的一员') #元组用( )表示
(6)字典类型
dijia = {"小泽" : "小泽泽", ...} #列表用键值对表示
(7)集合
type({"dijia"}) #在大括号中加入一个字符串(元素)
<class 'set'> #一个集合
集合最大的特性就是唯一性,即集合中所有的元素都是独一无二的,并且是无序的!
Python将集合分为可变和不可变两种对象。
前者为:set()
后者为:forzenset()
三. 标识符和关键字
1,标识符
若希望在程序中表示一些东西,需要程序员自定义一些符号和名称,而我们把这些符号和名称叫做标识符。
!!!命名规则:
1,标识符由字母,下划线和数字组成,且数字不能作为开头!
2,要区分大小
3,不能使用关键字
2,关键字
关键字指的是具有特殊功能的标识符
help() #进入帮助系统
help > keywords #查看所有的关键字列表
help > return #查看return关键字的说明
help > quit #退出关键字系统
四. 简单数值类型
1,整形
整数类型(int)简称为整形,用于表示整数。
二进制:0b10100101101
八进制:0o101101
十进制:55
十六进制:0x14
2,浮点型
浮点型(Float)用于表示实数。浮点型字面值可以使用十进制或者科学计数法进行表示。
3,布尔类型
布尔类型的数据只有两种结果:True和Flase。
bool值没有操作。
所有的空结果都是Flase, 所有的非空都是True。
#布尔类型
#使用bool()内置函数可以直接给出True或Flase的结果
bool(59)
59
bool("假")
True
bool("Flase")
True #不管内容是什么,只要在引号里面,全部都是字符串,对于字符串而言,只有空字符串的结果为Flase,其他都是True,哪怕只有一个空格
bool(Flase)
Flase
bool("") #此处是个空字符串
Flase
bool(" ") #两个引号中加了一个空格,结果为True
True
#同理,无论数值多少,只有等值于0的结果才是Flase,其他情况也都为Flase
以下是结果几乎都为Flase的情况:
1,定义为Flase的对象:None和Flase #None表示一无所有,Flase表示假
2,值为0的数字类型:0, 0.0, 0j, Decimal(0), Fraction(0, 1) #Fraction(0, 1)表示分子为0,分母为1的有理数
3,空的序列和集合:"", (), [], {}, set(), range(0)
4,复数类型
用于表示数学中的复数,例如5+3j。
两大特点:
(1),复数由实数部分和虚数部分构成,表示为:real+imagj或real+imagJ
(2),复数的实数real和虚数imag都是浮点型
数字类型转换
int(x[,base]) #将x转换为一个整数
float(x) #将x转换为一个浮点数,默认为六位小数
complex(real[,imag])#创建一个复数
五. 运算符
1,算术运算符
操作 | 说明(结果) |
---|---|
x - y | x-y的结果 |
x * y | x乘以y的结果 |
x / y | x除以y的结果 |
x // y | x地板除以y的结果(地板除:确保两个数相除的结果是一个整数,若不是整数,则向下取整,向小的数取。例如:3//2的结果为1,-3//2的结果为-2) |
x % y | x除以y的余数(例如:3%2和6%2的结果分别为1和0) |
-x | x的相反数 |
+x | x本身 |
abs(x) | x的绝对值 |
int(x) | 将x转换成整数 (是取整数,不是四舍五入!例如:int(3.14)结果为3,int(9.99)结果为9) |
float(x) | 将x转换成浮点数 |
complex(re, im) | 返回一个复数,re是实部,im是虚部 |
c.conjugate() | 返回c的共轭复数 |
divmod(x, y) | 返回(x // y, x % y) |
pow(x, y) | 计算x的y次方 (pow函数支持第三个参数,若为pow函数传入第三个参数,那么会将幂运算的结果与第三个参数进行取余运算。例如:pow(2, 3, 5)的结果为3,即2 ** 3 % 5,结果为3) |
x**y | 计算x的y次方 |
*公式:X == (X // Y)Y + (X % Y)
2,赋值运算符
赋值运算符只有一个,即=,它的作用是把赋值号右边的值赋值给左边。例如:
x = 1
anInt = 12
anFloat = 2.2
anStr = 'string'
aList = ['a', 'b', 'c']
anArray = (1, 2, 3)
aMap = {1:'a', 2:'b', 3:'c'}
x = y = z = 1 #为多个变量赋同一值
x+=1等同于x = x + 1 #增量赋值(减法等同理)
a, b = 1,4 #将多个值赋值给多个变量
x = 2
y = 5
x, y = y, x #变量交换
3,复合赋值运算符
运算符 | 说明 实例 |
---|---|
+= | 加法赋值运算符 c+=a等效于c=c+a |
-= | 减法赋值运算符 c-=a等效于c=c-a |
*= | 乘法赋值运算符 c*=a等效于c=c*a |
/= | 除法赋值运算符 c/=a等效于c=c/a |
%= | 取模赋值运算符 c%=a等效于c=c%a |
**= | 幂赋值运算符 c**=a等效于c=c**a |
//= | 取整除赋值运算符 c//=a等效于c=c//a |
4,比较运算符
运算符 | 说明 |
---|---|
== | 检查两个操作数的值是否相等 |
!= | 检查两个操作数的值是否不相等 |
> | 检查左边操作数的值是否大于右边操作数的值 |
< | 检查左边操作数的值是否小于右边操作数的值 |
>= | 检查左边操作数的值是否大于等于右边操作数的值 |
<= | 检查左边操作数的值是否小于等于右边操作数的值 |
5,逻辑运算符
运算符 | 逻辑表达式 (说明) |
---|---|
and | x and y (布尔“与”,若x为Flase,x and y就返回Flase,否则返回y的值) |
or | x or y(布尔“或”,若x为True,则返回True。否则返回y的值) |
not | not x(布尔“非”,若x为True,则返回Flase,若x为Flase,则返回True) |
6,成员运算符
运算符 | 说明 实例 |
---|---|
in | 如果在指定的序列中找到值就返回True,否则返回Flase x在y序列中,如果x在y序列中返回True |
not in | 如果在指定的序列中没有找到值返回True,否则返回Flase x不在y序列中,如果x不在y序列中返回True |
六. 位运算
1,按位与
指参与运算的两个数各对应的二进位进行“与”操作,只有对应的两个二进位都是1时,结果位才为1,否则结果位为0。
2,按位或
指参与运算的两个数各对应的二进位进行“或”操作,只要对应的两个二进位有一个为1时,结果位就为1。
3,按位异或
将参与运算的两个数对应的二进制位进行比较,如果一个位为1,另一个位为0,则结果位就为1,否则结果位为0。
4,按位取反
将参与运算的数的二进位的每一位进行取反,0取反为1,1取反为0。
5,按位左移
指二进位全部左移n位,高位丢弃,低位补0
6,按位右移
指将二进位全部右移n位,移出的位丢弃,移进的位补符号位0
七. 运算符优先级
下表中优先级1比2小,依次往下,优先级逐渐增大
优先级 | 运算符 (说明) |
---|---|
1 | lambad (Lambad表达式) |
2 | if - else (条件表达式) |
3 | or (布尔“或”) |
4 | and (布尔“与”) |
5 | not x (布尔“非”) |
6 | in, not in,is, is not, <, <=, >, >=, !=, == (成员测试,同一性测试,比较) |
7 | |
8 | ^ (按位异或) |
9 | & (按位与) |
10 | <<, >> (移位) |
11 | +,- (加法,减法) |
12 | *, @, /, //, % (乘法,矩阵乘法,除法,地板除,取余数) |
13 | +x, -x, ~x (正号,负号,按位翻转) |
14 | ** (指数) |
15 | await x (Await表达式) |
示例:
a = 20, b = 10,c = 15, d = 5,e = 0
e = (a + b) * c / d = 90
e = ((a + b) * c) / d = 90
e = (a + b) * (c / d) = 90
e = a + (b * c) / d = 90
03本文总结
本文简单介绍了Python的一些基础语法,变量,简单数值类型以及Python的一些运算符,这些是入门Python必备的知识,难易程度偏低,也容易理解,对小白童鞋比较友好,希望大家在初学Python这段时间能多动手敲代码练习,加深印象,为后期学习打好基础。最后,感谢大家的点赞和评论,同时也希望大家能够提出意见和建议,谢谢大家~
人生苦短,我用Python!