一、基本概念
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这种的都是属于运算符,而他们两边的字符、数字则是属于操作数。
- 表达式的特点
- 表达式一般仅用于计算一些结果,不会对程序产生实质性的影响
- 如果在交互模式中输入一各表达式,解释器会自动将表达式的结果输出
- 表达式优先级
- 表达式是有优先级的,最简单的和我们赋值运算符中的数学加、减、乘、除。
运算符说明 | python运算符 | 优先级 |
---|---|---|
小括号 | ( ) | 19 |
索引运算符 | x[i] 或 x[i1: i2 [:i3]] | 18 |
属性访问 | x.attribute | 17 |
乘方 | ** | 16 |
按位取反 | ~ | 15 |
符号运算符 | +(正号)、-(负号) | 14 |
乘除 | *、/、//、% | 13 |
加减 | +、- | 12 |
位移 | >>、<< | 11 |
按位与 | & | 10 |
按位异或 | ^ | 9 |
按位或 | | | 8 |
比较运算符 | ==、!=、>、>=、<、<= | 7 |
1.2语句
- 一个语法上自成体系的单位,它由一个词或句法上有关连的一组词构成
- 语句的执行一般会对程序产生一定的影响,在交互模式中不一定会输出语句的执行结果
1.3 程序
- 程序就是由一条一条的语句和一条一条的表达式构成的
例如:print('hello world!')
1.4 函数
- 函数就是一种语句,函数专门用来完成特定的功能
- 函数的分类:
内置函数 : 或者内建函数,就是由语法规定存在的函数,这些函数,包含在编译器的运行时库中,程序员不比单独书写代码实现它,只需要调用既可。
自定义函数 : 由程序员自主的创建的函数 当我们需要完成某个功能时,就可以去调用内置函数,或者自定义函数 - 函数规则:
- 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
- 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
- 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
- 函数内容以冒号起始,并且缩进。
- return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
二、标识符
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 符号 _$
- 标识符的命名规则:
一般采用**大驼峰(MyName)、小驼峰(myName)或下划线(my_name)**方式进行命名。
三、基本数据类型
3.1 常用数据类型
3.1.1整型
整型也叫整数
a = 1
b = 100
c = 123_456_789
print(c,type(c))
3.1.2浮点型
浮点型也即是小数
a = 1.1
print(a,type(a))
3.13布尔值(bool)
布尔值只有两个值,True和False,主要用于逻辑判断,其中True相当于1,False相当于0。
print(1+True)
print(1+False)
3.1.4空值(None)
空值相当于没有,不能用于数值相加。
四、变量
4.1 变量的概念
- 变量是计算机内存中的一块区域,存储规定范围内的值,值 可以改变,通俗的说变量就是给数据起个名字。
- 变量命名规则
- 变量名由字母、数字、下划线组成要符合标识符的命名规范
- 数字不能开头
- 不能使用关键字
a = 10541612651251203521036512035120101203202303203203
b = 10541612651251203521036512035120101203202303203203
print(id(a))
print(id(b))
注意 : 是两个对象相等和两个对象是同一个对象是两个概念
4.2 变量的运算
- 变量的运算就是正常的四则运算 ,需要注意的是在运算过程中含有浮点数,那么它返回的就是一个浮点数类型
1+2.0
=3.0
五、字符串
5.1 字符串概念
- 字符串是由数字、字母、下划线组成的一串字符
- 单引号和双引号不能混合使用
- Python中用一对双引号或者一对单引号包裹的内容就是字符串
a = 'sabd'
b = 'sabd'
print(a is b)
sabd表示是字符串。
注意:
- 输出结果为可能为True,也可能为False,表明a和b在内存中ID有可能相同(相同即为True),也有可能不同(False)
- '和“不能同时使用
- 当字符串当中有单引号(“’”),则字符串外用“”表示
5.2 转义字符
-
转义字符是一种特殊的字符常量。转义字符以反斜线""开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符
-
在需要在字符中使用特殊字符时,python 用反斜杠 \ 转义字符。
-
常用转义字符
- \,续行符
- \’,单引号
- ",双引号
- \n,换行符
- \t,制表符,四个空格,一个tab的距离
- r’,取消转义,返回字符串原来的含义
- \,反斜杠符号
a='c: \\news'
print(a)
输出结果为:c \news
5.3 长字符串
- 5.3.1作用
- 1.注释
- 2.保留原始格式的字符串
str =’’’
生命诚可贵,
爱情价更高。
若为金钱故,
两者皆可抛。
‘’’
生命诚可贵,
爱情价更高。
若为金钱故,
两者皆可抛。
5.4 格式化字符串
- 拼串
a = 'i love '+'刘亦菲'
print(a)
- 参数传递
a = 'i love '
print(a,'刘亦菲')
- 占位符
-
%s 字符串占位(通用占位符)
a = 'i love %s' % '刘亦菲'
print(a)
-
%d 整数占位
a = 'i love %d % 1
print(a)
i love 1
-
%f 浮点数占位
a = 'i love %f' % 1
print(a)
i love 1.00000
-
f’占位
a = '刘亦菲'
b = 'f ' i love {b}'
print(b)
i love 刘亦菲
-
format()占位
a = '刘亦菲'
b = 'i love {}'.format(a)
print(b)
-
5.5 字符串其他操作方法
5.5.1 len()求取长度
a = 'python'
len()
#求取长度
print(len(a))
5.5.2 max()、mix()按照ASCII表格的值来比大小
print(max(a),min(a))
5.5.3 split(’ ')分割字符串
a = 'i love 刘亦菲'
b = a.split(' ')
#按照空格进行分割,可自定义
print(b)
['i','love','刘亦菲']
5.5.4 join()拼接字符串
a = '123456'
b = '-'.join(a)
print(b)
1-2-3-4-5-6
5.5.5 find()查找字符串
结果就是这个字符串所在位置的下标(索引),从0开始。
a = 'i love 刘亦菲'
print(a.find('刘'))
7
从0开始的第7个位置,返回“-1”,则为没有找到。
5.5.6 replace()替换
a = 'i love 刘亦菲'
b = a.replace('刘亦菲','周慧敏)'
#将“刘亦菲”替换成“周慧敏”
print(b)
i love 周慧敏
5.5.7 partition()分割
根据指定的字符串,将原来的字符串替换成前、中、后三部分。
a = 'i love 刘亦菲'
b = a.partition('ve')
print(b)
'i lo','ve','刘亦菲'
5.5.8 去空格
_i_love_you _
- s.strip(),表示去"i"前和“you”后的2个空格;
- s.lstrip(),表示去掉“i”前面的空格;
- s.rstrip(),表示去掉“you”后面的空格。
5.5.9 字符串大小写
- s.upper()全部大写
- s.lower()全部小学
- s.isupper()判断是不是大写
- s.islower()判断是不是小写
六、切片
-
切片1
a = '123456789'
b = a[2:4]
#左闭又开型,俗称“包前不包后”,下标从0开始
print(b)
34
-
切片2
a = '123456789'
b = a[:]
#从0开始,到最后一个结束
print(b)
123456789
-
切片3
a = '123456789'
b = a[0::2]
#从第一个开始,到最后一个结束,步长为2(每个2个取一次)
print(b)
13579
-
切片4
a = '123456789'
b = a[-1:-6:-1]
#从最后一个到从后数第6个,反向取值
print(b)
98765