Python基础知识:python基础语法

前言

Python语法简单,容易学习。本章将从Python基础语法出发,讲解学习Python需要掌握的最基础的知识点,比如:基本输入输出、运算符、常见函数、内存机制等内容。

提示:以下是本篇文章正文内容,下面案例可供参考

一、注释

注释的作用是为代码添加解释说明的文字,易于让其他开发者快速读懂代码的功能,为团队合作开发、后期代码维护提供方便。程序在运行时会忽略被注释的内容,注释不会影响代码的正常运行。简而言之,注释是给人看的,计算机不运行。

Python注释分为单行注释和多行注释:

1.单行注释

  • 用‘#’放在开始位置表示,‘#’后的内容为注释,不会被执行;
  • 单行注释可以放在一行的开头单独占用一行,也可以放在代码的结尾,表示对前面代码的说明。
# 我是单行注释,我不会被执行
>>> print('Hello World!') # 打印’Hello World'
Hello World!

2.多行注释

  • 多行注释可用三个单引号’’’ ’’’进行注释;
  • 多行注释也可以使用三个双引号””” “””进行注释
'''
    我是三个单引号注释的多行语句,
    不会被计算机执行,
    也不会影响程序正常运行
'''
>>> print('Hello Python!')
Hello Python!

"""
    我是三个双引号注释的多行语句,
    我也不会被计算机执行,
    也不会影响程序正常运行

"""
>>> print('Hello world!')
Hello world!

多行注释一般被用在定义类和定义函数中,对类和函数的功能以及各种形式参数进行解释说明。

二、缩进

在Java,C\C++等语言中,用{}表示代码块,当层级关系比较复杂时很容易混淆大括号之间的关系,而且在编写代码时输入{}比较麻烦。Python秉持语言简单的原则,在Python中用缩进来表示代码块的层级关系,一个缩进其实就是四个空格键,在编辑软件中经常把按一次TAB键等同于四个空格键,也就是一个缩进。

a = 5
b = 10
if a > b:
    print('a大于b') # a>b时执行该语句
else:
    print('a小于b') # a<b时执行该语句

满足if条件就会执行打印‘a大于b’,否则就执行打印‘a小于b’,5肯定小于10,因此会执行else下面的print()函数打印‘a小于b’。两个print()函数均在if条件下,print()函数前面的间隔就是缩进。

​ 通常语句末尾的冒号表示代码块的开始,在if、for、while、函数、类等定义钟都会使用代码块。需要注意的是,同级代码块的缩进量应保持相同,同级的缩进量不同会导致代码报错,无法运行。

三、关键字

Python中标识符主要用在变量、函数、类、模块、对象等的命名中,有些标识符如:if、for、while、break、pass等称为关键字,这些关键字代表了特殊的意义,用户在使用时不能使用这些关键字作为变量名或者自定义函数和自定义类的名称。Python对大小写敏感,在使用这些关键字时要严格区分大小写,不能混淆,否则会造成代码报错!

​ Python提供了一个库可以查询关键字,导入keyword库,打印keyword中的kwlist

>>> import keyword
>>> print(keyword.kwlist)

['False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

这些单词在Python中都有其独特的含义,用户在自定义变量、函数、类时不允许使用关键字。

四、变量

变量用于在Python程序中保存数据。在Python中,所有的数据都是对象,变量保存的是对象的引用。

1.变量名命名规则

变量命名需要遵守一定的规则,具体规则如下:

  • 变量命名区分大小写
ABC = 5
abc = 5
# 这是两个不同的变量
  • 首字符必须是下划线、英文字母或者其他Unicode字符串,数字不能做首字符,其他字符可以是下划线、英文字母、数字或其他Unicode字符。
_list = []
年龄 = 20 
str_01 = '字符串'
# 以上变量名都是合法变量

1name = 'Python' # 非法变量
price$ = 50 # 非法变量
  • 注意:Python2.x版本中文不能做变量名,Python3.x版本中文可以用作变量名,但是一般不建议使用中文做变量名。
  • 禁止使用Python保留字或关键字作变量名,使用保留字或关键字作变量名会导致语法错误。
  • 前后有下划线的变量名通常为系统变量,例如:_ _ init _ _ , _ _ doc _ _都是系统变量。
  • 以一个下划线开头的变量(如_abc)不能被from…import*语句从模块导入
  • 以两个下划线开头、末尾无下划线的变量(如__abc)是类的私有变量。

2.赋值语句

  1. 简单赋值

​ 简单赋值用于为一个变量赋值。

a = 10
# '='为赋值号,不是等于的意思
  1. 序列赋值

​ 序列赋值可以一次为多个变量赋值,"="左侧使用元组、列表表示多个变量,右侧用元组、列表或字符串等序列表示数据。系统会按照位置先后顺序依次赋值给变量。

>>> x, y = 10, 20 # 直接为多个变量赋值
>>> print(x)
10
>>> print(y)
20
>>> (x, y) = (30, 40) # 使用元组为多变量赋值
>>> print(x)
30
>>> print(y)
40
>>> [x, y] = [50, 'abc'] # 使用列表为多变量赋值
>>> print(x)
50
>>> print(y)
abc
>>> (x, y) = 'ab' # 使用字符串为多变量赋值
>>> print(x)
a
>>> print(y)
b
# 当等号右侧为字符串时,Python会将字符串分解为单个字符,依次赋值给各变量,此时变量个数与字符串拆分后的字符个数必须想等,否则会报错

序列赋值时,在变量名前使用"*",表示将剩余部分打包成列表,例如:

>>> x, *y = 'abcd' # 将第一个字符赋值给x, 剩余的字符打包成列表赋值给y
>>> print(x)
a
>>> print(y)
['b', 'c', 'd']

>>> *x, y = 'abcd' # 将最后一个字符赋值给y, 其他字符打包成列表赋值给x
>>> print(x)
['a', 'b', 'c']
>>> print(y)
d

>>> x, *y, z = 'abcd' # 将第一个字符赋值给x, 最后一个字符赋值给z, 其他字符打包成列表赋值给y
>>> print(x)
a
>>> print(y)
['b', 'c']
>>> print(z)
d
  1. 多目标赋值

    多目标赋值指使用连续的多个"=",同时将一个数据赋值给多个变量。例如:

>>> a = b = c = 100 # 将整数100同时赋值给a,b,c三个变量
>>> print(a)
100
>>> print(b)
100
>>> print(c)
100

五、多行语句

1.语句续行符号

在使用Python语言编写程序时会涉及到两个关于行的概念:物理行和逻辑行。物理行是指在编辑器中用于编写代码所占用的空间;逻辑行是根据代码运行逻辑,具有同一运行逻辑的代码属于一个逻辑行。通常情况下,一个物理行放一个逻辑行的代码,但是会有一些特殊情况出现,比如逻辑行代码特别长的情况下,为了方便查看代码,通常会将一个逻辑行代码放在多个物理行中。示例如下:

# 分别定义六个变量,计算求和
# 定义变量的每个物理行存放一个逻辑行代码
>>> item_one = 100
>>> item_two = 200
>>> item_three = 300
>>> item_four = 400
>>> item_five = 500
>>> item_six = 600
>>> total = item_one + item_two + item_three + item_four + item_five + item_six
>>> print(total)

以上示例中,计算total求和的代码为一个逻辑行,但是由于该逻辑行的代码有点长,不美观,因此可以将一个逻辑行代码分别放在多个物理行中,如下示例,这样也不会影响逻辑行代码的正常运行。其中""为Python中的续行符号,在PyCharm编辑器中可以直接使用回车键进行换行,PyCharm会自动补全续行符号。

注意:

>>> item_one = 100
>>> item_two = 200
>>> item_three = 300
>>> item_four = 400
>>> item_five = 500
>>> item_six = 600
>>> total = item_one + item_two + \
			item_three + item_four + \
    		item_five + item_six
>>> print(total)

2.语句分隔符号

Python使用分号作为语句分隔符号,从而将多个逻辑行写在同一个物理行,示例如下:

>>> item_one = 100; item_two = 200; item_three = 300
>>> print(item_one)
>>> print(item_two)
>>> print(item_three)

注意:创建变量可以使用以上这种写法,但是通常情况下不建议这样使用。

六、输入与输出

1.输入

Python3.x中使用input()函数进行数据输入,input()函数语法格式如下:

变量名 = input([prompt])
  • prompt: 提示信息

其中,变量名和提示字符串均可省略。input()函数接收用户输入的内容,用户在提示信息之后输入数据,输入完后按回车键结束输入,input()函数将用户输入的内容变为字符串赋值给变量名,所以input()函数返回的数据类型为字符串。示例如下:

>>> age = input('请输入您的年龄:')
请输入您的年龄:25
>>> print(age)
25
>>> print(type(age))
<class 'str'>

如果需要返回值的类型是整数或者浮点数,可以使用int()函数或者float()函数将返回值的类型进行转换。

在Python中有一个eval()函数可返回字符串的内容,其功能相当于去除字符串的引号,示例如下:

>>> a = eval('100')
>>> print(type(a))
<class 'int'>

如果需要输入整数或浮点数时,可以使用eval()函数对输入的内容进行还原,示例如下:

>>> age = eval(input('请输入您的年龄:'))
请输入您的年龄:25
>>> print(age)
25
>>> print(type(age))
<class 'int'>

2.输出

Python3.x中使用print()函数进行输出,print()函数语法格式如下:

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

参数:

  • objects – 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。
  • sep – 用来间隔多个对象,默认值是一个空格。
  • end – 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。
  • file – 要写入的文件对象。
  • flush – 输出是否被缓存通常决定于 file,但如果 flush 关键字参数为 True,流会被强制刷新。

返回值:

print()函数所有的参数均可省略,无参数时print()输出一个空行,示例如下:

>>> print()

print()函数可同时输出一个或多个数据,这些数据都是传递给*objects这个参数的,输出多个对象时,需要用 ","分隔,示例如下下:

>>> print('python', '程序设计', 100) # 输出多个数据,各数据之间用逗号间隔
pyhon 程序设计 100

print()函数使用sep参数指定多个数据之间的分割符,默认分隔符为空格,可以自行设置分隔符,示例如下:

>>> print('python', '程序设计', 100) # 默认分隔符为空格
pyhon 程序设计 100
>>> print('python', '程序设计', 100, sep='#') # 将分隔符改为"#"
python#程序设计#100

print()函数默认以回车换行符号作为输出结尾符号,即在输出所有数据后会换行。可以用end参数指定输出结尾符号,示例如下:

>>> print('python'); print('程序设计') # 默认为换行符"\n", 第二个print()函数会在下一行执行
python
程序设计
>>> print('python', end='*'); print('程序设计') # 指定“*”为输出结尾符号,两个print()函数输出会在一行
python***程序设计

print()函数由file参数控制输出数据到指定输出流,默认标准输出流为sys.stdout,也可以对file参数进行更改,示例如下:

>>> f = open(r'D:\data.txt','w') # 打开文件
>>> print('python', '程序设计', 100, file=f)
>>> f.close()

上述代码创建了一个data.txt文件,通过print()函数将数据输出到文件。如图所示:
在这里插入图片描述

七、常见内建函数

Python中有一些函数可以作用于任何数据类型,被使用的频率较高,在这里简单介绍:

1.type()函数

type()函数能够返回对象的类型,常用于测试数据类型,但是type()函数有两种语法结构,type()函数语法格式如下:

type(object)

参数:

  • object–对象

返回值:

  • 对象的类型

示例如下:

>>> print(type(1))
<class 'int'>

type()函数另外一种语法格式如下:

type(name, bases, dict)

参数:

  • name – 类的名称。
  • bases – 基类的元组。
  • dict – 字典,类内定义的命名空间变量。

返回值:

  • 新的类型对象

这种方法不常用,了解即可,示例如下:

>>> class X(object):  # 定义一个类
     	a = 1

>>> print(type('X', (object,), dict(a=1))) # 产生一个新的类型 X
<class '__main__.X'>

2.len()函数

len()函数返回对象(字符、列表、元组等)长度或项目个数,len()函数语法格式如下:

len(s)

参数:

  • s–对象

返回值:

  • 对象的长度,整数类型。

示例如下:

>>> str = "python"
>>> print(len(str)) 
6
  • 7
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值