二周目 4 pycharm基础
pycharm 基础
1 变量
1.1 变量的定义
变量即变化的量,用来纪录事物的变化
1.2 变量赋值的语法结构
变量名 赋值符号 变量的值
(变量名推荐使用英文,不推荐使用汉语拼音、更不建议使用中文)
1.3 变量赋值的本质
获取内存空间,将数据存入,给空间绑定名称,此时该名称可以看成是空间的坐标,要想访问内存中的数据必须通过变量名
因此,一个变量名只能绑定一个值,如果赋予第二个值,会断开原先的绑定关系,重新进行变量赋值的操作,原数据成为垃圾数据
一个变量名只能绑定一个数据,但是多个变量名可以绑定一个数据

注意事项:垃圾数据的删除即是将改空间修改为可占用态,实际上未删除,直到重新被占用为止
1.4 变量名的命名规范
1 变量名只能由数字、字母以及下划线组成
2 变量名不能以数字开头,也尽量不以下划线开头(有特殊含义)
3 变量名做到见名知意,取名清晰
4 变量名不能与自带功能的关键字冲突
1.5 变量名的命名风格
变量名的风格主要有两种,分别是下划线式和驼峰体式
1.5.1 下划线式(使用下划线进行分割)
user_name
1.5.2 驼峰体(使用字母的大小写分割)
UserName 大驼峰(单词首字母大写)
userName 小驼峰(第一个单词首字母不大写,其他都大写)
注意事项: 两种变量名的风格不要在同一个项目中混用,保持美观清晰
2 常量
2.1 定义
常量即不变的量,定义后不会改动
2.2 python中无常量(其他语言中有)
python中没有真正意义上的常量,墨守成规将全大写的变量名看做是常量
3 数据类型
可以使用 type()来查看数据的数据类型
3.1 整形 int
数字整数
3.2 浮点型 floot
带小数的的数字
3.3 字符串 str
用引号包裹的一段字符,字符可以是任意符号
引号类型可以是单引号,双引号甚至是三引号,三引号如果左边有变量名和赋值符号那么就是字符串 否则就是注释
3.4 列表 list
用中括号包裹的元素,元素可以是任意数据类型的数据,用逗号隔开
3.5 字典 dict
用大括号包裹的元素,元素是以k:v键值对形式成对出现的数据,用逗号隔开
k键:描述性质的文字数据,一般为字符串形式
v键:可以是任意数据类型
3.6 元组 tuple
用小括号包裹的元素,元素可以是任意数据类型,用逗号隔开,元素不支持修改
3.7 集合 set
大括号包裹的元素,一般为数字和字符串(不可变类型),用逗号隔开
3.8 布尔值 bool
即 Ture 和 Flase ,两种代表正确与错误,用来进行逻辑判断
针对存储布尔值的变量名一般以is开头, eg is_right=Ture

4 用户交互
用户交互分为两种,分别是输入和输出
4.1 input() 获取用户输入的数据,可以添加字符串来进行提示
4.2 print() 打印一个或是多个数据,数据用逗号隔开
5 格式化输出
占位符:%s和%d
%s可以是任意的数字和字符串
%d只能是整数,如果给予小数,则显示小数点前的数字,给予字符串报错
在默认文本中用%s进行占位,后续给予对应的数据进行填充,有几个就要给几个
常见有话费的通知
info = "亲爱的%s你好!你%s月的话费是%s,余额是%s"
print(info % ('aa', 9, 100, 200))
6 基础运算符
6.1 算数运算符
加:+ ,减:- ,乘:** ,除:// ,可以进行数字运算
6.2 比较运算符
< 和 > 大小的判断,逻辑判断的结果为布尔值
数字直接比较,字符串通过比较二进制对应的数字
6.3 增量赋值
x = x + 1 等价于 x += 1
x = x - 10 等价于 x -= 10
x = x - 10 等价于 x -= 10
x = x / 10 等价于 x /= 10
6.4 链式赋值
如果a=1,b=a,c=b,可以用链式赋值简化代码:c=b=a=1
6.5 交叉赋值
如果两个变量名的数据需要相互交换,一般方法为设置中间变量,如 a=1,b=2 > c=a,a=b.b=c > a=2,b=1
可以用交叉赋值简化代码,如a=1,b=2 > a,b=b,a >a=2,b=1
6.6 解压赋值
通过赋值符号左边书写多个变量名,一一接受赋值符号右边的数据,赋值符号两边数据个数必须相同
如 list={1,2,3,4] > a,b,cd=list > a=1,b=2,c=3,d=4
一般来说是一一接受数据的,可以使用*_来接受多余数据
a,*_,d=list > a=1,*_=[2,3],d=4
7 逻辑运算符
7.1 and
链接的多个条件必须都满足结果才成立否则不成立
print(1 > 2 and 4 > 1) # and两边1>2不成立,结果为 False
7.2 or
链接的多个条件有一个满足即可
print(1 > 2 or 4 > 1)
# or两边4>1成立,且只需要有一项成立,结果为True
7.3 not
对条件取反
print(not False) # 对False取反,结果为True
print( 4>1 and not 1 > 2)
# 对1>2的结果取反,再运算and,结果为True
# 如果有括号,先运算括号内,再按顺序运算
8 成员运算 in
判断个体时候在群体内
list = [1,2,3,4,5,6]
print(1 in list) # Ture
print(8 in list) # Flase
9 身份运算符 is
""" 如何查看变量值所在的"内存地址" id() 返回一串数字 可以用来表示内存地址 """ >>> name1 = 'jason kevin tony' >>> name2 = 'jason kevin tony' >>> id(name1) 1358885155152 >>> id(name2) 1358885155224 >>> x = y = z = 'jason kevin tony' >>> id(x) 1358885155296 >>> id(y) 1358885155296 >>> id(z) 1358885155296 >>> name1 == name2 # 判断两个变量的值是否相等 True >>> name1 is name2 # 判断两个变量绑定值的内存地址是否相等 False 两个变量的值相等 那么内存地址不一定相等 两个变量的内存地址相等 那么值肯定相等
10 python中代码从属关系
在python中用缩进代表代码的从属关系,不是所有的代码都可以有子代码

python中缩进一般推荐使用四个空格(tab键)
11 流程控制
11.1 顺序结构
顺序结构为依次从上而下运行代码

11.2 分支结构
根据满足条件的不同,执行不同的结果

语法结构



注意事项: elif 可以有多个,但是 if 和 else 只能由一个(在同一个分支结构中)
在分支结构的条件中,只会走一个结果,是从上往下依次判断,直到条件满足或者是走else结果
11.3 循环结构

语法结构 while循环

语法结构 for循环

break和continue在循环结构中的作用
break 打破本层的循环
continue 继续下一次循环
12 迭代器 range
range的用法
range(一个参数): 默认从0开始(顾头不顾尾) range(5) 结果 0,1,2,3,4
range(两个参数): 两个参数 第一个是起始位包含在内 第二个是终止位不包含(顾头不顾尾) range(2,5) 结果 2,3,4,
range(三个参数): 三个参数 最后一个是数字间隔 类似于产生等差序列 range(1,8,2) 结果 1,3,5,7