python数据类型以及方法

1.变量

1.1 变量类型:

 变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符

1.2变量赋值

Python中的变量赋值不需要类型声明。

每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。

每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。

 

a=1
x=0.11
y="string"
print(a,x,y)

 

可用=连续赋值多个变量 

a=b=c=1
print(a,b,c)

多个对象创建多个变量

a,b,c=1,3.4,"jack"
print(a,b,c)

思考程序:

#AUTHER:LANIST
name1="jack"
name2=name1
print(name1,name2)
name2="rose"
print(name1,name2)

jack jack
jack rose

 1.3定义变量规则

变量名只能是字母,数字或下划线的组合且第一个字符不能是数字

关键字不能声明为变量名:详细见上篇https://www.cnblogs.com/lanist/p/12592776.html

2.字符串操作

#AUTHER:LANIST

a="{name} hsbao {ages}"

print(a.count("a")) #字符串中a的数量
print(a.center(20,"+"))#++hsbao+++开辟20个空间
print(a.capitalize())#首字母大写
print(a.encode(encoding="utf-8"))#将字符串编码
print(a.expandtabs(tabsize=2))#在\t的位置转换为空格,越大的空的越大
print(a.endswith("c"))#判断字符串以什么结尾 true/false
print(a.format(name="jack",ages="18"))#格式化输出
dict={"name":"lanist","ages":"16"}
print(a.format_map(dict))#字典方式格式化输出

判断字符串

b="linux"
print(b.find("n"))#获取n的下标
print(b.isdigit())#判断是否为数字
print(b.index("x"))#获取索引
print(b.isupper())#是否大写
print(b.istitle())#判断首字母是否大写 Linux Is  vvv
print("aaa".isidentifier())#判断是否合法标识符
print("123".isdigit())#判断是否为数字
print("zmh".isalpha())#判断是否为字母
print("wq123q".isalnum()) #判断字符串是否为数字字母组合
print("A".isdecimal())#判断是否为10进制
print("qwe".islower())#判断是否为小写字母
print("QWE".isupper())#判断是否为大写字母
print("124".isprintable())#判断字符串是否可打印
print("123".isalnum())#判断是否为数字
print(" ".isspace())#判断是否为空格
print("11".isnumeric())#检测字符串是否为数字组成例:汉字,罗马数字,全角,半角
a1="abc"
a2="123"
print("a1".join(a2))#?
print("abc".ljust(10,"="))#左对齐10个位置,不够=补全
#Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
#Python rstrip() 删除 string 字符串末尾的指定字符(默认为空格).
print(" safbdfs ".rstrip()) print(" safbdfs ".lstrip()) print(" safbdfs ".strip())
#做映射一一对应 q=str.maketrans("abc","123") print("bca".translate(q)) print("asd".upper())#小写转化为大写 print("sa".zfill(10))#不够10的用0填充在左边 print("zx".replace("x","X"))#替换 print("adwasv".rsplit("a"))#以a分隔 print("www.baidu".startswith("www"))#判断是否以www开头 print("i am a girl".splitlines())#转换为列表 print("abc".swapcase())#大小写转换

3.字符编码

3.1python中

python2需要加

#-*-coding:utf-8 -*-

python3自带字符编码

3.2字符编码介绍

ASCII,主要用于显示现在英语和其他西欧语言,其最多只能用8位来表示(一个字节),即:2**8=256-1,所以呢,ASCII码最多只能表示255个字

 

 

 

 

 

 

4.数据类型

4.1整型

       在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1
  在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1

a=1
b=2
print(a,b)
print(type(a))
#删除对对象a的引用,所以会出现错误
del a,b
del a
print(a,b)

 

4.2浮点型

浮点型数值用于保存带小数点的数值,Python 的浮点数有两种表示形式:

- 十进制形式:这种形式就是平常简单的浮点数,例如 5.12、512.0、0.512。浮点数必须包含一个小数点,否则会被当成整数类型处理。
- 科学计数形式:例如 5.12e2(即 5.12×10^2)、5.12E2(也是 5.12 ×10^2)。

必须指出的是,只有浮点型数值才可以使用科学计数形式表示。例如 51200 是一个整型值,但 512E2 则是浮点型值。

 

#AUTHER:LANIST
a=1.3
b=2.5e3
print(a,b)
print(type(a))
print(type(b))

 

 

 

4.3布尔

真或假  1或0

#AUTHER:LANIST
a=12
if a:
    print("good")
else:
    print("bad")

结果为 good
#如果字符串为空,则结果为bad

 

4.4字符串

字符串就是一系列数字,在python中,用引号引起来的都是字符串,其中的引号可以是单引号,也可以是双引号

符串或串(String)是由数字、字母、下划线组成的一串字符。

 

python的字串列表有2种取值顺序:

 

从左到右索引默认0开始的,最大范围是字符串长度少1
从右到左索引默认-1开始的,最大范围是字符串开头

 

 

 

 

如果你要实现从字符串中获取一段子字符串的话,可以使用 [头下标:尾下标] 来截取相应的字符串,其中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。

 

[头下标:尾下标] 获取的子字符串包含头下标的字符,但不包含尾下标的字符。取头不取尾

 

#AUTHER:LANIST
a="123456789"
b=15.244e2  #15.244*100
print(a[0:2])#字符串切片,“取头不取尾” 打印下表为0和1的
print(a[:-1])#12345678
print(a[-3:-1])#78
print(a[2:7:3])#::3为步长  36
print(b*2)
print(a + "test")#字符串拼接

 

使用方法修改字符串大小写

#AUTHER:LANIST
name="i am a girl"
print(name.title())

I Am A Girl

 

 

集合类型的数据类型有 列表、元组及字典

4.5列表

列表用 []标识,是 python 最通用的复合数据类型。

列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。

取头不取尾

#AUTHER:LANIST
list = ['runoob',777,3.14,'anliu',70.2]
tinylist = [123,'john']
print(list)
print(list[0])
print(list[1:3])
print(list[2:])
print(tinylist * 2)#重复打印tinylist两次
print(list + tinylist)

1.查看

list = ['runoob',777,3.14,'anliu',70.2]
print(list)
print(list[1])
print(list[:2])
print(list[2:])
good_list=[("锅巴",4),
("本子",10),
("液晶电视",4999),
("热水壶",105),
("电脑",5666)
]

结果

['runoob', 777, 3.14, 'anliu', 70.2]
777
['runoob', 777]
[3.14, 'anliu', 70.2]

 

2.操作

    
list = ['runoob',777,3.14,'anliu',777]
#查看索引
print(list.index(777))
#统计元素总数
print(list.count(777))
#翻转排序
list.reverse()
print(list)
#AUTHER:LANIST
list = ["jack","rose","tom","jerry"]
list1=["abc","123"]
#遍历整个列表
for i in list:
    print(i)

#把list1合并到list上
list.extend(list1)
print(list)
print(list1)

jack
rose
tom
jerry
['jack', 'rose', 'tom', 'jerry', 'abc', '123']
['abc', '123']

3.增

#AUTHER:LANIST
list = ["jack","rose","tom","jerry"]
#在列表末尾添加
list.append("apple")
print(list)
#在指定位置插入元素
list.insert(0,"qqq")
print(list)

['jack', 'rose', 'tom', 'jerry', 'apple']
['qqq', 'jack', 'rose', 'tom', 'jerry', 'apple']

4.删

如果你要存列表中删除一个元素,切不在以任何方式使用它,就用del语句;如果你要在删除元素之后还能继续使用它,就用pod()方法。

#AUTHER:LANIST
list = ["jack","rose","tom","jerry"]
del list[1]
print(list)
#默认删除最后一个元素
list.pop()
print(list)
#指定值删除元素
list.remove("tom")
print(list)

5.改

#AUTHER:LANIST
list = ["jack","rose","tom","jerry"]
list[1]="hello"
print(list)

 

4.6元组

元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。

#AUTHER:LANIST
tuple = ('runoob', 786, 2.23, 'john', 70.2)
tinytuple = (123, 'john')
print(tuple)  # 输出完整元组
print(tuple[0])  # 输出元组的第一个元素
print(tuple[1:3])  # 输出第二个至第四个(不包含)的元素
print(tuple[2:])  # 输出从第三个开始至列表末尾的所有元素
print(tinytuple * 2)  # 输出元组两次
print(tuple + tinytuple)  # 打印组合的元组

 

4.7字典

列表是有序的对象集合,字典是无序的对象集合。

两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典用"{ }"标识。字典由索引(key)和它对应的值value组成。

#AUTHER:LANIST
dict={"name":"jack","ages":"18","address":"us"}
#取出键为name的值
print(dict["name"])
print(dict)
# 输出所有键
print(dict.keys())
# 输出所有值
print(dict.values())

 

添加,修改

#AUTHER:LANIST
dict={"name":"jack","ages":"18","address":"us"}

#访问字典值,该方法在键值不存在时报错
print(dict["name"])
#该方法在之不存在的时候,返回null
print(dict.get("ages"))
#判断键值是否存在于字典
print("good" in dict)
#有则修改
dict["ages"] = "21"
print(dict)
#无则添加
dict["sex"]="male"
print(dict)


jack
18
False
{'name': 'jack', 'ages': '21', 'address': 'us'}
{'name': 'jack', 'ages': '21', 'address': 'us', 'sex': 'male'}

删除

dict={"name":"jack","ages":"18","address":"us"}
#删除字典
del dict

#删除键和对应的值
dict.pop("ages")
print(dict)

#随机删除
dict.popitem()
print(dict)

 

嵌套

#Author:Anliu
info = {
    '1001':{'name':"zhangsan",'身高':"195",'体重':"180"},
    '1002':{'name':"lisi",'身高':"179",'体重':"250"},
    '1002':{'name':"wangwu",'身高':"180",'体重':"130"}}
print(info)

 

4.8集合

集合:集合是一个无序的,不重复的数据集合,可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

 

posted on 2020-04-05 13:35  lanist  阅读(473)  评论(0编辑  收藏  举报