python1
'''
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语句没有任何意义,也不会做任何操作