'''
print() 输出
input() 输入
'''
保留字
import keyword
print(keyword.kwlist)
'''
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def',
'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import',
'in', 'is', 'lambda',
'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
'''
'''
变量声明
变量名 = 变量值 基本变量赋值
变量a = 变量b = 变量c = 值1 多变量赋相同值
变量a,变量b,变量c = 值1,值2,值3 多变量赋多个
变量值的交换
两个变量交换值操做
变量1,变量2 = 变量2,变量1
'''
可使用type()函数查看变量数据类型
name = "小菜"
print(type(name))
可使用id()函数得到内存地址
print(id(name))
'''
数据类型 , 也可自行定义,系统默认8种数据类型
1.Number类型(数值)
2.String类型(字符串)
3.List类型 (列表)
4.tuple类型(元组)
5.Dictionary类型(字典)
6.Set类型(集合)
'''
1Number类型
整型 , 正整数和负整数
二进制(0b开头)
八进制(0o开头)
十进制(不须要)
十六进制(0x开头)
浮点型
使用小数表示浮点数
科学计数法表示浮点数 例子 float = 314e-2 314*10的-2次方
复数
复数功能结构 例子 com = complex(15 , 3 )
布尔类型
True 和 False
String
单引号 , 双引号 , 三引号声明字符串
三引号 适合大数据的字符串 , 多行数据
注意事项
单引号中不能够直接使用单引号
双引号中不能够直接使用双引号
三引号中能够随意使用单双引 号
转义操做
"""
使用特定格式,表示特定意义和功能的字符就是转义字符。以上三种声明字符串方式都可以转义字符。
转义字符 描述
\(在行尾时) 续行符
\\ 反斜杠符号
\' 单引号
\" 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000 空
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,yy表明的字符,例如:\o12表明换行
\ xyy 十六进制数,yy表明的字符,例如:\x0a表明换行
\other 其它的字符以普通格式输出
不一样的操做系统使用\n和\r进行换行操做,window和linux操做系统
window \n便可
linux \n\r
"""
List类型数据
列表就是一系列数据的顺序组合. 列表的标志符号是[]
列表格式
变量 = [值,值,值....]
例子:
list1 = ['张全蛋','赵铁柱','王者荣耀','英雄联盟','AA',123,12]
tuple类型(元组)
元组也是一些列数据的顺序组合,可是全部数据禁止修改,元组是一种特殊的列表仅此而已。
元组格式
变量 = (值,值,值.....)
或者
变量 = 值,值,值.....
Dictionary类型
字典类型就是一个完整的数据由标志和值组成的多数据的组合,他没有顺序
字典格式
变量 ={键:值,键:值....}
键就是标志或者说是目录
值就是真实的值
Set类型(集合)
集合就是一组数据的无序组合。集合中的数据永远是惟一的数据不会出现重复
集合的格式
变量 = {值,值,值...}
没有特定的标识符号就是和字典同样使用{}
类型转换
自动类型转换
特征
更具需求自动进行, 无需人工干预
自动类型转换为主在运算或者判断过程中
类型转换会向着更加精确的类型转换
强制转换类型
强制类型转换部分功能
例子
'''
int() 强制将数据转化为整型
1.纯数字字符串转化为整型时,类型改变,值不变
2.只有纯整数字符串才能够转换,其余均不能够
3,浮点型能够转化为整型,去掉小数点后面的部分
float() 强制将数据转化为浮点型
1.整数字符串和浮点数字符串都可以转化为浮点型
2.转化过程当中类型改变,值不变
3.整型也能够用于浮点型转换
complex() 生成一个复数
bool() 强制将数据转化为布尔值
可以转化为布尔值False的状况
1.字符串 空字符串
2.整型 0
3.浮点型 0.0
4.复数 0+0j
5.布尔值 Flase
6.列表 [] 空列表
7.元组 () 空元组
8.字典 {} 空字典
9.集合 set()空集合
str() 字符串类型转换
全部数据类型均可以转换为字符串,转换规则就是在原有数据基础上加了引号变成了字符串的格式。
例如:[1,2,3] =
>
"[1,2,3]"
list() 将其余数据转换为列表类型
可以进行list转换的数据类型只有4种
str 字符串
set 集合
tuple 元组
dict 字典
全部能够进行list转换的数据必须是iterable数据
tuple() 将其余数据类型转换为元组类型
可以进行tuple转换的数据类型只有4种
str 字符串
set 集合
list 列表
dict 字典
全部能够进行tuple转换的数据必须是iterable数据
dict() 将其余数据转化为字典类型
字典类型转换对于转换数据有严格的要求:
能够转化的类型有三种:
list 列表
tuple 元组
set 集合
以上全部类型的每一个数据必须由元组组成,而且每一个元组必须有2个值
例子:
{('aa','AA'),('bb','BB'),('cc','CC')}
[('aa','AA'),('bb','BB'),('cc','CC')]
(('aa','AA'),('bb','BB'),('cc','CC'))
set() 集合类型转换
可以进行set转换的数据类型只有4种
str 字符串
tuple 元组
list 列表
dict 字典
全部能够进行set转换的数据必须是iterable数据
'''
表达式和运算符
'''
运算算的分类
1.算术运算
2.比较运算/关系运算
3.赋值运算
4.逻辑运算
5.位运算
6.成员运算
7.身份运算
算数运算
+ 加法运算
- 减法运算
* 乘法运算
/ 除法运算
% 取余运算
// 取商运算/地板除
** 幂运算
注意:python中没有自增自减的 ++ 或者-- 运算
比较运算
== 等于运算
!= 不等于运算
> 大于运算
< 小于运算
>= 大于等于运算
<= 小于等于运算
注意:在python中没有 === 和 !== 运算,只要类型不一样就是不等于
赋值运算
= 普通赋值
+= 加法赋值
-= 减法赋值
*= 乘法赋值
/= 除法赋值
%= 取余赋值
/= 取商赋值
**= 幂赋值
注意:a *= b 转换以后的表达式为 a = a * b 不管何种赋值运算都符合这个格式
逻辑运算
逻辑运算是布尔值之间的运算。
and 与运算
与运算特征:有假则假
and 两边条件有一个为假,整个条件语句的条件就不成立
or 或运算
或运算特征:有真则真
or 运算符两边条件任意一个为真,则该条件语句条件就为真
not 非运算
非运算特征:真变假,假变真
条件取反
位运算
位运算就是在二进制基础上进行的逻辑运算,将0视为False,将1 视为True进行的运算
& 按位与运算:
按位与运算就是将数据转化为2进制数据而后进行每一个位上的逻辑与运算
变量 = 值1
&
值2
| 按位或运算
按位或运算就是将数据转化为2进制数据而后进行每一个位上的逻辑或运算
变量 = 值1 | 值2
~按位非运算
按位非运算就是将数据转化为2进制数据而后进行每一个位上的逻辑非运算
变量 = ~值
注意:按位非运算以后计算机会进行反码和补码的相关操做以后进行数据存储。
^按位抑或运算
按位抑或运算就是将数据转化为2进制数据而后进行每一个位上的逻辑抑或运算
变量 = 值1 ^ 值2
左移运算
将数据转化为二进制以后,将二进制数据的全部数据向左移动指定的位数
变量 = 值
<< 移动位数
特征:左移N位至关于乘以2的N次方,此方法速度远高于乘法
右移运算
将数据转化为二进制以后,将二进制数据的全部数据向右移动指定的位数,若是数据移除右侧边界,则会被删除,实际上至关于采用了地板除!
变量 = 值
>> 移动位数
特征:右移N位至关于除以2的N次方,舍弃小数部分。此方法速度远高于除法
成员运算
in 检测一个值在指定的序列类型里面
格式: 值 in 可迭代序列
not in 检测一个值是否再也不指定的序列里面
格式: 值 not in 可迭代序列
身份运算
is 检测值1是否是和值2在内存中是不是同一个值,相似id()功能
格式: 数据1 is 数据2
is not 检测值1是否是和值2在内存中是否不是同一个值,相似id()功能
格式: 数据1 is not 数据2
运算优先级问题
** 指数 (最高优先级)
~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % // 乘,除,取模和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位 'AND'
^ | 位运算符
<= < > >= 比较运算符
== != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not or and 逻辑运算符
注意:咱们并不推荐死记硬背优先级,在实际使用中最好使用()解决优先级问题
检测数据归属
type() 测试时可使用,开发尽可能避免使用
格式:type(变量)
isinstance() 检测一个数据是否由指定的类型建立
格式:isinstance(变量,检测的类型)
'''
分支结构/选择结构
单项分支
格式
'''
if 条件表达式
python代码。。。
python代码。。。
python代码。。。
'''
双向分支
格式:
'''
if 条件表达式
python代码。。。
python代码。。。
python代码。。。
else
python代码。。。
python代码。。。
python代码。。。
'''
多项分支
格式
'''
if 条件表达式:
python语句...
python语句...
python语句...
...
elif 条件表达式:
python语句...
python语句...
python语句...
...
elif 条件表达式:
python语句...
python语句...
python语句...
...
...
else:
python语句...
python语句...
python语句...
...
'''
巢状分支
'''
巢状分支就是多个其余if...else分支的嵌套组合而已。
既能够在if区间嵌套,也能够在else区间嵌套或者elif区间嵌套
'''
循环结构
格式1
'''
while 条件表达式:
须要重复进行的python语句...
须要重复进行的python语句...
其余循环相关语句
'''
格式2
'''
while 条件表达式:
须要重复进行的python语句...
须要重复进行的python语句...
...
else:
须要重复进行的python语句...
须要重复进行的python语句...
'''
死循环
'''
死循环就是值循环不会中止的循环类型.保证循环的起始条件为真,而且再也不改变循环条件的时候,这就是一个死循环
while True:
须要重复进行的python语句...
须要重复进行的python语句...
'''
for...in循环
格式1
'''
for 变量 in 序列:
须要重复进行的python语句...
须要重复进行的python语句...
。。。
'''
格式2
'''
for 变量1,变量2.. in 多层序列:
须要重复进行的python语句...
须要重复进行的python语句...
注意:for..in循环可使用else语句。
for 变量 in 序列:
须要重复进行的python语句...
须要重复进行的python语句...
。。。
else:
for 结束的时候执行的代码
'''
其余流程控制语句
break
做用:结束程序循环,一旦程序执行了break语句,那么当前break所在的循环就会被终止。
continue
做用:结束本次循环,开始下一次的循环,他不会终止整个循环,仅对于循环中的某次循环有效
pass 经过, 忽略
做用:在程序结构中有时不需用写任何python内容,
可是若是没有内容,语言结构会出现语法错误!
pass能够做为语法占位符使用,pass语句没有任何意义,也不会作任何操做python