从零开始的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()
    #返回该数字的二进制所占用的最小位数。
int的“魔法”

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。。
    
str的“魔法”
*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 “” [] ()

  

posted @ 2020-10-16 20:02  灰色躯壳  阅读(86)  评论(0)    收藏  举报