1.基础语法知识
1.1注释
(1)单行注释:#
例如:
#初始化
pygame.init()
(2)多行注释:三个连续的成对的单引号''' '''或者三个连续的成对的双引号""" """
例如:
'''
print(100)
print(3 + 100 * 2)
'''
"""
print("hello world!")
print("人生苦短,我学python")
"""
1.2标识符与保留字
(1)标识符:为变量、函数、类、模块以及其他对象命名用的,并且严格区分大小写
A.命名规则如下:
a.标识符由字符(A~Z和a~z)、下划线、和数字组成,但是第一个字符一定不能为数字
b.标识符不能和python中的保留字相同
c.双下划线的开始和结束往往有特别的意义,避免使用,如初始化函数中的"__init__"
d.python3.x开始,非ASCII标识符也是允许的但不建议使用。
B.默认规范:
a.标识符用作模块名:尽量短小并且全部使用小写字母,可以用下划线分割多个字母,例如request_bag
b.标识符用作包名称:尽量短小并且全部使用小写字母,不建议使用下划线,如com.mr
c.标识符用作类名:遵循单词首字母大写原则(驼峰原则)。如 GameRun
d.标识符用作模块内部的类名:可使用“下划线+首字母大写”形式,如_Book
f.标识符用作函数名、类中的属性名和方法名,应全部使用小写字母,多个单词用下划线分割(驼峰原则)
e.常量名全部使用大写字母,单词之间可以用下划线分割。
(2)保留字
and | class | break | in | except | is |
or | not | continue | for | nonlocal | del |
def | else | finally | as | assert | from |
if | global | None | lambda | with | |
elif | return | try | raise | pass | |
while | True | False | yield | import |
也可用以下命令去查看:
import keyword
print(keyword.kwlist)
1.3常量与变量
(1)常量:在程序运行过程中不会改变的量
字面常量:-2,3.1415,'hello'等
符号常量:一般用大写字母或下划线表示常量,如PI
(2)变量:程序中值会发生改变的元素
a.变量赋值语法格式("="作为赋值运算符):
变量名=字面量或表达式
例如:
str='abcdef'
b.可以同时给多个变量赋相同的值
变量名1=变量名2=···=变量名n=字面量或表达式
例如:
a=b=c=e=5
c.也可以同时给多个变量赋不同的值
name,sex,id='张三','女','2023618'
1.4复合运算符表
运算符 | 含义 | 示例 | 等价于 |
+=、-=、*=、/= | 算数赋值 | s+=1 | s=s+1 |
//= | 整除赋值 | x//=y-z | x=x//(y-z) |
%= | 取模复制 | x%=2 | x=x%2 |
**= | 乘方赋值 | x**=2 | x=x**2 |
1.5基本输入输出
(1)input 函数:从控制台获得用户输入
语法格式:
变量名=input("请输入:")
(2)eval函数:可以以python表达式方式解析并执行字符串,并将返回结果输出
语法格式:
eval(<字符串>)
(3)print函数:输出字符信息
例如:
# 默认换行
print('4566')
# end控制,不换行
print("12378", end='')
2.基本数据类型
2.1 基本数据类型
2.1.1数值类型
(1)整数类型:不带小数点,有正负之分。
a.十进制整数:0~9,无前缀。如:-10,90等
b.八进制整数:0~7,以0o或0O为前缀,如0o101,-0OB450等
c.二进制整数:0~1,以0b或0B为前缀,如0b010,-0B110等
d.十六进制整数:0~f(或者0~F),以0x或者0X为前缀,如0x8b,-0X2f等。
(2)浮点数类型:带小数的数值。
a.十进制小数形式:有数字和小数点组成(必须要有小数)。如:1.254,-78.5
b.指数形式:科学计数法表示,用字母e(或者E)表示以10为底的指数,e之前为数字部分,之后为指数部分。如:1.25e5
(3)复数类型:与数学中的复数概念一致。复数可以看做二元有序实数对(a,b),表示a+bj,其中a为实部,b为虚部。
表示形式:
实部+虚部j或实部+虚部J
例如:3+5j
"""
x.real可以获取实部,x.imag 获取虚部,x.conjugate()获取共轭复数
其他数值与复数计算结果都是复数
负数的实部和虚部都是浮点数
"""
x = 3 + 5j
print(x.real)
print(x.imag)
print(x.conjugate())
2.1.2空值、布尔型和字节型
(1)空型:表示一个空对象,用None表示。
(2)布尔类型(bool):两个值False和True,分别表示逻辑假和逻辑真。
a.被当做False有:
任何数值类型的0(如0.0,0,-0)
空字符串
None
空元组()
空列表[]
空字典{}
除上述外,其他数值或者非空字符串都为True。
(3)字节型(bytes):创建bytes数据需在常规的str类型前加b以示区分,而且两者可以相互转换,如:
s=b'xxx'.decode()直接默认的utf-8编码解码bytes成string
b=string.encode()直接默认的utf-8编码string为bytes
2.1.3字符串类型
(1)字符串类型表示:有限字符组成的不可变序列。
a.空字符串及字符串的定界符
b.三引号
c.中文字符
d.转义字符
转义字符 | 含义 |
\n | 换行符 |
\t | 制表符 |
\' | 单引号 |
\'' | 双引号 |
\\ | 一个\ |
\ooo | 3位八进制数对应的字符 |
\xhhh | 2位十六进制数对应的字符 |
\uhhhh | 4位十六位进制对应的字符 |
\Uxxxxxxxx | 8位十六进制对应的字符,要求不大于\U0010FFFF |
(2)字符串类型的索引与切片
a.索引:有正向索引和反向索引
索引 | h | e | l | l | o |
正向-> | 0 | 1 | 2 | 3 | 4 |
反向<- | -5 | -4 | -3 | -2 | -1 |
b.切片
格式:
<string>[<start>:<end>[:step]]
start和end都为整型数据,上述表示序列从索引start开始到end结束,步长为step,start默认为0,end默认位结束索引值,step默认为1。