一、基础部分
变量(variable):
在程序运行时(runtime),可以发生变化的量,被称之为变量
在程序运行时(runtime),不允许发生变化的量,被称之为常量(恒量)
python中没有常量
变量时一个具有名称的内存空间!!!
注释: 什么叫做注释:标注起来的解释
单行注释: #单行注释
多行注释:#xxxxxxxx
#xxxxxxxx
#xxxxxxxx
' ' '
多行注释
' ' '
" " "
多行注释
" " "
Python如何定义变量:
强数据类型语言(C语言、C++、C#、Java.....)
数据类型 变量名称 = 变量值;
int a = 10
弱数据类型语言:Python
特点:类型不固定
变量名称 = 变量值
标识符的命名规范
1.标识符的名称只能由大小写字母、数字、_下划线这三种有效符号组成
2.数字不能开头!!!
3.不能以关键字或者保留字作为变量的名称
4.变量名称尽量有意义
5.下划线法 Python 小驼峰法 Java C 大驼峰法 C#
user_address userAddress UserAddress
Python中的关键字和保留字
code:
import keyword
keyword.kwlist
结果:
Python的数据类型:
基本数据类型:
number(数值型):
整型---(int)
浮点型---(float)
复数---(complex)
boolean(布尔类型):
真:Ture
假: False 逻辑状态的结果
string(字符串):
'字符串'
"字符串" 取消字符 简化
python中单引号和双引号没有区别
' ' ' 字符串 ' ' ' 也是字符串
" " " 字符串 " " " 同样是字符串
复合数据类型:
万物皆对象
list set tuple dict object....
数据类型转化:
自动数据类型转化:
整数 浮点数 布尔类型
强制数据类型转换:
int(字符串) #将字符串转换为整数
float(字符串) #将字符串转换为小数
str(数值) #将数值转换为字符串
作业题:
交换两个数
共有四种方法(临时变量法,数学公式法,Python特有法,移位运算
常见的运算符:
算术运算符:
+
-
*
/
% #取余
** #幂次方 2**3 8
// #整除
浮点数精度丢失问题
通常我们输入的十进制浮点数仅由计算机中实际存储的二进制浮点数近似。但是在十进制不能完全表示为二进制分数的情况下,无 论多么近似,终究不是确切值。
比较(关系)运算符:
>
<
>=
<=
!=
== #等于
<> #不等于 (a <> b) 返回ture 类似 != python2有 python3砍掉了
逻辑运算符:
and 逻辑与 全真才真
or 逻辑或 一真则真
not 逻辑非
所属运算符:
in #成员测试运算符
not in #成员测试运算符
is #对象实体同一测试
is not #对象实体同一测试
python中没有自加和自减运算符
赋值运算符:
= # a = b + 10
+= # a + = b <=> a = a + b
- = # a - = b <=> a = a - b
* = # a * = b <=> a = a * b
/ = # a / = b <=> a = a / b
** = # a ** =b <=> a = a ** b a的b次方赋给a
/ / = # a / / = b <=> a = a / / b
补充:
位运算:
& 与运算 两侧为真则真
| 或运算 有真则真
^ 异或 相反为真,相同为假
~ 按位取反 二进制的各个位都取反
>>
<<
位溢出:表示保存的数据,因此申请的空间不够
练习:判断一个数是不是偶数
num=120
num & 1 == 0
即num & 00000001 Ture
什么是位:
bit:简写为b,代表二进制中的某个具体数
字节:
byte:简写为B,8个位为一字节
无符号的数:
有符号的数:
几个计算机概念:
如下的概念的引入时为了解决计算机中负数运算错误的问题
原码:数据的原有二进制码
反码:符号位不变,其余个位取反
补码:反码+1
结论:计算机底层进行二进制运算时,都是以补码进行运算的
多分支的使用
多分支:如果说,有多重条件存在,针对于不同的情况,我们需要做不同的处理,这个时候,就需要使用多分支
if condition1:
#如果满足条件1,则执行if中的代码
elif condition2:
#如果满足条件2,则执行if中的代码
elif condition3:
#如果满足条件3,则执行if中的代码
.......
elif conditionN:
#如果满足条件3,则执行if中的代码
[else:
#剩余条件,则执行else中的代码
]
注意:在其他的编程语言中(如C、Java、C++等等),都存在一个switch语法。该语法也可以实现多分支,python没有switch。
循环:
loop 周而复始,则谓之为循环
while循环:
while 条件:
#循环体
[else:
#程序正常执行完成后,才会执行else
]
当条件满足时,程序会不断地执行循环体,直到条件不满足为止,循环就会结束
循环中的else
只有循环正常结束,才能进入到else中
也就是说,如果使用break等手段打断循环,则无法进入到else
“end=”作为print()中的一个参数,会使该函数关闭“在输出中自动包含换行”的默认行为。
为末尾end传递一个空字符串,这样print函数不会在字符串末尾添加一个换行符,而是添加一个空字符串,其实这也是一个语法要求,表示这个语句没结束。
print默认是打印一行,结尾加换行。end=' '意思是末尾不换行,加空格
如下所示:使用for循环实现九九乘法表:(使用 end=' ') 梯度展示打印一行,结尾加换行
break、continue关键字
在python中,这两个关键字只能使用在循环中
在循环中,break关键字有终止循环的作用
在循环中,continue作用是跳过本次循环,执行下次循环
for循环
python中的for循环,不是在C、Java中学习for
for 变量 in 可迭代对象: #可迭代对象,简单理解为容器(保存很多数据的一个数据类型)
#每一次取出的值,会保存在这个临时变量中
#
print(变量)
range的全局函数:
注意:在python2中,存在着两个全局函数:
range()
xrange()
但是在python3中,官方去掉了xrange,只保留range
range(end) #表示一个区间范围,[0,end)
range(start,end) #表示一个区间范围,[start,end)
range(start,end,step) #表示一个区间范围,[start,end),步长为step