1. 几个概念
1.1 表达式
- 定义:由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合。约束变量在表达式中已被指定数值,而自由变量则可以在表达式之外另行指定数值
- 特点:表达式⼀般仅仅⽤于计算⼀些结果,不会对程序产⽣实质性的影响,如果在交互模式中输⼊⼀个表达式,解释器会⾃动将表达式的结果输出
- 意义:给与自由变量一些数值指定,可以给与一个表达式数值,即使对于一些自由变量的值,表示式或许没有定义。因此,一个表达式代表一个函数,其输入为自由变量的定值,而其输出则为表示式因之后所产生出的数值
1.2 语句
- 定义:⼀个语法上⾃成体系的单位
- 特点:由一个词或句法上有关连的一组词构成,表达一种主张、疑问、命令、愿望或感叹
- 意义:语句的执⾏⼀般会对程序产⽣⼀定的影响,在交互模式中不⼀定会输出语句的执⾏结果
1.3 程序
- 定义:进行某项活动或过程所规定的途径
- 特点:由⼀条⼀条的语句和⼀条⼀条的表达式构成的
- 意义:为解决一个信息处理任务而预先编制的工作执行方案
1.4 函数
- 函数就是⼀种语句,函数专⻔⽤来完成特定的功能
- 函数⻓的形如:xxx()
- 函数的分类:
- 内置函数:或者内建函数,就是由语法规定存在的函数,这些函数,包含在编译器的运⾏时库中,程序员不必单独书写代码实现它,只需要调⽤既可
- ⾃定义函数:由程序员⾃主的创建的函数 当我们需要完成某个功能时,就可以去调⽤内置函数,或者⾃定义函数
内置函数表
abs() | divmod() | input() | open() | staticmethod() |
---|---|---|---|---|
all() | enumerate() | int() | ord() | str() |
any() | eval() | isinstance() | pow() | sum() |
basestring() | execfile() | issubclass() | print() | super() |
bin() | file() | iter() | property() | tuple() |
bool() | filter() | len() | range() | type() |
bytearray() | float() | list() | raw_input() | unichr() |
callable() | format() | locals() | reduce() | unicode() |
chr() | frozenset() | long() | reload() | vars() |
classmethod() | getattr() | map() | repr() | xrange() |
cmp() | globals() | max() | reversed() | zip() |
compile() | hasattr() | memoryview() | round() | _ import _() |
complex() | hash() | min() | set() | delattr() |
help() | next() | setattr() | dict() | hex() |
object() | slice() | dir() | id() | oct() |
- 函数的2个要素
- 参数
- 返回值
2. 标识符
2.1 关键字
- python⼀些具有特殊功能的标识符,这就是所谓的关键字,是python已经使⽤了的,所以不允许开发者⾃⼰定义和关键字相同的名字的标识符
False | None | True | def | import |
---|---|---|---|---|
pass | for | if | else | elif |
and | as | assert | async | await |
break | class | continue | del | except |
finally | from | global | in | is |
lambda | nonlocal | not | or | raise |
return | try | while | with | yield |
2.2 标识符
- 定义:开发⼈员在程序中⾃定义的⼀些符号和名称
- 组成:26个英⽂字⺟⼤⼩写,数字0-9 ,符号“_” 和 “$”
- 标识符的规则:
1.标识符中可以包含字⺟、数字、_,但是不能使⽤数字开头 例如:name1,name_1,_name1, 1name(不⾏)
2.Python中不能使⽤关键字和保留字来作为标识符 - 命名方式:
驼峰命名法:
⼩驼峰式命名法: 第⼀个单词以⼩写字⺟开始;第二个单词的⾸字⺟⼤写。
例如:myName、aDog、lastName
⼤驼峰式命名法: 每⼀个单字的⾸字⺟都采⽤⼤写字⺟。
例如:FirstName、LastName、MyName
下划线命名法:
不过在程序员中还有⼀种命名法⽐较流⾏,就是⽤下划线“_”来连接所有
的单词,⽐如 get_url, buffer_size
3. 基本数据类型
- 数据类型指的就是变量的值的类型,也就是可以为变量赋哪些值
3.1 整数和浮点数
- 整数:所有整数。 例如 : a = 1 b = 100 c =999 都是int类型
- 浮点数:即所有⼩数。 例如 a = 1.2 b=6.66 ⽤float类型表示
3.2 布尔值和空值
- 布尔(bool):只有2个值⼀个是True,⼀个是False(其中True=1,False=0)
- 空值(None):只有⼀个数值就是None,也就是空值
4. 变量
4.1 变量的概念
- 变量是计算机内存中的⼀块区域,存储规定范围内的值,值 可以改变,通俗的说变量就是给数据起个名字
- 变量命名规则:
变量名由字⺟、数字、下划线组成要符合标识符的命名规范
不能以数字开头
不能使⽤关键字
4.2 变量的运算
- 变量的运算就是正常的四则运算 ,需要注意的是在运算过程中含有浮点数,那么它返回的就是⼀个浮点数类型
5. 字符串
5.1 什么是字符串
- 字符串是由数字、字⺟、下划线组成的⼀串字符
- 注意:
单引号和双引号不能混合使⽤
Python中⽤⼀对双引号或者⼀对单引号包裹的内容就是字符串
5.2 转义字符
- 转义字符是⼀种特殊的字符常量。转义字符以反斜线""开头,后跟⼀个或⼏个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符
- 常用转义字符:
\t 表示制表符
\n 表示换⾏符
\ \ 表示反斜杠
\ ' 表示单引号
\ '' 表示双引号
5.3 长字符串
- ⻓字符串 ⼜叫做⽂档字符串 我们使⽤三重引号来表示⼀个⻓字符串''' '''
- 三重引号可以换⾏,并且会保留字符串中的格式
5.4 格式化字符串
- 第⼀种格式化字符串 拼串
- 第⼆种格式化字符串 参数传递
-
第三种格式化字符串 占位符
%s 字符串占位
%f 浮点数占位
%d 整数占位 - 第四种格式化字符串 f'{变量}'/ str.format
5.5 字符串的常用操作
- len() 字符串的⻓度
- max() 最⼤值
- min() 最⼩值
- 修剪方法:
str.strip( [chars] ) 左右两边去空格 若不指定chars,默认去掉首尾空格或者换行符或者字符序列
str.lstrip() 去左边空格
str.rstrip() 去右边空格
- 拼接方法:
sep.join(iterable) 以sep作为分隔符,将iterable中所有的元素合并为一个新的字符串
- 大小写转换方法:
str.upper() 将字母全部转换成大写
str.lower() 将字母全部转换成小写
str.capitalize() 将 首字符 转换成大写,其余字母小写 (即只有一个字母大写,并且是 首字符为字母时才大写 ,否则字母全部小写)
str.title() 将 所有单词的首字母 转换成大写 (即有几个单词就有几个字母大写)
str.swapcase() 将大写转换成小写,小写转换成大写
- 判断方法:
str.isupper() 判断是不是全部大写
str.islower() 判断是不是全部小写
str.istitle() 判断所有单词首字母是不是全部大写
str.isalnum() 判断是不是由数字或字母组成
str.isalpha() 判断是不是由字母或汉字组成
str.isdigit() 判断是不是全由数字组成
str.isspace() 判断是不是全由空格组成
- 检索方法:
str.startswith("chars"[,start[,end]]) 判断指定字符串中是否以 chars 开头
str.endswith("chars"[,start[,end]]) 判断指定字符串中是否以 chars 结尾
str.count("chars"[,start[,end]]) 统计指定字符串中 chars 出现的次数
str.find("chars"[,start[,end]]) 查找指定字符串中 chars 第一次出现的索引值 (若未查找到,则返回 -1)
str.index("chars"[,start[,end]]) 查找指定字符串中 chars 第一次出现的索引值 (若未查找到,则直接报错)
- 替换方法:
str.replace(oldstr,newstr[,count]) 用新的子字符串替换旧的子字符串,若不指定 count 默认全部替换
- 分割方法:
str.split(["分割符"[,分割次数]]) 通过指定分割符对字符串进行切片,拆分字符串,并返回一个列表 (默认分割空格,\n,\r,\t)
str.splitlines([keepends]) 通过行界符对字符串进行切片,拆分字符串,并返回一个列表 (默认分割\r,\n,\r\n)
str.partition("sep") 从sep出现的第一个位置起,把字符串分成一个三元数组(3个元素的元组) (若未找到sep,则返回 字符本身 和 两个空格 组成的三元数组)
str.rpartition("sep") 从sep出现的最后一个位置起,把字符串分成一个三元数组(3个元素的元组) (若未找到sep,则返回 两个空格 和 字符本身 组成的三元数组)
实例1
s="人生 苦\t短,\n我用\rPython"
print(s.split()) #运行结果['人生', '苦', '短,', '我用', 'Python']
print(s.splitlines()) #运行结果['人生 苦\t短,', '我用', 'Python']
s1="爱魔方 爱Python 因为热爱 所以执着"
print(s1.split("爱",2)) #运行结果['', '魔方 ', 'Python 因为热爱 所以执着']
实例2
s2="123456789125"
print(s2.partition("56")) #运行结果('1234', '56', '789125')
print(s2.partition("1")) #运行结果('', '1', '23456789125')
print(s2.partition("15")) #运行结果('123456789125', '', '')
print(s2.rpartition("56")) #运行结果('1234', '56', '789125')
print(s2.rpartition("1")) #运行结果('123456789', '1', '25')
print(s2.rpartition("15")) #运行结果('', '', '123456789125')