从零开始的python之路-Python基础(二)
一、运算符
1、算数运算符
| 运算符 | 介绍 | 例子 |
| + | 两个对象相加 |
a=2,b=5(下面相同) a+b返回7 |
| - | 两个对象相减 | a-b返回-3 |
| * | 两个对象相乘 | a*b返回10 |
| / | 两个对象相除 | a/b返回0.4 |
| % | 两个对象相除并取其余数 | b%a返回1 |
| ** | 返回x的y次幂 | a**b返回32 |
| // | 两个数相除并取其商 | b//a返回2 |
2、赋值运算
| 运算符 | 介绍 | 例子 |
| = | 简单的赋值运算 | c=a+b,把a+b的结果赋予c |
| += | 加法赋值运算 | c+=a,等于c=c+a |
| -= | 减法赋值运算 | c-=a,等于c=c-a |
| *= | 乘法赋值运算 | c*=a,等于c=c*a |
| /= | 除法赋值运算 | c/=a,等于c=c/a |
| %= | 取余数赋值运算 | c%=a,等于c=c%a |
| **= | 幂赋值运算 | c**=a,等于c=c**a |
| //= | 商赋值运算 | c//=a,等于c=c//a |
3、比较运算符
| 运算符 | 介绍 | 例子 |
| == | 等于-比较对象是否相等 |
a=10,b=20(下面相同) a==b,返回False |
| != | 不等于-比较对象是否不相等 | a!=b,返回True |
| <> | 不等于-比较对象是否不相等 |
a<>b,返回True |
| > | 大于-比较x是否大于y | a>b,返回False |
| < | 小于-比较x是否小于y | a<b,返回True |
| >= | 大于等于-比较x是否大于等于y | a>=b,返回False |
| <= | 小于等于-比较x是否小于等于y | a<=b,返回True |
4、逻辑运算符
| 运算符 | 介绍 |
| and | 布尔“与”-x and y,判断x与y是否都为True。是则返回True,不是则返回False。 |
| or | 布尔“或”-x or y,判断x或y至少有一个为Ture,若是则返回True,若不是则返回False。 |
| not | 布尔“非”,x为True,则返回False,x为False,则返回True。 |
判断顺序:1、先计算括号内。
2、从前到后。
3、判断时若遇到:True or 。。。 (or前的判断结果为True),则直接返回True。
True and 。。。(and前的判断结果为True),则继续判断。
False or 。。。(or前的判断结果为False),则继续判断。
False and 。。。(and前的判断结果为False),则直接返回False
5、成员运算符
| 运算符 | 介绍 |
| in |
在指定序列中寻找值,若存在则返回True,否则返回False。 |
| not in | 在指定序列中寻找值,若存在则返回False,否则返回True。 |
要寻找某个值时,必须要寻找连续的值。例如在“HELLO”中寻找“HE”,则返回True。若寻找“HL”,则返回False。
二、基本数据类型
type()可以判断数据类型
1、数字
int,可以将字符串转换为数字。 int(字符串,base=2,8,16。。。)可以将字符串从某个进制(2进制,8进制,16进制。。)转换为10进制
1、int.bit_length() #返回该数字的二进制所占用的最小位数。
2、字符串
“Hello,World”
1、str.capitalize() #字符串的首字母大写。 *2、str.casefold() 与 str.lower() #相同点:把字符串改为小写。不同点:casefold更加高级,可以把大部分语言进行转化,而lower只能用于英文的转化。 3、str.center(int,str1) #设置前后宽度,并将内容居中。int代表设置的宽度,str1代表空白的填充物。 4、str.count(str1,int1,int2) #在字符串中寻找子序列出现的次数。int1代表寻找的起点,int2代表终点(不包括当前位置)。 5、str.endswith(str1)与str.startswith(str1) #endswith是判断字符串是否以特定的字符结尾。startswith是判断字符串是否以特定的字符开头。 *6、str.find(str1,int1,int2) 与 str.index(str1,int1,int2) #相同:从头开始寻找子序列,找到第一个后,获取其位置。后面不再寻找。int1代表寻找的起点,int2代表终点(不包括当前位置)。不同:若未找到,find()返回-1.index()直接报错。 7、若str="{example}" str.format(example=str1或int1) 与 str.format_map({“example”:str1或int1}) #格式化,将字符串{}内字符替换为特定的值。format_map用到字典类型。 8、str.isalnum() #判断字符串中是否只含有字母与数字 9、str.expandtabs(int) #断句,以规定个数的字符为一组进行断句。若在分组时有\t,则直接分为一组且不够个数的用空格替代。 10、str.isalpha() #判断字符串中是否只有字母。 11、str.isdecimal() 与 str.isdight() 与 isnumeric() #判断字符串中是否只有数字。isdecimal只能判断十进制的数字,isdight判断范围更广,特殊的数字也可以判断,但中文的不行。isnumeric判断范围最广,可以判断中文的数字。 12、str.isprintable() #判断字符串中是否有不可打印出来的字符。例如\n,\t.... 13、str.isspace() #判断字符串中是否都是空格。 14、str.istitle() 与 str.title() #istitle是判断字符串是否为标题,标题为每个单词的首字母大写。title是让字符串转变为标题。 *15、str.join(str1) #让字符串中的每一个元素按照指定分割符进行拼接。注:让str作为分割符将str1每个元素进行分割。 16、str.ljust(int,str1) 与 str.rjust(int,str) #ljust把字符串置于左边,并用给定字符填充满。rjust则相反。int代表设置的宽度,str1代表填充的内容。 17、str.islower() #判断字符串是否为全为小写。 18、str.isupper 与 str.upper #isupper判断字符串是否全为大写,upper则是把字符串全部转换为大写。 *19、str.lstrip(str1) 与 str.rstrip(str1) 与 str.strip(str1) #若不加str1则默认lstrip除去字符串左边空格,rstrip除去字符串右边空格, strip除去字符串左右空格。注意:可以去除\t,\n.... #若加上str1,则去除字符串的指定字符。注意:只要能匹配上的字符都会去掉.且先去除最多的字符。 20、str.maketrans(str1,str2) 与 str.translate(str.maketrans(str1,str2)) #makertrans是让两个字符串str1与str2建立对应关系,注意:str1与str2具有相同位数。 #translate则是让一种对应关系与str进行转化。 21、str.partition(str1) 与 str.rpartition(str1) #partition是按照给定的str从左边开始分割str1为三份,分割符前为一份,分隔符为一份,分隔符后为一份。rpartition是从右边开始分。 *22、str.split(str1,int) 与 str.rsplit(str1,int) #split是按照给定的str从左边开始分割str1,可以分割为指定的int份,分割时不显示分割符。rsplit则从右边开始分割。 23、str.splitlines() #只根据换行符进行分割,若在后面加上True或False,则判断是否保留换行符。 24、str.swapcase() #大小写转化. 25、str.isidentifier() #判断字符串是不是标识符。标识符:字母,数字,下划线。 26、str.encode() #解释器读取到内存后,按照unicode编码存储:8个字节。可以使用encode来改为自己想要的编码,例如:utf-8,gbk。。
*26、str[int]
#[]内的数称为索引,下标,注意:索引从0开始。可以提取字符串里指定位置的字符。
*27、str[int1:int2:int3]
#切片,用索引范围批量提取字符串给定范围内的字符。注意:int1指提取起点,int2指提取终点,int2位置的字符不提取。可以输入-1代表最后一个位置,但仍不提取最后一个数。int3代表步长,取负数时会改变提取的方向。
*28、len(str)
#字符串长度
*29、for 变量名 in str:
内置代码块
#这样就能一个字符一个字符的提取字符串。for和while的应用场景:有穷尽优先使用for,无穷尽用while。可以使用countinue与break。
*30、str.replace(str1,str2,int)
#用于把str中的str1字符用str2来替换掉。int用于从左到右指定替换的次数。
*31、range(int1,int2)
#帮助创建连续的数字,不创建int1这个数。int2代表步长,可以通过步长来建立不连续的数。
基本魔法:join split find strip upper lower.
#字符串一旦创建,就无法更改,一旦修改或拼接都会创建新的字符串。
字符串的格式化:
占位符:%s:字符串,%d:数字。%%:取消占位。
msg=“Im %s,age is %d”%("Iron man",18)
print(msg)
这里输出的就是“Im Iron man,age is 18”.
3、列表
列表的书写:list[]
想要表示多个”事物“,可以使用列表。
公用“魔法”:
1、len
#计算列表长度
2、索引 list[]
3、切片 list[int1:int2]
4、删除 list.pop[int]或del list[int]
5、修改 list[int]=
6、步长 list[int1:int2:int3]
7、for循环
特有“魔法”:
1、list.append() #append,在列表的最后追加一个元素. 2、list.insert(int,) #可以在指定位置int插入某一元素。 3、list.remove() #可以删去一个指定元素 4、list.pop(int) #可以删去指定索引位置int的元素。 5、list.clear() #删去列表内所有元素。 6、list.reverse() #反转列表 7、list.sort(reverse=True/False) #sort为排序,reverse=True时,从大到小排序。反之,reverse=False,从小到大排序。不填reverse时,默认从小到大,即默认为False. 8、list.extend() #把所给的变量中的每一个元素添加到列表中。
4、元组
元组书写:tuple()
列表与元组的区别:列表内的元素可变,元组内元素不可变。
公共功能:
1、len
#计算元组长度
2、索引 tuple[]
3、切片 tuple[int1:int2]
4、步长 tuple[int1:int2:int3]
5、for循环
5、总结
字符串
公共: 切片 索引 len 步长 for循环 range(0,10) # 帮助你生成一个数字列表 [0,1,2,3,4,5,6,7,8,9]
私有: join #join也可用于把列表的每一个元素进行分割 split find strip upper lower
列表(可变):
公共 索引 切片 步长 修改 删除 del for len
独有 append insert pop remove clear 列表嵌套
元组(不可变):
公共: 索引 切片 步长 for len
独有功能(无)
元组嵌套
常见的类型转换:
# 字符串转数字 # 数字转字符串 # 列表转元组 # 元组转列表 # 其他转bool时,只有:0 “” [] ()
浙公网安备 33010602011771号