05-用户交互

一、输入

input("提示信息"):信息会被input加引号保存(用变量名储存)

如想获得纯数字字符串,可用int()转换一下

二、输出

%s:字符串,前有多少个%s,后可以按位置传%s( 实参一,实参二 ,···)但必须与前面的%s个数相同

若右边是字典,前面使用%(key)s即放入后面字典对应的每一项关键字(此传法可以打破位置限制)

%d:整型数字

还可以使用str.format:按照位置传值   前用{ }在整个字符串后调用format(实参一,实参二,···)

            按照关键字传值  前用{ key1,key2}在字符串后调用format(key1=实参一,key2=实参二,···)

三、运算符

/:除,带小数

//:除,只保留整数

%:除,取余数

**次方,后面的是次方数

四、解压赋值

对于列表来说,可以直接使用 名字1,名字2,名字3,···=列表名  来挨个取出列表中的值,但是必须一一对应,名字个数必须同列表元素个数相同,解压字典默认解压的是关键字不是值

特殊:名字1,名字2,名字3,*_:就是取前三个

           *_,名字1,名字2,名字3:就是取后三个

五、逻辑运算符

优先级:not(取反)>and(逻辑与)>or(逻辑或)

六、堆区与栈区

看个例子:简单描述定义一个变量x=10在内存中的栈区堆区的存放情况

                   栈区:存放的是变量名与内存地址的对应关系x,可以理解为:变量名存内存地址

                   堆区:存放的是变量值10

强调:只站在变量名的角度去谈一件事情,则变量名的赋值(x=y),还有变量名的传参(print(x))传递的都是栈区的数据(变量名与内存地址的对应关系,或者说是对值的引用)

七、直接引用与间接引用

直接引用:从栈区出发直接引用到的内存地址

间接引用:从栈区出发引用到堆区后,再通过进一步引用才能到达的内存地址

八、可变类型和不可变类型

可变类型:列表、字典:值改变了但id不变,证明改的是原值,原值可以被改变

不可变类型:int,float,str:值改变了id也变,证明产生了新值,原值不可改

九、杂七杂八

1、%%:把%当成普通字符

2、成员运算符in,not in判断一个子字符串是否在一个大字符串中(若是在字典里就是判断key的)

3、按索引值反向取:名字[-1]

4、从大字符串中切出子字符串来:名字[起始位置:终止位置]终止位置取不到

5、移除字符串左右两边的东西,默认去空格  .strip()可以在括号里自己定义

6、str.split(指定分隔符,指定分割次数):把字符串按照某种分隔符进行分割

7、字典中的值可以是任意类型,但是关键字必须是不可变类型

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容