一、良好的代码格式
(一)注释、缩进、语句换行
1、注释
(1)、单行注释(“#”) | 用于说明当前行或之后代码的功能。单行注释可以单独占一行,也可以位于标识的代码之后,与标识的代码共占一行。 |
(2)、批量(ctrl +/)、多行注释(”””或’’’) | 主要用于说明函数或类的功能。 |
#(1)、单行注释
#定义一个函数
def abc():
print('hello')
abc() #调用函数
#(2)、批量、多行注释
"""
def abc():
print('hello')
abc()
"""
2、缩进
Python代码的缩进可以通过Tab键控制,也可使用空格控制。空格是Python3首选的缩进方法,一般使用4个表示一级缩进;Python3不允许混合使用Tab和空格。
#正确格式
if 90 < score <= 100:
print('优秀')
elif 70 < score <= 90:
print('良好') #前面的空客按的是tab键,也可以按4下空格键
elif 60 < score <= 70:
print('合格')
else:
print('不及格')
#错误格式
if 90 < score <= 100:
print('优秀')
elif 70 < score <= 90:
print('良好')
elif 60 < score <= 70:
print('合格')#没有缩进
else:
print('不及格')
3、语句换行
Python官方建议每行代码不超过79个字符,若代码过长应该换行。Python会将圆括号、中括号和大括号中的行进行隐式连接,我们可以根据这个特点实现过长语句的换行显示。一般情况下逻辑行行首不应该出现空白。
string = ("Python是一种面向对象、解释型计算机程序设计语言,"
"由Guido van Rossum于1989年底发明。"
"第一个公开发行版发行于1991年,"
"源代码同样遵循 GPL(GNU General Public License)协议。")
print(string)
二、标识符和关键字
(一)标识符、关键字
1、标识符
若希望在程序中表示一些事物,开发人员需要自定义一些符号和名称,这些符号和名称叫做标识符。例如我们的水果每一个水果都有属于他们自己的名称这就叫标识符。
标识符规则:
(1)只能有字母、数字、下划线组成
(2)开头不能是数字
(3)不能是Python的关键字
(4)区分大小写
(5)取名字要做到见名知意
(6)常量名使用大写的单个单词或由下画线连接的多个单词模块名、函数名使用小写的单个单词或由下画线连接的多个单词;类名使用大写字母开头的单个或多个单词。
作用:给变量、函数,类等命名
def Class():
pass
def List_a123():
pass
2、关键字
关键字是Python已经使用的、不允许开发人员重复定义的标识符。Python3中一共有35个关键字,每个关键字都有不同的作用。在Jupyter单元格中执行“help(”关键字“)”可查看关键字的声明。
三、变量和数据类型
(一)数据类型、变量
1、Python3 中有六个标准的数据类型:
(1)整形int
为了方便使用各进制的数据,Python中内置了用于转换数据进制的函数:bin()、oct()、int()、hex(),关于这些函数的功能说明如下。
#整型int
a = 20
b = 15
print(a+b)
(2)浮点型float
浮点型(float)用于表示实数,由整数和小数部分(可以是0)组成.
Python中的浮点型每个浮点型数据占8个字节(即64位),且遵守IEEE标准。Python中浮点型的取值范围为-1.8e308~1.8e308,若超出这个范围,Python会将值视为无穷大(inf)或无穷小(-inf)。
#浮点型float
price = 2.55
userweight = 88.9
sum = price + userweight
print(sum)
(3)复数类型complex
复数由实部和虚部构成,它的一般形式为:real+imagj,其中real为实部,imag为虚部,j为虚部单位。
complex_one = 1 + 2j # 实部为1,虚部为2
complex_two = 2j
(4)布尔型bool
-
Python中的布尔类型只有True(真)和False(假)两个取值。实际上,布尔类型也是一种特殊的整型,其值True对应整数1,False对应整数0。
-
若数据符合以下任一条件,其布尔值均为False。
-
(a)、值为None或False的常量
-
(b)、任何数字类型的0:0、0.0、0j
(c)、空组合数据类型:''、()、[]、set()、{}
#布尔型bool
bool = True
if bool == True:
print(bool)
else:
print(False)
(5)String(字符串)
字符串是一个由单引号、双引号或者三引号包裹的、有序的字符集合。
#字符串类型str
name = '张山'
age = '20'
print(name,age)
- (6)List(列表)
- 列表是多个元素的集合,它可以保存任意数量、任意类型的元素,且可以被修改。Python中通常使用“[ ]”创建列表,列表中的元素以逗号分隔。
-
列表类型 list=['hello','python'] print(list)
(7)Tuple(元组)
(a)它可以保存任意数量与类型的元素,但不可以被修改。Python中使用“( )”创建元组,元组中的元素以逗号分隔。
#元组类型
tup = ('physics','chemistry')
print(tup)
(b)元组中只包含一个元素时,需要在元素后添加逗号。这样才能分辨出这个数据是属于什么数据类型的。
tup = (50,)
(8)Set(集合)
集合与列表和元组类似,也可以保存任意数量、任意类型的元素,不同的是,集合是一个无序不重复的序列,创建一个空集合用set(),空字典用set { }。
#集合类型
a=('hello','python','pycharm','hello','python')
list_a = set(a)#将a转换成set类型
b= {'name','age','id','name'}
print(list_a)
print(b)
(9)Dictionary(字典)
(a)字典是另一种可变容器模型,且可存储任意类型对象。
(b)字典中的元素是“键(Key):值(Value)”形式的键值对,键不能重复。Python中使用“{ }”创建字典,字典中的各元素以逗号分隔。
(c)字典中的元素中的键是唯一的,如果重复,最后一个键值对会替换前面的,值可以不唯一。(键值对:一个键对应一个值,就如下图的name和jack就是键值对)
#字典类型
dic = {'name':'jack','age':'22','class':'first'}
print("dic['name']:",dic['name'])
2、Python3 的六个标准数据类型中:
- 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
- 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
3、变量
(1)、含义:
- 程序在运行期间用到的数据会被保存在计算机的内存单元中,为了方便存取内存单元中的数据,Python使用标识符来标识不同的内存单元,如此,标识符与数据建立了联系。
-
标识内存单元的标识符又称为变量名,Python通过赋值运算符“=”将内存单元中存储的数值与变量名建立联系,即定义变量,具体语法格式如下:变量 = 值
name = '爱丽丝'
age = '18'
-
在程序运行过程中,值可以不断变化的量即为变量。
x = 3
x = 2*x
(2)、变量的输入和输出:
(a)、变量的输入
input()函数用于接收用户键盘输入的数据,返回一个字符串类型的数据。
语法格式如下所示:
input([prompt])
prompt表示函数的参数,用于设置接收用户输入时的提示信息。
name = input("请输入您的姓名:")
(b)、变量的输出
print()函数用于向控制台中输出数据,它可以输出任何类型的数据
语法格式如下所示:
print(*objects, sep=' ', end='\n', file=sys.stdout)
- pobjects:表示输出的对象。输出多个对象时,对象之间需要用分隔符分隔。
- pobjects:表示输出的对象。输出多个对象时,对象之间需要用分隔符分隔。
- pend:用于设定输出以什么结尾,默认值为换行符\n。
- pfile:表示数据输出的文件对象。
print('life is short , you need python')
(c)、变量的输入和输出一般都是一起使用的。
age = input("请输入您的年龄:")
print(age)
4、常量
在程序运行过程中,值不能被修改的量即为常量。Python中没有专门定义常量的方式,通常使用大写变量名表示,仅仅是一种提示效果,其本质还是变量。Python常量包括数字、字符串、布尔值(True/False)和空值。
NAME = 'tony'
四、运算符
(一)算术运算符、赋值运算符、比较运算符、逻辑运算符、成员运算符、运算符优先级
1、算术运算符
Python中的算术运算符包括+、-、*、/、//、%和**。
a = 2
b = 10
print(a+b)#12
print(a-b)#-8
print(a*b)#20
print(b/a)#5.0
print(b%a)#0
print(a**b)#1024
print(9//2)#4
Python中的算术运算符既支持对相同类型的数值进行运算,也支持对不同类型的数值进行混合运算。在混合运算时,Python会强制将数值的类型进行临时类型转换,这些转换遵循如下原则:
2、赋值运算符
- 赋值运算符的作用是将一个表达式或对象赋值给一个左值。左值是指一个能位于赋值运算符左边的表达式,它通常是一个可修改的变量,不能是一个常量。例如将整数3赋值给变量num:num=3。
- Python中的算术运算符可以与赋值运算符组成复合赋值运算符,赋值运算符同时具备运算和赋值两项功能。
a=2
b=5
c=0
c =a+b
print('1-c的值:',c)
c+=a
print('2-c的值:',c)
c*=a
print('3-c的值:',c)
c/=a
print('4-c的值:',c)
c%=a
print('5-c的值:',c)
c**=a
print('6-c的值:',c)
c//=a
print('7-c的值:',c)
3、比较运算符
比较运算符也叫关系运算符,用于比较两个数值,判断它们之间的关系。Python中的比较运算符包括==、!=、>、<、>=、<=,它们通常用于布尔测试,测试的结果只能是True或False。
a=15
b=15
print(a==b)
a = 10
print(a!=b)
a= 7
print(a>b)
print(a<b)
a = 15
print(a>=b)
print(a<=b)
4、逻辑运算符
Python中分别使用“or”,“and”,“not”这三个关键字作为逻辑运算符,其中or与and为双目运算符,not为单目运算符。
a =22
b=11
print(a and b)#与
print(a or b)#或
print(not a)#非
print(not b)
5、成员运算符
- 成员运算符in和not in用于测试给定数据是否存在于序列(如列表、字符串)中,关于它们的介绍如下:
- (a)in:如果指定元素在序列中返回True,否则返回False。
- (b)not in:如果指定元素不在序列中返回True,否则返回False。
a=10
b=12
list=[1,2,3,4,5]
if a in list:
print("1-a在给定的列表list中")
else:
print("1-a不在给定的列表list中")
if b not in list:
print("2-b不在给定的列表list中")
else:
print("2-b在给定的列表list中")
- 6、运算符优先级
- (1)、Python支持使用多个不同的运算符连接简单表达式,实现相对复杂的功能,为了避免含有多个运算符的表达式出现歧义,Python为每种运算符都设定了优先级。
- (2)、Python中运算符的优先级从高到低如下: