python的基础知识
1.python的几个基本概念
1.1python语言的表达式
• 表达式,是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合
• 表达式特点
• 表达式一般仅仅用于计算一些结果,不会对程序产生实质性的影响
• 如果在交互模式中输入一个表达式,解释器会自动将表达式的结果输出
在交互模式中会自动输入表达式的结果,其表达式不会对程序产生实质性的影响
1.2语句
一个语法上自成体系的单位,它由一个词或句法上有关连的一组词构成
语句的执行一般会对程序产生一定的影响,在交互模式中不一定会输出语句的执行结果
1.3程序(program)
程序就是由一条一条的语句和一条一条的表达式构成的。
1.4函数(funciton)
• 函数就是一种语句,函数专门用来完成特定的功能
• 函数长的形如:xxx() ; print() ; input();del()
• 函数的分类:
• 内置函数 : 或者内建函数,就是由语法规定存在的函数,这些函数,包含在编译器的运行时库中,程序员不比单独书写代码实现它,只需要调用既可。
• 自定义函数 : 由程序员自主的创建的函数 当我们需要完成某个功能时,就可以去调用内置函数,或者自定义函数
• 函数的2个要素
• 参数
• 返回值
2.标识符
2.1 关键字
• python一些具有特殊功能的标识符,这就是所谓的关键字关键字,是python已经使用的了,所以不允许开发者自己定义和关键字相同的名字的标识符
False | await | else | import | pass |
---|---|---|---|---|
None | break | except | in | raise |
True | class | finally | is | return |
and | continue | for | lambda | try |
as | def | from | nonlocal | while |
assert | del | global | not | with |
async | elif | if | or | yield |
2.2标识符概念
开发人员在程序中自定义的一些符号和名称。标识符是自己定义的,如变量名 、函数名等
组成:是由26个英文字母大小写组成,数字0-9 还有符号 _ $
标识符的规则:
1.标识符中可以包含字母、数字、_ ,但是不能使用数字开头 ,也不可以用关键字来命名
例如:name1 name_1 __name1 1name(不行) for= (不可以)
2.Python中不能使用关键字和保留字来作为标识符
3.标志符中间不能含有空格
name1='hello world!'#正确
name_1='hello world!'#正确
1name='hello world!'##错误的命名
for='hello world!'##错误的命名
my name='hello world!'##错误的命名
驼峰命名法:
小驼峰式命名法: 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog
大驼峰式命名法: 每一个单字的首字母都采用大写字母,例如:FirstName、LastName
下划线命名法:
不过在程序员中还有一种命名法比较流行,就是用下划线“_”来连接所有的单词,比如 get_url buffer_size
可以尽量使用汉语翻成英文进行命名
worldname='hello world!'#小驼峰命名法
WorldName='hello world!'#大驼峰命名法
world_name='hello world!'#下划线命名法
3.基本数据类型
数据类型指的就是变量的值的类型,也就是可以为变量赋哪些值
3.1 整数和小数还有复数
• 整数 : 所有整数 例如 : a = 1 b = 100 c =999 都是int类型
• 小数常量 : 所有小数 例如 a = 1.2 b=6.66 用float类型表示
3.2 布尔值和空值
• 布尔: 只有2个值一个是True 一个是False
• None常量:只有一个数值就是None 也就是空值
整数的4种表现形式:
十进制:最普通的整数就是十进制
二进制:以0b或0B开头的整数就是二进制整数
八进制:以0o或0O开头的整数就是八进制的整数
十六进制:以0x或0x开头的整数就是十六进制整数
浮点数:
浮点数数值用于保存带小数点的数值。十进制数的形式:这种形式是平常简单的浮点数,科学计数形式:比如5.12e2(为5.12*102)
复数:
python是支持复数的,复数的虚部用j或J表达式。如果在程序中对复数进行计算,可导入python相应的模块math.complex(),包含了支持复数运算的函数
3.2布尔值和空值
• 布尔: 只有2个值一个是True 一个是False
• None常量:只有一个数值就是None 也就是空值
True 可以看作是1,及True==1
False 可以看作是0,及False==0
空值常量就是一个值 None不存在
代码事例:
print(1+False)#False相当于0
print(1+True)#True相当于1
运行为:
4.字符串
4.1什么是字符串
• 字符串是由数字、字母、下划线组成的一串字符,既可以使用单引号也可以使用双引号
• 但单引号和双引号不能混合使用
• Python中用一对双引号或者一对单引号包裹的内容就是字符串
a = 'my_world123' #可以
b = "my_world123" #可以
c = "my_world123' #❌不可以
4.2转义字符
转义字符是一种特殊的字符常量。转义字符以反斜线""开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符
总结
\t | 表示制表符 (相当于是一个大空格) |
---|---|
\b | 表示 退格符 |
\n | 表示换行符 |
\r | 表示回车符 |
\ | 表示一个反斜杠(相当于就是 \ ) |
\’ | 单引号 表示 ’ |
\ ‘’ | 双引号 表示 ‘’ |
\b | 表示 退格符 |
原始字符串是以r开头,原始字符串不会把反斜线当成特殊字符。内容里面包含的 ‘ 不会被当成特殊的符号。
代码示例:
a = r'my \new firend'
print(a)
运行为:
4.3长字符串
• 长字符串 又叫做文档字符串 我们使用三重引号来表示一个长字符串’’’ ‘’’
• 三重引号可以换行,并且会保留字符串中的格式
4.4格式化字符串
常用的几种格式化占位符:
• 第一种格式化字符串 拼串
• 第二种格式化字符串 参数传递
• 第三种格式化字符串 占位符
• %s 字符串占位
• %f 浮点数占位
• %d 整数占位
• 第四种格式化字符串 f’{变量}’/ str.format
代码示例:
meizi="妹子"
print('hello','漂亮的',meizi) #传参
print('hello'+'漂亮的'+meizi) #拼串
print('hello漂亮的 %s'% meizi) #占位表达
print(f'hello 漂亮的 {meizi}' )#格式化
运行为:
使用%加转换说明符的方式执行字符串格式化如下表:
转换说明符 | 说明 |
---|---|
d,i | 转换为带符号的十进制整数 |
o | 转换为带符号的八进制整数 |
x,X | 转换为带符号的十六进制整数 |
e,E | 转换为科学计数法表示的浮点数(e小写,E大写) |
f,F | 转化为十进制浮点数 |
g | 智能选择使用f或e的格式 |
G | 智能选择使用F或E的格式 |
C | 转换为单字符(只接受整数或单字符字符串) |
r | 使用repr()将变量或表达式转换为字符串 |
s | 使用str()将变量或表达式转换为字符串 |
4.5字符串的其他操作
字符串本质就是由多个字符组成,字符串本质就是不可变序列,序列的相关方法:
•in运算,包含在另一个字符串里的一本分片段内容
• len() 字符串的长度
• max()最大值
• min() 最小值
• split()分割字符串,将字符串按指定分割符分成多个短语
• join()拼接字符串,将多个短语连接成字符串
• 去空格:
• s.strip() 左右两边去空格
• s.lstrip() 去左边空格
• s.rstrip() 去右边空格
• 字符串大小写:
• s.upper() 全部大写
• s.lower() 全部小写
• s.isupper() 判断是不是大写
• s.islower() 判断是不是小写
查找、替换相关方法
s.startswith():判断字符串是否以指定子串开头
s.endswith():判断字符串是否以指定子串结尾
s.find():查找指定子串在字符串中出现位置,如果没有找到指定子串,则返回-1
s.index():查找指定字串中出现的位置如果没有找到指定字串,则会引起ValueError错误
s.replace():使用指定子串替换字符中的目标子串
s.translate():使用指定的翻译映射表对字符串执行替换
4.6字节串和字符串的转换
字节串(bytes)是由多个字节组成
bytes和str除了操作的数据单元不同之外他们所有支持的方法也都基本相同,bytes也是不可变序列。
将字符串转换成bytes对象:
·字符串内容都是ASCII字符,可以通过直接在·字符串之前添加b前缀来构建字节值
·调用bytes()函数将字符串按指定字符串转成字节串,默认使用UTF-8字符集。
调用bytes对象的decode()方法将bytes对象解码成字符串
5.变量
5.1变量的概念
• 变量是计算机内存中的一块区域,存储规定范围内的值,值 可以改变,通俗的说变量就是给数据起个名字。
• 变量命名规则
• 变量名由字母、数字、下划线组成要符合标识符的命名规范
• 数字不能开头
• 不能使用关键字
• 注意 : 是两个对象相等和两个对象是同一个对象是两个概念
s1 = {'Jerry':'Python'}
import copy
s2 = copy.deepcopy(s1)
print(s2) # {'Jerry': 'Python'}
print(id(s1),id(s2))
print(s1==s2)
5.2变量的运算
变量的运算就是正常的四则运算 ,需要注意的是在运算过程中含有浮点数,那么它返回的就是一个浮点数类型