Python基础语法(一)

一、语法概念

1.1 表达式

  • 表达式,是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合
#这些都属于表达式#
 
>>> a = 5
 
>>> b = [1,2,3,4]
 
>>> c > b
 
>>> c = 2 + 6
 
>>> a or b and c
 
>>> e = int('1') * 3
 
#上面表达式中,类似于+、=、>、or、and这种的都是属于运算符,而他们两边的字符、数字则是属于操作数,然后整个的“a = 1”
  • 表达式特点
    表达式一般仅仅用于计算一些结果,不会对程序产生实质性的影响
    如果在交互模式中输入一个表达式,解释器会自动将表达式的结果输出
  • 表达式优先级
    例如:表达式是有优先级的,最简单的如我们赋值运算符中的数学算式:“0 * 1 + 2”和“0 + 1 * 2”结果一定不一样,在“0 + 1 * 2”中优先运算“1 * 2”
#在下面这个运算中,假设a、b、c都是ture值,因为and 的优先级大于 or ,所以最后结果是a#
>>> a or b and c
a
 
#在下面这个运算中,假设a、b、c、d都是ture值#
#因为 + 的优先级大于 and 大于 or ,所以最后结果是a + b的结果#
>>> a + b or c and d
a + b
 
#用括号表现优先级就是:先运行a + b,再运行c or d 得到 d ,最后运行(a+b) or d#
>>> (a + b) or (c and d)
a + b
运算符说明python运算符优先级结合性
小括号( )19
索引运算符x[i] 或 x[i1: i2 [:i3]]18
属性访问x.attribute17
乘方**16
按位取反~15
符号运算符+(正号)、-(负号)14
乘除*、/、//、%13
加减+、-12
位移>>、<<11
按位与&10
按位异或^9
按位或|8
比较运算符==、!=、>、>=、<、<=7
is 运算符is、is not6
in 运算符in、not in5
逻辑非not4
逻辑与and3
逻辑或or2
逗号运算符exp1, exp21

虽然 Python 运算符存在优先级的关系,但我不推荐过度依赖运算符的优先级,这会导致程序的可读性降低。因此,我建议读者:

  • 不要把一个表达式写得过于复杂,如果一个表达式过于复杂,可以尝试把它拆分来书写
  • 不要过多地依赖运算符的优先级来控制表达式的执行顺序,这样可读性太差,应尽量使用( )来控制表达式的执行顺序

1.2 语句

  • 一个语法上自成体系的单位,它由一个词或句法上有关连的一组词构成
  • 语句的执行一般会对程序产生一定的影响,在交互模式中不一定会输出语句的执行结果

1.3 程序

  • 程序就是由一条一条的语句和一条一条的表达式构成的
    例如:print("Hello World!")

1.4 函数(function)

  • 函数就是一种语句,函数专门用来完成特定的功能
  • 函数长的形如:xxx()
  • 函数的分类:
  • 内置函数 : 或者内建函数,就是由语法规定存在的函数,这些函数,包含在编译器的运行时库中,程序员不比单独书写代码实现它,只需要调用既可。
  • 自定义函数 : 由程序员自主的创建的函数 当我们需要完成某个功能时,就可以去调用内置函数,或者自定义函数
  • 函数规则:
    函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
    任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
    函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
    函数内容以冒号起始,并且缩进。
    return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
def functionname( parameters ):
   "函数_文档字符串"
   function_suite
   return [expression]

默认情况下,参数值和参数名称是按函数声明中定义的顺序匹配起来的。

二、标识符

2.1 关键字

  • Python 包含的保留字可以执行如下命令进行查看:

import keyword
keyword.kwlist
[‘False’, ‘None’, ‘True’, ‘and’, ‘as’, ‘assert’, ‘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中的关键字如下所示:在这里插入图片描述

2.2 标识符的概念

  • 开发人员在程序中自定义的一些符号和名称。标识符是自己定义的,如变量名 、函数名等
  • 组成:由26个英文字母大小写,数字 0-9 符号 _$
  • 标识符的规则:
    1.标识符中可以包含字母、数字、_,但是不能使用数字开头 例如:name1 name_1 _name1 1name(不行)
    2.Python中不能使用关键字和保留字来作为标识符
  • 命名规则
    Python 中标识符的命名不是随意的,而是要遵守一定的命令规则,比如说:
    标识符是由字符(A~Z 和 a~z)、下划线和数字组成,但第一个字符不能是数字。
    标识符不能和 Python 中的保留字相同。有关保留字,后续章节会详细介绍。
    Python中的标识符中,不能包含空格、@、% 以及 $ 等特殊字符。
    例如,下面所列举的标识符是合法的:
UserID
name
mode12
user_age

例如,下面所列举的标识符是不合法的:

4word    #不能以数字开头
try          #try是保留字,不能作为标识符
$money #不能包含特殊字符

标识符的命名,除了要遵守以上这几条规则外,不同场景中的标识符,其名称也有一定的规范可循,例如:

  • 当标识符用作模块名时,应尽量短小,并且全部使用小写字母,可以使用下划线分割多个字母,例如 game_mian、game_register 等。
  • 当标识符用作包的名称时,应尽量短小,也全部使用小写字母,不推荐使用下划线,例如 com.mr、com.mr.book 等。
  • 当标识符用作类名时,应采用单词首字母大写的形式。例如,定义一个图书类,可以命名为 Book。
  • 模块内部的类名,可以采用 “下划线+首字母大写” 的形式,如 _Book;
  • 函数名、类中的属性名和方法名,应全部使用小写字母,多个单词之间可以用下划线分割;
  • 常量命名应全部使用大写字母,单词之间可以用下划线分割;

三、基本数据类型

3.1 数据类型

  • 等号(=)用来给变量赋值。
  • 多个变量赋值
a=b=c=10
  • 标准数据类型
    1、Number(数字)
    Python3 支持 int、float、bool、complex(复数)。
    在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
>>> a, b, c, d = 20, 5.5, True, 4+3j
>>> print(type(a), type(b), type(c), type(d))
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>

此外还可以用 isinstance 来判断:

>>> a = 20
>>> isinstance(a, int)
True
>>>

2、String(字符串)
3、List(列表)
4、Tuple(元组)
5、Set(集合)
6、Dictionary(字典)

  • Python3 的六个标准数据类型中:
    不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
    可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

四、变量

4.1 变量的概念

  • 变量是计算机内存中的一块区域,存储规定范围内的值,值 可以改变,通俗的说变量就是给数据起个名字。
  • 变量命名规则
    1、变量名由字母、数字、下划线组成要符合标识符的命名规范
    2、数字不能开头
    3、不能使用关键字
    注意 : 是两个对象相等和两个对象是同一个对象是两个概念

4.2 变量的运算

  • 变量的运算就是正常的四则运算 ,需要注意的是在运算过程中含有浮点数,那么它返回的就是一个浮点数类型

五、字符串

5.1 字符串概念

  • 字符串是由数字、字母、下划线组成的一串字符
    注意:
    1、单引号和双引号不能混合使用
    2、Python中用一对双引号或者一对单引号包裹的内容就是字符串
a1 = 'Hello World!'
a2 = "Python Runoob"

5.2 转义字符

  • 转义字符是一种特殊的字符常量。转义字符以反斜线""开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符
  • 在需要在字符中使用特殊字符时,python 用反斜杠 \ 转义字符。如下表:
转义字符描述
\续行符
\\反斜杠符号
\’单引号
\"双引号
\a响铃
\b退格(Backspace)
\e转义
\000
\n换行
\v纵向制表符
\t横向制表符
\r回车
\f换页
\oyy八进制数,yy代表的字符,例如:\o12代表换行
\xyy十六进制数,yy代表的字符,例如:\x0a代表换行
\other其它的字符以普通格式输出

5.3 长字符串

  • 长字符串 又叫做文档字符串 我们使用三重引号来表示一个长字符串’’’ ‘’’
  • 三重引号可以换行,并且会保留字符串中的格式
换行、保留格式
image = '''
 /\_)o<
|      \\
| O . O|
 \_____/
'''
注释
'''
luckylist = ['海绵宝宝','派大星','章鱼哥']
# random模块中有个随机选取一个元素的方法:random.choice()。
a = random.choice(luckylist)  # 从3个人中随机选取1个人。
print('开奖倒计时',3)
time.sleep(1)  # 调用time模块,控制打印内容出现的时间
print('开奖倒计时',2)
time.sleep(1)
print('开奖倒计时',1)
time.sleep(1)
# 使用三引号打印hellokitty的头像
'''

在这里插入图片描述

5.4 Unicode 字符串

  • Python 中定义一个 Unicode 字符串和定义一个普通字符串一样简单:
>>> u'Hello World !'
u'Hello World !'

5.5 格式化字符串

  • 第一种格式化字符串 拼串
  • 第二种格式化字符串 参数传递
  • 第三种格式化字符串 占位符
    %s 字符串占位
    %f 浮点数占位
    %d 整数占位
  • 第四种格式化字符串 f’{变量}’/ str.format
a='hello'
print('{} world'.format(a))
print('%s world' %a)

在这里插入图片描述

5.6 python的字符串内建函数

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值