python基础数据类型

数字类型(int)

======================================基本使用======================================
1、用途:数字,主要用于运算1,2,3...
2、定义方式:age = 18  #age = int(18)
3、常用操作+内置的方法

#存一个值

#有序:但凡有索引的数据都是有序的

#不可变类型

x = 10
print(id(x))
x = 11
print(id(x))

======================================该类型总结====================================

Ps:可变类型:值改变的情况下,id不变,说明你改的是原值。不可变类型:值改变的情况下,id一定变 

 

 

print(type(age))
int('abadf') #报错
int('10.1') #报错
int('101') #int只能将字符串中包含纯数字转成整型

1.进制转换

#其他进制转十进制

二进制转十进制

(10)   1*(2**1)+0*(2**0)

八进制转十进制

(23)   2*(8**1)+3*(8**0)

十六进制转十进制

(217)   2*(16**2)+1*(16**1)+7*(16**0)

print(int('1231',2))
print(int('14',8))
print(int('d',16))
# int可以传第一个参数,表示的是第一个参数到底是什么进制  然后转成十进制

#十进制转换成其他进制

十进制转换成二进制

print(bin(12))     # 0b1100  0b表示后面的数字是二进制数

十进制转换成八进制

print(oct(12))     # 0o14  0o表示后面的数字是八进制数  14 >>> 1*(8**1) + 4*(8**0))

十进制转换成十六进制

print(hex(12))     # 0xc  0x表示后面的数字是十六进制数

 

浮点型(float)

 

 

======================================基本使用======================================
1、用途:薪资,身高,体重
2、定义方式:

salary = 2.2  # salary = floot(2.2)

3、常用操作+内置的方法

#存一个值

#不可变类型
======================================该类型总结====================================

 

字符串(str)

======================================基本使用======================================
1、用途:描述性
2、定义方式:'',"",""""""

a = 'hello word'  # a = str('hello word')

3、常用操作+内置的方法
======================================该类型总结====================================
1.按索引取值(正向取+反向取):只能取

s = 'hello big baby~'
print(s[0])

2.切片(顾头不顾尾,步长):把一个长的字符串中截取出一个短的字符串

print(s[0:5])  # hello
print(s[0:10:])  #hello big   # 步长不写默认是1
print(s[0:10:2])  #步长表示隔几个取一个

   Ps:左边的固定就是头,右边固定就是位  没有说按数字来分头尾

了解负数取值

print(s[-1])
print(s[0:5:-2])  # 切片取值默认是从左往右的
print(s[-1:-10:-1]) 

3.长度len:统计的是字符串中字符的个数

s1 = 'nihaoma'
print(len(s1))

4.成员运算in和not in:判断一个字符串是否存在整个字符串中

print'yzy' in 'yzy is zmm boy'print('zmm' in 'yzy is zmm boy')
print('pig' not in 'yzy is zmm boy')

5.去掉字符串左右两边的字符strip,不管中间的

username = input(>>:).strip()
if username == 'yzy':
print('good')

    Ps:strip()默认去除字符串首尾的空格

了解即可:

name5 = '$$$$jason$$$$'
print(name5.lstrip('$'))  # left左边print(name5.rstrip('$'))  # right右边

6.切分split:针对按照某种分隔符组织的字符串,可以用split将其切分成列表,进而进行取值

data = 'zmm|gril|beaty'
print(data.split('|'))
a,b,d = data.split('|')
print(a,b,c)

    强调:split切分出来的数据类型是一个列表

print(data.split('o'))  # 切割的顺序其实从左往右的
print(data.split('o',1))  # 切割的顺序其实从左往右的
print(data.rsplit('o',1))  # 切割的顺序其实从左往右的
如果不指定那么split和rsplit效果是一样

7.循环

for i in data:
    print(i)

需要掌握的内容:

1.strip,lstrip,rstrip

2.split,rsplit

3.lower,upper

data = 'yzyZMm'
print(data.lower())
print(data.upper())

调用字符串的方法并没有改变字符串本身

4.startswith,endswith

data = 'yzy is zmm boy'
print(data.startswith('y'))     # 判断字符串是否以什么什么开头
print(data.endswith('y'))       # 判断字符串是否以什么什么结尾

5.format的三种玩法(python推荐使用format做格式化输出)

第一种 按位置站位 跟%s原理一致

第二种 按索引占位

第三种 指名道姓占位(关键字传参)

1.d = 'my name is{},age is{},sex is{}'.format('yzy','18','male')
2.d = 'my name is{1},age is{0},sex is{2}'.format('yzy','18','male')
3.d = 'my name is{a},age is{b},sex is{c}'.format(a = 'yzy',b = '18',c = 'male')

6.join

data = 'yzy|boy|good'
a = data.split('|')
print(a)
b = '*'.join(a)     # 将容器类型中的多个元素通过指定字符拼接成一个字符串
print(b)

7.replace

data = 'yzy is  a good boy'
a = data.replace('yzy','zmm')
print(a)

8.isdigit   # 判断字符串中包含的是否为纯数字

while True:
    age = input('>>:')
    if age.isdigit():
       age = int(age)
        if age > 28:
           print('阿姨好')
     else:print('好好输')

需要了解的内置方法:

1、find,rfind,index,rindex,count

s = 'kevin is dsb o and kevin is sb'
# print(s.find('dsb'))  # 返回的是d字符所在的索引值
# print(s.find('xxx'))  # 找不到的时候不报错返回的是-1
# print(s.find('i',0,3))  # 还可以通过索引来限制查找范围
# print(s.index('o'))  # 返回所传字符所在的索引值
# print(s.index('i',0,3))  # 返回所传字符所在的索引值
# print(s.count('n'))  # 统计字符出现的次数

2、center,ljust,rjust,zfill

s9 = 'jason'
# print(s9.center(12,'*'))
# print(s9.ljust(40,'$'))
# print(s9.rjust(40,'$'))
# print(s9.rjust(40,' '))
# print(s9.zfill(40))

3、expandtabs

# s10 = 'a\tbc'
# print(s10.expandtabs(100))

4、captalize,swapcase,title

# s12 = 'hElLo WoRLD sH10'
# print(s12.capitalize())  # Hello world 首字母大写
# print(s12.swapcase())  # 大小写互换
# print(s12.title())  # 每个单词的首字母大小

5、is数字系列

#5、is数字系列
num1=b'4' #bytes
num2=u'4' #unicode,python3中无需加u就是unicode
num3='' #中文数字
num4='' #罗马数字
# ''.isnumeric(): unicode,中文数字,罗马数字    只要是表示数字都识别
print(num2.isnumeric())
print(num3.isnumeric())
print(num4.isnumeric())

# ''.isdecimal(): unicode   只识别普通的阿拉伯数字
print(num2.isdecimal())
print(num3.isdecimal())
print(num4.isdecimal())

# ''.isdigit() :bytes,unicode    通常情况下使用isdigit就已经满足需求了
print(num1.isdigit())
print(num2.isdigit())
print(num3.isdigit())
print(num4.isdigit())

列表(list)

======================================基本使用======================================
1、用途:多个装备,多个爱好,多门课程,多个女朋友等
2、定义方式:[]内可以有多个任意类型的值,逗号分隔

# my_girl_friends=['alex','wupeiqi','yuanhao',4,5] #本质my_girl_friends=list([...])
# 或
# l=list('abc')
# l1=list({'name':'jason','password':'123'})
# print(l1)
# list内部原理就是for循环取值 然后一个个塞到列表中去

3、常用操作+内置的方法
======================================该类型总结====================================

优先掌握的操作:

1、按索引存取值(正向存取+反向存取):即可存也可以取

# l = [1,2,3,4]
# print(l[0:4:1])
# print(l[0::])
# print(l[5::-1])
# print(id(l))
# l[0] = 69
# print(id(l))
# print(l)

2、切片(顾头不顾尾,步长)

l = [11,22,33,44,55]
l1 = [99,88,77,66]
# [11,22,33,44,55,99,88,77,66]

  1.尾部添加一个66

# l.append(66)  # 注意append值能将被添加的数据当作列表的一个元素
# print(l)

  2.任意位置添加元素

# l.insert(2,96)  # 通过索引在任意位置添加元素
# print(l)  # 注意insert值能将被添加的数据当作列表的一个元素

  3.添加容器类型数据

# l.append(l1)
# l.insert(-1,l1)
# l.extend(l1)  # 内部原理for循环l1一个个追加到列表的尾部
# l.extend([1,])
# print(l)

3、长度

print(len(l))

4、成员运算in和not in

print( 444 in l)

5、往列表中添加元素(******)

# append
# insert
# extend    迭代着追加,在列表的最后面迭代着追加一组数据

6、删除

# print(l)
# del l[2]  # del适用于所有的删除操作
# print(l)

# res1 = l.pop()  # 尾部弹出
# res2 = l.pop()
# res3 = l.pop()
# print(res1,res2,res3)

# res1 = l.pop(0)  # 可以指定索引 按照索引弹出元素
# print(res1)

# res = l.remove(33)  # 指定要删除的元素的值
# print(l)
# print(res)

# s = 'haha'
# print(s)
# del s
# print(s)

7、循环

for i in l:
    print(i)
posted @ 2019-07-03 16:07  Yzy~Yolo  阅读(198)  评论(0编辑  收藏  举报