python基础复习(一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chenwang2018/article/details/84026400

判断数据类型:type(object)

常见函数

绝对值:abs(-1.2)= 1.2

四舍五入:round(1.234,2)= 1.23

幂函数:pow(2,3)= 8     #   2的3次方

math模块

>>> import math

>>> math.floor(32.8)  

32.0    #取整

>>> math.sqrt(4)   #开平方

2.0

字母大小写

  • S.upper() #S中的字母大写
  • S.lower() #S中的字母小写
  • S.capitalize() #首字母大写
  • S.title() #S中所有单词的首字母大写
  • S.istitle() #判断S中所有单词的首字母是否大写
  • S.isupper() #S中的字母是否全是大写
  • S.islower() #S中的字母是否全是小写

字符串操作

字符串长度:

>>> name = 'chen1'
>>> len(name)
5

截取:

a[n,m]    #截取a[n]到a[m-1]

a[:]  #截取全部

a[2:] #表示从a[2]到最后

a[-1]   #表示a字符串最后一个值

a[:6]  #表示从开头到a[0]至a[5]结束,共6位

去掉字符串空格:

S.strip()  #去掉S字符串两端的空格

S.lstrip()  #去掉字符串左边空格

S.rstrip()  #去掉字符串右边空格

打印:

>>> print('my name is ' + 'chenwang')

>>> name = 'chenwang'
>>> age = 31
>>> print('%s is %d' %(name,age))

运算符

算数运算符:+、-、*、/、%(取余)、**(幂)、//(整除—返回商的整数部分)

比较运算符:==、>、<、>=、<=

布尔运算:and、or、not

>>> 4>3 and 4>4
False
>>> 4>3 or 4>4
True
>>> not(4>3 and 4>4)
True

bool的应用:

>>> a = 'daff'
>>> bool(a)
True

>>> if bool(a):
    print('I like python')

    
I like python


>>> b=''
>>> bool(b)
False
>>> bool(3>2)
True
>>> bool(3<2)
False

List(在python具有非常强大的功能)

append    # 追加元素

>>> a = ['I','like']
>>> a.append['python']

>>> a
['I', 'like', 'python']

len #长度

>>> b = ['da','fef',131,'fkkk','sss']

>>> len(b)
5

list的截取:

>>> b = ['da','fef',131,'fkkk','sss']
>>> b[1:3]
['fef', 131]

extend  #合并list

>>> la = ['I','like']                 
>>> lb = ['python','very much']
>>> la.extend(lb)         #把lb合并到la上
>>> la
['I', 'like', 'python', 'very much']    #la合并后的值

>>> lb

['python', 'very much']      #lb不变

append 与 extend的区别
>>> lc = ['da',1,2,3]
>>> ld = ['grg',55]
>>> lc.append(ld)
>>> lc
['da', 1, 2, 3, ['grg', 55]]  #append将被合并的list作为一个整体合并

备注:append是整建制地追加,extend是个体化扩编

count  #数某个元素在list中出现的次数

>>> le = [1,2,3,1,1,5,'a','a']
>>> le.count(1)
3
>>> le.count('a')
2

index   #通过元素找到其在list中的编号

>>> lf = [1,2,3,4,5,1,'a']
>>> lf.index(1)    #找到第一次出现该元素的位置
0
>>> lf.index('a')
6

>>> lf.index('b')
Traceback (most recent call last):
  File "<pyshell#27>", line 1, in <module>
    lf.index('b')
ValueError: 'b' is not in list

插入元素

list.insert(i,x)  #将新的元素x 插入到原list中的list[i]前面

>>> url = ['www','baidu']
>>> url.insert(0,'http://')
>>> url
['http://', 'www', 'baidu']
>>> length = len(url)

>>> url.insert(length,'com')      #在后面追加,就等同于list.append(x)
>>> url
['http://', 'www', 'baidu', 'com']

删除list中的元素

remove  #删除指定元素,如果不在list中则报错;

>>> users = ['chenwang', 'zhanghaowei','miaodongqian']
>>> users.remove('zhanghaowei')
>>> users
['chenwang', 'miaodongqian']

>>> users.remove('wenping')
Traceback (most recent call last):
  File "<pyshell#38>", line 1, in <module>
    users.remove('wenping')
ValueError: list.remove(x): x not in list

in   #判断元素是否在list中

pop(i)  #删除元素指定编号i处的元素,不填写i则删除最后一个元素

>>> names = ['dongqian','chenwang','haowei']
>>> del_name = names.pop()     #删除的元素可赋值给变量
>>> del_name
'haowei'
>>> names        #删除后的list
['dongqian', 'chenwang']

>>> names
['dongqian', 'chenwang']
>>> names.pop(1)    #删除编号1处的元素
'chenwang'
>>> names
['dongqian']

range(start,stop[,step])  #start开始数值,默认为0,stop必须填写,step步长选填

>>> range(9)
range(0, 9)    #即[0,1,2,3,4,5,6,7,8]

>>> range(1,3)
range(1, 3)    #即[1,2]

>>> range(0,9,3)
range(0, 9, 3)   #[0,3,6]

range(0,-9,-2)  #即[0,-2,-4,-6,-8]

实际应用:0到100的偶数可表示为  range(0,100,2)

排序方法: 可做个专题研究

  • list.sort(cmp=None, key=None, reverse=False)
  • sorted(iterable[, cmp[, key[, reverse]]])

学会看使用手册help(list)

连接号‘+’的应用:

>>> str1 ='dsd'
>>> str2 = 'kk'
>>> str1 +str2
'dsdkk'

>>> list1 = ['a','c','b']
>>> list2 = ['ss',33]
>>> list1 + list2
['a', 'c', 'b', 'ss', 33]

list和str的区别:

list可以改变(可在原处修改,不用生成新的),str不可变(如果想要修改,重新生成一个新的,对原来的没有影响)

>>> git_list = ['de','dewf',123]
>>> git_list.append('sss')         #追加
>>> git_list
['de', 'dewf', 123, 'sss']
>>> git_list[1] = 'xxx'         #指定编号位修改
>>> git_list
['de', 'xxx', 123, 'sss'] 

>>> git_list.insert(1,'charu ')                #指定位置插入
>>> git_list
['de', 'charu ', 'xxx', 123, 'sss']
>>> del git_list[0]                                 #删除指定位置的元素
>>> git_list
['charu ', 'xxx', 123, 'sss']

修改str只能生成新的,无法直接在原str上修改

>>> str1 = 'old'
>>> str2 = str1 + 'sss'   #生成新str2
>>> str1    #原str不变
'old'
>>> str2
'oldsss'

多维list:

>>> matrix = [[1,2,3],[4,5,6]]
>>> matrix[0][1]
2

list和str的相互转换:

str.split()

>>> s = "I am, writing\npython\tbook on line"
>>> s.split()                              #括号中不带参数,遇任意分隔符分割 (空格、换行符)
['I', 'am,', 'writing', 'python', 'book', 'on', 'line']

>>> line = "Hello.I am chenwang .Welcome you."

>>> line.split(".")
['Hello', 'I am chenwang ', 'Welcome you', '']

>>> line.split(" ",3)         #以空格分割,切三次
['Hello.I', 'am', 'chenwang', '.Welcome you.']

"[sep]".join(list)   #用内容连接list各元素

>>> names = ['chenwang','haowei','dongqian']
>>> ''.join(names)
'chenwanghaoweidongqian'
>>> '.'.join(names)
'chenwang.haowei.dongqian'
>>> ' '.join(names)
'chenwang haowei dongqian'

list解析   #python简洁优雅之美

>>> squarts = [x*x  for x in range(1,10)]   #注记:从左至右依次是结果表达式、循环表达式、条件表达式
>>> squarts
[1, 4, 9, 16, 25, 36, 49, 64, 81]

>>> s = [x for x in range(0,101) if x%3==0]    #注记:从左至右依次是结果表达式、循环表达式、条件表达式
>>> s
[0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99]

#巧用list解析去元素中空格

>>> mybag = ['glass   ','   apple','  green   ']
>>> newbag1 = [one.strip() for one in mybag]
>>> newbag1
['glass', 'apple', 'green']

进一步思考:list解析可以对list元素批量做各种操作。

>>> for i in range(len(week)):
             print(week[i]+' is '+ str(i))      # 使用“+”拼接的必须为str格式

monday is 0
sunday is 1
friday is 2

内置函数enumerate:  枚举

>>> for (i,day) in enumerate(week):
    print(day + ' is '+ str(i))

    
monday is 0
sunday is 1
friday is 2

>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]

>>> list(enumerate(seasons, start =1))   #从1编号枚举
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]

与普通函数结合:

>>> def treatment(pos, element):
    return "%d: %s"%(pos,element)

>>> seq = ["qiwsir","qiwsir.github.io","python"]
>>> [treatment(i, ele) for i, ele in enumerate(seq)]
['0: qiwsir', '1: qiwsir.github.io', '2: python']

与lambda表达式结合:

>>> foo = lambda i,ele : "%d:%s"%(i,ele)    #输入冒号左边的参数,返回冒号右边表达式算出的结果
>>> [foo(i,ele) for i,ele in enumerate(seq)]
['0:qiwsir', '1:qiwsir.github.io', '2:python']

猜你喜欢

转载自blog.csdn.net/chenwang2018/article/details/84026400