基本数据类型与内置方法(1)

基本数据类型与内置方法

整型

基本方法

用途:一般用于定义整数,年龄,qq

定义方式:

  age=18 and age=int(18)

常用方法:

  数字计算:

    进制之间的转换:

      其他进制转10进制:

        int('1100',2) 第二个参数是第一个参数的进制

        二进制转十进制:0,1

          110 1*2*2+1*2+0*1=6

          int('1100',2)

        八进制转十进制:0-7

          123 1*8*8+2*8+3*1=83

          int('83',8)

        十六进制转十进制:0-9,a-f

          321 3*16*16+2*16+1*1=801

          int('801',16)

      10进制转其他进制:0-9

        十进制转二进制:

          print(bin(108)) 0b1101100 0b:指代二进制

        十进制转八进制:

          print(oct(83)) 0o123  0o:指代八进制

        十进制转十六进制:

          print(hex(1000))   0x3e8    0x:指代十六进制

类型总结:

什么是有序的:有索引的类型都是有序的

什么是可变和不可变: 值变id不变,是可变类型

                  值变id变,是不可变类型

整型是无序的,不可变的,存一个值  

 

浮点型

用途:用于记录小数,身高,体重和薪资等

定义方法: height=1.0 height = float(1.0)

常用方法:

数字计算

 

s1='1'

  print(float(s1))
1.0

 

s1 = '1.0'
a=int(s1)

print(a)


Traceback (most recent call last):
  File "F:/python_work/python_oldboyedu_learn/Oldboyedu_python/python_base.py", line 515, in <module>
    a=int(s1)
ValueError: invalid literal for int() with base 10: '1.0'
s1 = '1.0'
s1 = float(s1)
a = int(s1)

print(a)


1

类型总结: 无序,不可变,存一个值

 

字符串

用途:用于存储一些描述性信息,名字

定义方式:

第一种:s1='a'

第二种:s2=''b''

第三种:s3='''c'''

    s4=''''''d'''''''''

无区别,不能混用

补充:小写的r+字符串,代表转义

# 因为反斜杠是转义符,所以两个"\\"就表示一个反斜杠符号
 str1 = r'C:\Users\Public\Desktop\QQ音乐.lnk'
print(str1.split('\\'))


['C:', 'Users', 'Public', 'Desktop', 'QQ音乐.lnk']

常用方法:

1.索引取值:(正向,反向取都可以)只能取不能存

s1 = 'hello world'
print(s1[4])  # 正向取值
print(s1[-7])  # 反向取值

o
o

2.索引切片:

切片:截取字符串中的小段字符串

s1 = 'hello world'
# print(s1[4])  # 正向取值
# print(s1[-7])  # 反向取值
print(s1[2:5])
print(s1[4:])
print(s1[:5])
print(s1[0:-2:2])
print(s1[::-1])  # 反向打印

llo
o world
hello
hlowr
dlrow olleh

3.成员运算:in ,not in

   

print('o' in s1)
print('o' not in s1)

True
False

 

4.strip()

input无论接收的是什么类型,一定返回的是字符串,去除字符串内的左右两边的空格,中间不算

 

s1 = '  hello world  '
print(len(s1))
print(s1.strip())
print(len(s1.strip()))


15
hello world
11

 

 

 

可以指定去除:

 

s1 = '@@@hello@world@@@'
print(s1.strip('@'))


hello@world

 

5.split()

切分:对字符串进行切分,可以指定切分的分隔符,返回的是一个列表

a1 = 'godlover/18/male'

print(a1.split('/'))


['godlover', '18', 'male']

6.len()

获取当前数据中的元素的个数

a1 = ' hello '
print(len(a1))

7

需要掌握的:

  rstrip()  删除左边空格

  lstrip()  删除右边空格

  upper()   全部大写

  lower()  全部小写

  title()  首字母大写


7.endswith() \ startswith() :判断当前字符串是否以(。。。)开头,或者以(。。。)结尾,返回布尔值

 

8.r.split()  可以指定切分的次数

 

s1 = 'name,age,gender'

print(s1.rsplit(',',1))


['name,age', 'gender']

 

9.join()

将列表每个元素按照前面字符串中的分隔符进行拼接 ps:传入的列表只能是字符串

l1 = ['sean', '18', 'male']
print('\\'.join(l1))

sean\18\male

 

10.replace()

将字符串中的元素进行替换,先写老的元素再写新的元素

s1 = 'sean,18'
print(s1.replace('sean','godlover'))


godlover,18

 

11.isdigit() : 判断当前字符串中的数据,是否是一个整数,返回布尔值

s1 = 'asd'
print(s1.isdigit())

s2 = '123'
print(s2.isdigit())

False
True

12.find()

查找当前字符串某个元素的位置,返回索引,找不到返回-1,从左往右找

s1 = "你今天吃饭了么?"
print(s1.find('吃饭'))
print(s1.find(''))
print(s1.find(''))


3
3
-1

rfind():从右往左找

可以指定位置,find('?', , )

s1 = "你今天吃饭了么?"
# print(s1.find('吃饭'))
# print(s1.find('吃'))
# print(s1.find('喝'))
print(s1.find('',0,6))
print(s1.find('',0,4))


5
-1

 

13.index()

查找当前字符串某个元素的位置,返回索引,找不到返回异常,从左到右

s1 = '你是谁啊 ?'
print(s1.index(''))

3


s1 = '你是谁啊 ?'
# print(s1.index('啊'))
print(s1.index(''))


Traceback (most recent call last):
  File "F:/python_work/python_oldboyedu_learn/Oldboyedu_python/python_base.py", line 583, in <module>
    print(s1.index(''))
ValueError: substring not found

找不到值,返回异常

 

rindex():从右往左找

 

14.count():统计当前字符串中某一个元素的个数 

s1 = '你昨天吃了什么,今天又吃了什么?'
print(s1.count(''))


2

 

15.center(),ljust(),rjust(),zfill()

 

print("欢迎光临".center(20, '*'))
print("欢迎光临".ljust(20, '*'))
print("欢迎光临".rjust(20, '*'))
print("欢迎光临".zfill(20))


********欢迎光临********
欢迎光临****************
****************欢迎光临
0000000000000000欢迎光临

 

 

16.is系列

isdigit: unicode,bytes

isdecimal: unicode

isnumeric: unicode\中文字符\罗马字符\阿拉伯数字

类型总结:

有序,不可变,存一个值

 

列表

用途:用于存一个或多个不同类型的值

定义:通过中括号存值,每个值之间通过逗号进行分隔

常用方法

1.索引取值:

正向取值,反向取值都可以,不仅可取,还可以以存

 

l1 = [1, 2, 3, 4, 5]
print(l1[2])
l1[2] = 222
print(l1)

3
[1, 2, 222, 4, 5]

 

 

2.索引切片

参考字符串索引切片

 

3.append()

追加值,只能追加到最后一位,一次性只能添加一个值

l1 = [1, 2, 3, 4, 5]
print(l1)
l1.append(10)
print(l1)

[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5, 10]

 

4.insert()

 插入值,通过索引指定,插入的位置

l1 = [1, 2, 3, 4, 5]
# print(l1)
# l1.append(10)
# print(l1)
print(l1)
l1.insert(3,11)
print(l1)


[1, 2, 3, 4, 5]
[1, 2, 3, 11, 4, 5]

 

5.extend()

添加多个值,传入可迭代对象

l1 = [1, 2, 3, 4, 5]
print(l1)
l1.extend([10,11,12])
print(l1)


[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5, 10, 11, 12]

 

6.remove()

指定值删除,删除比较彻底

l1 = [1, 2, 3, 4, 5]
# print(l1)
# l1.extend([10,11,12])
# print(l1)
l1.remove(1)
print(l1)

[2, 3, 4, 5]

 

7.pop()

不传值,默认从最后开始弹出,指定索引弹出,有返回值,返回被弹出的元素

万能删:

  del li [0]

l1 = [1, 2, 3, 4, 5]

print(l1.pop())
print(l1)

5
[1, 2, 3, 4]
l1 = [1, 2, 3, 4, 5]

# print(l1.pop())
# print(l1)

print(l1.pop(2))
print(l1)

3
[1, 2, 4, 5]

 

内置方法:

  1.count:统计当前列表内指定元素的个数

  

l1 = [1, 2, 3, 4, 5, 6, 1]
print(l1.count(1))

2

 

  2.index:获取当前列表指定元素的索引值,还可以指定查找的范围

 

 

l1 = [1, 2, 3, 4, 5, 6, 1]
print(l1.index(1))

0
l1 = [1, 2, 3, 4, 5, 6, 1]
print(l1.index(1,1,))


6

 

   3.sort:排序,在原列表上,进行排序操作

  默认 reverse=False 从小到大

    reverse=True 从大到小 


l1 = [1, 2, 3, 4, 5, 6, 1]
# print(l1.index(1,1,))
l1.sort()
print(l1)
l1.sort(reverse=True)
print(l1)

[1, 1, 2, 3, 4, 5, 6]
[6, 5, 4, 3, 2, 1, 1]

 

 

  4.sorted:

    python内置函数,在排序时生成一个新列表,原数据不变

l1 = [1, 2, 3, 4, 5, 6, 1]
# print(l1.index(1,1,))
# l1.sort()
# print(l1)
# l1.sort(reverse=True)
# print(l1)
sorted(l1)
print(l1)
print(sorted(l1))


[1, 2, 3, 4, 5, 6, 1]
[1, 1, 2, 3, 4, 5, 6]

 

    clear:清空列表数据

l1 = [1, 2, 3, 4, 5, 6, 1]
l1.clear()
print(l1)


[]

 

 

队列: 先进先出

堆栈: 先进后出

 

 

 

 

 

 

 

 

posted @ 2019-11-05 17:48  godlover  阅读(236)  评论(0编辑  收藏  举报