1. 几个基本概念
1.1 表达式(Expression)
- 表达式,是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合
- 表达式特点
- 表达式一般仅仅用于计算一些结果,不会对程序产生实质性的影响
- 如果在交互模式中输入一个表达式,解释器会自动将表达式的结果输出
1.2 语句(statement)
- 一个语法上自成体系的单位,它由一个词或句法上有关连的一组词构成
- 语句的执行一般会对程序产生一定的影响,在交互模式中不一定会输出语句的执行结果
1.3 程序(program)
- 计算机程序是一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具。
- 查阅网上资料对这个凭借一句话获得图灵奖的Pascal之父——Nicklaus Wirth让他获得图灵奖的这句话就是他提出的著名公式:
“算法+数据结构=程序
”。
问题 —> 数据结构+算法 == 程序 —> 解决问题
1.4 算法(algorithm)
算法是指对某些问题的严格的解释方法。
一般的,一个算法拥有以下特点:
- 有穷性:算法必须保证在执行有限步骤后结束。
- 可行性:算法是确切可行的,即使在数学中,该算法可行,但若在实际应用中,程序不可以被执行,那么 ,该算法也是不具有可行性的。
- 确切性:算法的每一个步骤必须具有明确的意义。
- 输入:一个算法必须要有0个或多个输入。
- 输出:一个算法必须要有1个或多个输出。
1.5数据结构(data structure)
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关
1.6函数(function)
- 函数就是一种语句,函数专门用来完成特定的功能
- 函数长的形如:xxx()
- 函数的分类:
- 内置函数 : 或者内建函数,就是由语法规定存在的函数,这些函数,包含在编译器的运行时库中,程序员不比单独书写代码实现它,只需要调用既可。
- 自定义函数 : 由程序员自主的创建的函数 当我们需要完成某个功能时,就可以去调用内置函数,或者自定义函数
- 函数的2个要素
- 参数:实参,形参
- 返回值
2. 标识符
2.1 关键字
- python一些具有特殊功能的标识符,这就是所谓的关键字关键字,是python已经使用的了,所以不允许开发者自己定义和关键字相同的名字的标识符
2.2 标识符概念
- 在计算机编程语言中,标识符是用户编程时使用的名字,用于给变量、常量、函数、语句块等命名,以建立起名称与使用之间的关系。标识符是用户自己定义的,如变量名 、函数名等
- 组成:标识符通常由
字母
和数字
以及其它字符
。 - 标识符的规则:
1.标识符中可以包含字母、数字、_,但是不能使用数字开头 例如:name1 name_1 _name1 1name(不行)
2.Python中不能使用关键字和保留字来作为标识符 - 命名方式
1.驼峰命名法
1)小驼峰式命名法: 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog
2)大驼峰式命名法: 每一个单字的首字母都采用大写字母,例如:FirstName、LastName
2.下划线命名法
如:_Name - 不过在程序员中还有一种命名法比较流行,就是用下划线“_”来连接所有的单词,比如 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 变量的概念?
- 变量是计算机内存中的一块区域,存储规定范围内的值,值 可以改变,通俗的说变量就是给数据起个名字。
- 变量命名规则
- 变量名由
字母
、数字
、下划线
组成要符合标识符的命名规范 - 数字不能开头
- 不能使用关键字
- 注意 : 是两个对象相等和两个对象是同一个对象是两个概念
a = '123abc'
b = '123abc'
print(id(a) == id(b))
a = {'游戏': '王者荣耀'}
b = {'游戏': '王者荣耀'}
print(id(a) == id(b))
True
Flase
当两个变量被赋予相同的值时,它们指向的地址可能不同。id(变量)可查看变量地址。
4.2变量的运算
变量的运算就是正常的四则运算 ,需要注意的是在运算过程中含有浮点数,那么它返回的就是一个浮点数类型
5 字符串
5.1 什么是字符串
- 字符串是由数字、字母、下划线组成的一串字符
- 注意
- 单引号和双引号不能混合使用
- Python中用一对双引号或者一对单引号包裹的内容就是字符串
5.2 转义字符
- 转义字符是一种特殊的字符常量。转义字符以反斜线"\"开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符
- 总结
\t
表示制表符
\n
表示换行符
\\
表示反斜杠
\'
表示'
\''
表示''
5.3 长字符串
- 长字符串 又叫做文档字符串,我们使用三重引号来表示一个长字符串’’’ ‘’’
- 三重引号可以换行,并且会保留字符串中的格式
5.4 格式化字符串
- 第一种格式化字符串 拼串
print('字符串'+变量+'字符串')
print('字符串',变量,'字符串')
- 第二种格式化字符串 参数传递
print('字符串',变量,'字符串')
- 第三种格式化字符串 占位符
- %s 字符串占位
- %f 浮点数占位
- %d 整数占位
print('字符串%x字符串'% 变量1) #根据变量类型确定x
print('字符串%x字符串%x,......'% (变量1,变量2,......))
- 第四种格式化字符串 f’{变量}’/ str.format
name = 'Bob'
age = 12
print(f'{变量1} is {变量2} years old')
print('{} is {} years old'.format(name, age))
#与format内变量顺序一致
print('{0} has {1} bros, {0} feels bad'.format(name, age))
#通过下标索引进行变量选择
print('name:{name}, age:{age}'.format(name='Bobbbb', age='12222'))
#可在format内对变量赋值
5.5 字符串的其他操作
len()
字符串的长度max()
最大值min()
最小值split()
分割字符串join()
拼接字符串- 去空格
s.strip()
左右两边去空格s.lstrip()
去左边空格s.rstrip()
去右边空格
- 字符串大小写
s.upper()
全部大写s.lower()
全部消息s.isupper()
判断是不是大写s.islower()
判断是不是小写
6.基础练习
6.1 a,b = 6, 8 我想让a=8 b=6我该怎么办?用2种方式实现
1)
a = 6
b = 8
c = a
a = b
b = c
print('a=', a, 'b=', b)
2)
a = 6
b = 8
c = a + b
a = c - a
b = c - a
print('a=', a, 'b=', b)
6.2 print()语句练习,用两种方式打印 hello,python
1)
print('hello,python')
2)
a = 'hello,python'
print(a)
6.3 以4种格式化字符串的方式来实现 521 xxx 嫁给我好吗?
name='xxx'
print('521 '+name+' 嫁给我好吗?')
print('521',name,'嫁给我好吗?')
print('521 %s 嫁给我好吗?'%(name))
print(f'521 {name} 嫁给我好吗?')
print('521 {} 嫁给我好吗?'.format(name))