hj_Python学习笔记
Python 搭建环境,--变量,标识符,基本语法,语句,表达式,函数(内置,自定义),没啥可说的,跟java大致类似,就是变量不用声明类型,可以直接赋值使用;
''' '''或者""" """长字符串,可以保留字符串文本中的格式,可能实际没啥用;
数值类型就分 整型,浮点数,复数,整型没有大小限制,并且还可以用_分隔都没问题.如abc=123_456_212 print(abc) 123456212;
字符串只能和字符串进行+号拼接,在创建字符串时可以使用占位符(如没对占位符进行填充,直接就做字符串给打印了.) s='hello%s' print(s%'girl') hellogirl,
还可以指定长度,多个占位符,不够长度用空格填充 如 s='hello%3s哈哈%s未激活%5.8s' print(s%('ss','ff','ggg')) hello ss哈哈ff未激活 ggg
%s 字符串 %f浮点数 %d数字 占位符
f格式化字符串,可以直接嵌入变量 a='ddd' b='bbbb' s=f'ffff{a} - {b}' print(s) ffffddd - bbbb
字符串和数字相乘,相当于重复复制如s='abc' s=s*2 然后成了s='abcabc'
bool类型 True,False,注意大写 None专门用来表示不存在,空值
运算../返回一个浮点数.//返回一个整数,//与java一个/类似. **冥运算 5**3相当于5*5*5 16**0.5等于4.0相当于开方. + - * / % // **
==比较的是值,而不是内存地址id ,这是与java的区别所在 is 或 is not 比较的才是id即内存地址 and这个是短路与.看到False不再往下继续. not or(短路或.) 逻辑运算
三元运算符..print('哈哈') if True else print(呵呵') 中间写条件.两边是执行代码 语句1 if 条件 else 语句2 .
运算优先级,可留意文档..result=a>b>c 相当于b<a and b>c 这是Python写法.以中间数为准来计算.
运算流程 if:
if True : print('xxxddd') 控制一行.多行得用代码块
代码块以缩进开始
input()函数输入函数==Scanner.input() input()的返回值是一个字符串,可以传入一个字符串作为占位提示
if elif else 可以嵌套 通过缩进控制
break 终止循环,包括后面的else语句.continue结束当次循环,跳入下一次,都是对最近的循环起作用,pass起占位符作用(if i<5 : pass)
列表 list [ ],列表中可以随意存,列表中的对象按插入顺序存储,index取值,len()函数计算长度,索引可以是负数,-1表示倒数第一个..
切片即切割列表创建新列表不影响原来的.不传参数等同于复制一个副本,传参 可以?:?,包头不包尾 list[1:3] list[:3] list[2:],还可传入第三个参数,步长:?,默认1;步长若为负数,反向切..不能为0;
列表也有 + , *操作,同字符串. in not in 检查是否存在列表中,len()获取列表元素个数,min()列表最小值,max()列表最大值
index()索引,对象调用,count()计数,对象调用 my_list.index('哈哈',?,?),第二个参数表示查找的起始位置,第三个参数表示结束位置,可以不传, my_list.count('沙和尚')--统计沙和尚出现的次数.
序列(sequence)
python中最基本的数据存储结构,序列用于保存一组有序的数据,数据按添加顺序排列,有索引..list是可变序列.序列中元素可改变 str是不可变序列
del my_list[2] 删除索引为2的元素,通过slice来修改数据,灵活的没规矩.my_list[?:?]=[?,?,?]
可变序列的一些操作.append()末尾加入,insert(位置,元素),指定位置插入,extend(序列),将一个序列末尾追加.
clear(清空),pop(索引),删除并返回那个元素.不传索引,删除最后一个...remove(值),根据指定值删除 reserve()反转. sort()排序,默认升序排列若要降序,传参reserve=True
range()生成一个自然数组成的序列如range(4),起始位置(默认0),终止位置,步长(默认1).配合for循环使用
元组 tuple 不可变序列,可当一个不可变列表..希望数据不改变才用,使用()创建元组.如my_tuple=(),不是空元组,()可以省略,但至少有一个,不能省my_tuple=40, my_tuple=50,60,70 a,b,c=my_tuple 分别赋值,解包. a,b=b,a 这就是利用元组交换值
元组解包时,必须数量一致,可在变量前加*获取元组剩余所有元素,*变量只能一个,位置不做要求..
字典,一种数据结构,映射(mapping),存储数据的容器 {创建字典--key:value,key:value},字典的键是任意不可变对象(int,str,bool,tuple..),值可以是任意对象
dict()函数创建字典,双值子序列创建字典,update()合并另一个字典 ,del删除
集合 set 不可变对象,无序,不重复 { } set( )
集合的运算 &交集,对集合做运算不会影响原集合 |并集 -差集 ^异或集 <=检查一个集合是否另一个集合的子集 <超子集