一、Basic Conception:
1.表达式:
类似于数学公式
如:10 + 5 8 - 4
一般仅仅用于计算一些结果,不会对程序产生实质性的影响
若在交互模式中输入一个表达式,解释器会自动将表达式的结果输出
2.语句:
在程序中语句一般需要完成某种功能,如打印信息、获取信息、为变量赋值...
如:
print()
a = 10
3.语句与表达式的区别:
语句会对程序产生一定的影响
表达式不会对程序产生实质性影响
交互模式中不一定会输出语句的执行结果
4.程序program:
由一条一套的语句和一条一条的表达式构成
5.函数function:
函数就是一种语句,专门用来完成特定的功能
形如:xxx()
1.函数分类:
①内置函数:
Python解释器提供的函数,可在Python中直接使用
②自定义函数:
由程序员自主创建的函数
2.函数作用:
当需要完成某个功能时,可调用内置函数或自定义函数
3.函数的两个要素:
①参数:
()中的内容即函数的参数
函数中可无参、多参,多个参数中间使用,隔开
②返回值:
函数的返回结果,不是所有的函数都有返回值
二、Basic Grammar:
Python中严格区分大小写
Python中每一行就是一条语句,语句间以换行结束
Python中每行语句长度不要过长(规范中建议每行不超80个字符)
一条语句可分多行编写,多行编写时语句后以\结尾
Python是缩进严格的语言,不能随便写缩进
Python中使用#来表示注释,#后的内容均属于注释,注释的内容会被注释器所忽略,可通过注释对程序进行解释说明,注释要求简单明了,一般习惯上#后跟一个空格
三、Variable Type:
1.字面量:
就是一个一个的值,如:1, 2, 3, 4, 5, 6, 'HELLO'
表示的就是它的字面的值,程序总可直接使用字面量
print(123):123即字面量
2.变量variable:
可用来保存字面量,且变量中保存的字面量是不定的
变量本身没有任何意义,它会根据不同的字面量表示不同的意思
一般开发时,很少直接使用字面量,都是将字面量保存到变量中,通过变量来引用字面量
3.变量和标识符:
无需声明变量,直接赋值即可使用
无法使用未赋值的变量(会报错NameError: name 'b' is not defined)
Python是一个动态类型的语言,可为变量赋任意类型的值,也可任意修改变量的值
Python中可自主命名的内容均属于标识符,如:变量名、函数名、类名
标识符必须遵循标识符的规范:
①标识符中可含有字母、数字、_,但不能使用数字开头:
a_1、_a1、_1a...
不合法:1ab
②标识符不能是Python中的关键字和保留字,也不建议使用Python中的函数名作为标识符
③命名规范:
1.下划线命名法:
所有字母小写,单词间使用_分割
max_length
2.帕斯卡命名法(大驼峰命名法):
首字母大写,每个单词开头字母大写,其余字母小写
MaxLength
若使用不符合标准的标识符,将会报错SyntaxError: invalid syntax
四、Data Type:
1.概念:
指变量的值的类型,也就是可以为变量赋哪些值
2.分类:
①整数:
int类型,所有的整数均为int类型,大小无限制,可是一个无限大的整数,若数字长度过大可使用_作为分割符
②浮点数:
float类型,所有的小数均为float类型
对浮点数运算时,可能会得到一个不精确的结果
③复数
3.其他进制整数表示:
①二进制:0b开头
②八进制:0o开头
③十六进制:0x开头
4.字符串:
用来表示一段文本信息,是程序中使用最多的数据类型
需要使用引号引起来
s = 'hello'
若不使用引号,则不是字符串,代表一个变量
引号可以是'',也可以是"",但是不能混用
相同的引号间不能嵌套
5.长字符串:
单双引号不能跨行使用,需以\分割
a = 'hel\
lo'
使用三重引号来表示一个长字符串,会保留格式:
'''或"""
'''abc
def
'''
或
"""abc
def
"""
通过转义字符\,可在字符串中使用一些特殊内容
6.格式化字符串:
①字符串间可进行加法运算
②若将两个字符串相加,自动将两个字符串拼接为一个
③字符串不能和其他类型进行加法运算,否则会出现异常TypeError: must be str, not int
④创建字符串时,可在字符串中指定占位符:
%s:
在字符串中表示任意字符
a = 'Hello %s '%'abcedfg'
# 3表示字符串的长度最多为3
a = 'Hello%3s '%'ab'
# 3.5表示字符串的长度限制在3-5之间
a = 'Hello%3.5s '%'abcdefg'
%f:
浮点数占位符,会自动进行四舍五入
# 默认保留6位小数
a = 'Hello %f'%123.456
# 保留小数点后一位小数
a = 'Hello %.1f'%123.456
# 保留小数点后两位小数
a = 'Hello %.2f'%123.456
%d:
整数占位符,只保留整数部分,不进行四舍五入
a = 'Hello %d'%123.7
⑤格式化字符串,可通过在字符串前添加一个f来创建一个格式化字符串,在格式化字符串中可直接嵌入变量
⑥字符串复制:
将字符串和数字相乘,解释器会将字符串重复指定次数并返回
d = 'abc'
d = d * 2
7.布尔值boolean:
主要用来做逻辑判断,一共有两个True和False
boolean实际上也属于整型,True相当于1,False相当于0
8.空值None:
专门用来表示不存在
五、Type Checking:
1.作用:
通过类型检查,可检查指定值(变量)的类型
2.语法:
type()
该函数会将检查结果作为返回值返回,可通过变量接收函数的返回值:
c = type(123)
print(c)
-> <class 'int'>
b = '123'
c = type(b)
print(b)
-> <class 'str'>
六、Object:
1.Python是一门面向对象的语言
一切皆对象
程序运行中,所有数据均存储在内存中,再运行
2.对象的概念:
对象即内存中专门用来存储指定数据的一块区域
实际上就是一个专门用来存储数据的容器
数值、字符串、布尔值、None均为对象
3.对象分类:
①可变对象
②不可变对象:
数值、整数、浮点数、字符串、布尔、空值
4.对象的结构:
每个对象中都要保存三种数据:
①id:
标识,用来标识对象的唯一性
可通过id()函数查看对象的id
id是由解析器生成的,在CPython中,id就是对象的内存地址
对象一旦创建,则它的id永远不能再改变
②type:
类型,用来表示当前对象所属的类型
如:int str float bool...
类型决定了对象有哪些功能
通过type()函数查看对象的类型
Python是一门强类型语言,对象一旦创建类型便不能修改
③value:
值,表示对象中存储的具体的数据
对某些对象(可变对象)值可变
不可变对象值不可变
id = xxx
type = <class 'xxx'>
value = xxx
5.变量与对象:
①对象并未直接存储到变量中,在Python中变量更像是给对象起的一个别名
②变量中存储的是对象的id(内存地址),当使用变量时,实际上就是通过对象id查找对象
③变量中保存的对象,只有在为变量重新赋值时才会改变
④变量和变量间是相互独立的,修改一个变量不会影响另一个变量
6.类型转换:
将一个类型的对象转换为其他对象
类型转换不是改变对象本身的类型,而是根据当前对象的值创建一个新的对象
7.类型转换的四个函数:
①int():
Ⅰ.将其他的对象转换为整型
Ⅱ.不会对原来的变量产生影响,是将对象转换为指定的类型并将其作为返回值返回
Ⅲ.若希望修改原来的变量,则需对变量进行重新赋值
Ⅳ.布尔值:
True -> 1 False -> 0
Ⅴ.浮点数:
直接取整,省略小数点后的内容
11.6 -> 11
Ⅵ.字符串:
合法的整数字符串,直接转换为对应的数字
若不是一个合法的整数字符串,则报错
'123' -> 123
'aa123' -> ValueError: invalid literal for int() with base 10: 'aa123'
Ⅶ.对其他任何不可转换为整型的对象,直接抛出异常TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'
②float():
与int()基本一致,不同之处在于会将其转换为浮点数
③str():
可将对象转换为字符串
True -> 'True' False -> 'False'
④bool():
Ⅰ.可将对象转换为布尔值,任何对象均可转换为布尔值
Ⅱ.规则:
对所有表示空性的对象均会转换为Flase,其余的转换为True
None -> False
100 -> True
0 -> False
'' -> False