Python_2 运算符
一、查缺补漏
- bool类型本质是0或者非0数字,是属于int类的子类,bool继承了int类,isinstance的源码判断类型的时候,会考虑继承关系,认为int和bool是一家的,因此,isinstance无法准确区分bool和int,如果要区分这俩,只能用type判断。
- 怎么给pycharm加中文插件:专业版直接在setting>plugins搜索Chinese,安装插件。社区版将pycharm安装目录lib 将原有resources_en.jar包重命名,将文件resources_zh_CN_PyCharm_2019.3_r1.jar放进去,重启即可。
- https://blog.csdn.net/june_young_fan/article/details/79755392 关于编译型和解释型语言的文章
- python结果非0即错
二、运算符
- 算数运算符
- 常用:+、-、*、/、//(取整)只取整数位,不四舍五入 如:10对3取整为print(10//3) 结果为3
2. 不常用:
i. 幂运算(z**n)z的n次方 如:2的3次方为print(2**3) 结果为8
ii. 取余/取模(%) 如:取10除以3的余数,取模/取余数为print(10%3) 结果为1
- 赋值运算
- =:赋值运算 如:给num赋值10 num=10 注意: num+=1和num=num+1相同
- 拓展:
+=:加法赋值运算
-=:减法赋值运算
*=:乘赋值
/=:除赋值
%=:取模赋值
**=:幂运算赋值
//=:取整赋值
- 比较运算
>、<、==(等于)、>=、<=、!=(不等于) 在运算时结果返回布尔值
列:如果num=10则print(num!=0)的结果为True,print(num==0)结果为False
- 逻辑运算(如:num1=10 num2=10)
- 与:and 则print(num1==10 and num2==10) 结果为False
- 或:or 则print(num1==10 or num2==10) 结果为Ture
- 非(取反):! 则print(num1!=10) 结果为False
三、字符串
- 字符串特性:不可修改、有序的
- 字符串定义:
- 双引号单引号 如:test_str_01="hello" test_str_02='hello'(java只认单引号)
- 三双引号三单引号
- 空格是字符串的一部分,要占一个位置
- 字符串访问
- 通过索引进行访问 列:test_str_01="he llo"
- 索引从0开始(正序) 则:print(test_str_01[1]) 结果为e
- 索引从-1开始(倒序) 则:print(test_str_01[-2]) 结果为l
列:a b c d e f
正序 0 1 2 3 4 5
倒序 -6 -5 -4 -3 -2 -1
计算机语言为0开始所以默认从0开始取下标
4. 字符串切片
- 语法:str[起始索引位置:结束索引位置:步长]
- 切片规则:左闭右开 步长不写默认是1 如:test=hello result=test[0:2] 结果应只显示he
- 注意点:
i. 一个空格占一个索引位置
ii. 不写起始索引位置,默认从0开始
iii. 不写结束索引位置,默认是字符串的最大长度
iv. 步长前面的符号为+:正序切片(可不写),-:倒序切片,从后面开始切片
v. 步长为2其实是每隔一个取一个也就是每2取1,索引值的差=步长
vi. 正序切片全部写正数,倒序切片全部写负数[起始索引位置:结束索引位置:步长]
vii. [:]或[::]时表示全选和原字符串没区别
列:test="hello python"
result_01=test[0:3:1] print(result_01) 正序切片 结果为hel
result_02=test[-1:-3:-1] print(result_02) 倒叙切片 结果为no
result_03=test[::-1] print(result_03) 字符串反序 结果为nohtyp olleh
- 字符串运算
- 拼接:+ 两个字符串链接在一起 print(test1+test2) test1test2
- 重复输出:* print(test1*3) test1test1test1
- 字符串转义
- 有特殊含义的字符就叫转义字符
- \n 换行,\t 指制表符,代表着四个空格也是一个tab
- 取消转义:\\、r
- 注释本身可以看做是一个字符串,如果字符串里面包含转义字符,要+\代表取消这个转义字符,如果里面有很多个涉及转义的地方,为了避免漏了,直接在字符串前面加个r,就可以让python认为你的串儿不包含转义字符,全部认为你的是原生字符,涉及到目录的时候,经常用会用r
列:test1="hello\\npython" print(test1) 结果为hello\npython
- 字符串常用方法
- 单词大小写相关
i. str.upper()所有字符串大写
ii. str.lower()所有字符串小写
iii. str.title()字符串中所有每个单词的首字母大写
iv. str.capitalize()字符串首字母大写
v. str.swapcase()大小写互换
2. 统计相关的
i. str.count(sub,start=None,end=None)
- sub:需要统计的字符
- start:统计的开始索引位置,默认是None
- end:统计的结束索引位置,默认是None
- 如果start,end不传值,默认就是在整个字符串里面去统计
- 返回:统计到的字符串出现的次数
ii. str.find(sub,start=None,end=None)
- sub:需要统计的字符
- start:统计的开始索引位置,默认是None
- end:统计的结束索引位置,默认是None
- 如果start,end不传值,默认就是在整个字符串里面去统计
- 返回:在字符串中找到第一个匹配字符的索引位置
iii. str.rfind(sub,start=None,end=None)
- sub:需要统计的字符
- start:统计的开始索引位置,默认是None
- end:统计的结束索引位置,默认是None
- 如果start,end不传值,默认就是在整个字符串里面去统计
- 返回:在字符串中找到最后一个匹配字符的索引位置
列:test="hello python"
result1=test.count('h',0,2) print(result1) 结果为1
result2=test.find("h") print(result2) 结果为0
result3=test07.rfind("h") print(result3) 结果为9
本文来自博客园,作者:Alisa-sweet,转载请注明原文链接:https://www.cnblogs.com/Alisa-sweet/p/14944634.html