1.几个概念
1.1 表达式
- 表达式:是由数字、算符、数字分组符号(括号)、⾃由变量和约束变量等以能求得数值的有意义排列⽅法所得的组合。
表达式 1+1 2*4 就是一个类似于数学公式的东西 - 表达式特点:
表达式不会对我们的程序产生实质性的影响,仅仅用于计算一些结果。
如果在交互模式中输⼊⼀个表达式,解释器会⾃动将表达式的结果输出。
1.2 语句
- 在程序中一般用语句来完成某种功能。例如 print() input() for xxx in yyy: a=4 pass占位不做任何事。
- 代码块
- ⼀个语法上⾃成体系的单位,它由⼀个词或句法上有关连的⼀组词构成。
- 语句的执⾏⼀般会对程序产⽣⼀定的影响,在交互模式中不⼀定会输出语句的执⾏结果。
1.3 程序
- 由一条一条的语句和一条一条的表达式构成的。
1.4 函数
- 函数就是一个语句,函数是为了完成特定的功能。
- 形如:xxx()print()
- 函数的分类:
- 内置函数(内建函数)python自带的。就是由语法规定存在的函数,这些函数,包含在编译器的运⾏时库中,程序员不⽐单独书写代码实现它,只需要调⽤既可。
- 自定义def xxx(): 由程序员⾃主的创建的函数 当我们需要完成某个功能时,就可以去调⽤内置函数,或者⾃定义函数。
- 函数的2个要素:
- 参数:()中的内容就是函数的参数,可以有1个可以有多个,多个用英文,隔开
- 返回值
2.标识符
python语言的组成:1.关键字 2.标识符 3.注释 4.变量和数值 5.运算符 6.语句 7.函数 8.序列
2.1 关键字(具有一些特殊功能的标识符)
>>> 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']
2.2 标识符概念
- 开发人员在程序中自己定义的一些符号和名称。如 变量名 函数名 类名…
- 组成:由26个英⽂字⺟⼤⼩写,数字 0-9 符号 _$
- 标识符的规则:
- 不能以数字开头:name1 name 1name(不行)
- 不能用关键字和保留字来作为标识符。
- 命名方式
- 驼峰命名法
- 小驼峰:第⼀个单词以⼩写字⺟开始;第⼆个单词的⾸字⺟⼤写,如:myName aDog
- 大驼峰:每⼀个单词的⾸字⺟都采⽤⼤写字⺟,例如:FirstName LastName
- 下划线命名法:get_url buerr_size
- 驼峰命名法
3.基本数据类型
数据类型值得就是变量的值得类型,也就是可以为变量赋哪些值。
3.1 整数和小数
- 整数:所有整数,如:a=1,b=100 都是int类型
如果数字过大可以用下划线分割,如123_456_789
>>> c = 123_456_789
>>> print(c)
123456789
- 小数(浮点数):所有⼩数 例如 a = 1.2 b=6.66 ⽤float类型表示
浮点数计算先转换成二进制再进行计算,结果会有误差
>>> print(0.1+0.2)
0.30000000000000004
3.2 布尔值和空值
布尔值:只有2个值 True False 。用于逻辑判断。
布尔值实际上也属于整型 True就相当于1,False相当于0
print(1+True) # 1+1
print(1+False) # 1+0
# 死循环
while True:
pass
while 1:
pass
None:只有⼀个数值就是None,也就是空值,不存在。type(None)为NoneType
4.变量
- 变量就是计算机内存中的一块区域,存储规定范围内的值,值可以改变,通俗讲变量就是给数据起个名字。
如:a = 3 id()查看对象 - 变量命名规则:
- 变量名由字⺟、数字、下划线组成要符合标识符的命名规范。
- 数字不能开头。
- 不能使⽤关键字。
- 注意:两个对象相等和两个对象是同一个对象是2个概念 若id(s1)==id(s2),则s1和s2是同一个对象
>>> s1 = {'Jerry':'Python'}
>>> import copy
>>> s2 = copy.deepcopy(s1)
>>> print(s2)
{'Jerry': 'Python'}
>>> print(id(s1),id(s2))
3098246256536 3098246810864
>>> print(s1==s2)
True # 两个对象相等,但不是同一个对象
>>> a = 123
>>> b = 123
>>> print(id(a),id(b))
1398308128 1398308128
>>> print(a==b)
True # 两个对象相等,且是同一个对象
- 变量的运算
变量的运算就是正常的四则运算 ,需要注意的是在运算过程中含有浮点数,那么它返回的就是⼀个浮点数类型。
>>> 1 + 2
3
>>> 1.0 + 2
3.0
>>> 1 + 2.0
3.0
>>> 1.0 +3.0
4.0
>>> 1 * 2
2
>>> 1.0 * 2
2.0
>>> 1.0 * 2.0
2.0
>>> 1 * 2.0
2.0
5.字符串
5.1 什么是字符串
- 用一对单引号或者一对双引号包裹的内容就是字符串。
注意:单引号和双引号不能混合使用。 - 相同引号之间不能嵌套。
5.2 转义字符
转义字符是⼀种特殊的字符常量。转义字符以反斜线""开头,后跟⼀个或⼏个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。
- \t 表示制表符
- \n 表示换⾏符
- \ 表示反斜杠
- ’ 表示 ’
- \ ‘’ 表示 ‘’
- r原始字符串,表示后面""内全是字符串,没有转义。
5.3 ⻓字符串
⻓字符串,⼜叫做⽂档字符串,我们使⽤三重引号来表示⼀个⻓字符串’’’ ‘’’。
三重引号可以换⾏,并且会保留字符串中的格式。
5.4 格式化字符串
- 第⼀种格式化字符串:拼串
s = 'hello'
print('s = '+s)
- 第⼆种格式化字符串:参数传递
print('s =', s)
- 第三种格式化字符串:占位符
%s 字符串占位
%f 浮点数占位
%d 整数占位
s = 's = %s' % 'hello'
print(s)
s = 's = %s,s2= %s' % ('hello', 'world')
print(s)
- 第四种格式化字符串 f’{变量}’/ str.format
s1 = 'Anne'
s2 = 'Bob'
a = f'Hello {s1},{s2}'
print(a)
# str.format() python2.6里开始出现
s = 'I like {}' # 或'I like {0}'
a = s.format('python') # 函数:xxx() 方法:y.xxx()
print(a)
s = '歌赋'
a = f'诗词 {s}'
print(a)
s = 'I like {},{}' # 或s = 'I like {0},{1}' output: I like python,java
a = s.format('python', 'java') # 如果s = 'I like {1},{0}'
print(a) # output:I like java, python
5.5 字符串的其他操作
- 字符串的长度 len()
- 最大值和最小值 max() min() 按照ascii码的值的大小 ord()可查看值
- 分割字符串 split() 爬虫 src = ‘xxxxxxxxxxxx.jpg’ a = 1 返回值:列表 ‘xxxxxxxxxxxx.jpg’.split(’.’) 以’.'来分割
- 拼接字符串 join() ‘-’.join(‘ab’) 以’-‘来连接’ab’变成’a-b’
- 去空格
- s.strip() 左右两边去空格
- s.lstrip() 去左边空格
- s.rstrip() 去右边空格
- 字符串⼤⼩写
- s.upper() 全部⼤写
- s.lower() 全部消息
- s.isupper() 判断是不是⼤写
- s.islower() 判断是不是⼩写