真爱无限的知识驿站

学习积累技术经验,提升自身能力

python基本数据类型介绍、list学习

变量数据存储原理图:



练习代码笔记


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

#变量名不能与内置类型相同,比如 list

def say_hello(name):

print("hello {}".format(name))

print("hello")

say_hello("world");

#变量没有类型,值有类型,可以把任意值赋给同一变量

score = 60

print(score)

score = "60分"

print(score)

name="tom"

print(name)

name2="tom"

"""

查看存储内存地址标识

256以下的数字被缓存,内存地址一样

短字符串内存地址有可能一样

"""

print(id("tom"))

print(id(name2))

print(name is name2)

"""

值判断

"""

print(name == name2)


"""

内置类型

"""

print(type(8))

print(type(3.14))

print(type(name))

l1=[1,5,3,7,9]

l2=l1.sort();#列表排序

print(l1)

print(l2 is None)#判断是否相等

print(5>3)

"""

二进制

"""

print(0b1101) 

"""

八进制

"""

print(0o177)

"""

十六进制

"""

print(0x9ff)

"""

基本:

+ - * / %

计算次方 **

整除     //

"""

print(10+int("30"))#类型强转

print(10+float("3.14"))#类型强转

print(bin(10))#转为二进制

print(oct(10))#转为八进制

print(hex(10))#转为十六进制

x=22/7

import math

"""

向下/上取整

"""

print(math.floor(x))

print(math.ceil(x))

print(math.trunc(x))#去掉小数部分

print(round(x))#四舍五入

print(pow(x,2))#平方

print(math.sqrt(x))#开平方

"""

精度处理

"""

import decimal

print(0.1+0.1+0.1-0.3)

#print(decimal.Decimal('0.1')+decimal.Decimal('0.1')+decimal.Decimal('0.1')-decimal.Decimal('0.3'))

from decimal import Decimal

x=Decimal('0.1')+Decimal('0.1')+Decimal('0.1')-Decimal('0.3')

print(x)

#bool类型,

#判断时,True=1,False=0

#转换时,0/空对象(列表、字符串、元组、字典等等)/None为False,其他为True

print(True == 1)

b = bool(3)

print(b)


#序列:list列表属于可变序列,任意类型、可变、可嵌套

scores=[60,70,88.5,90]

print(scores)

print(scores[0])#指定下标

#负下标,-1倒数第1,-2倒数第2……

print(scores[-1])

print(scores[0:2])#指定范围,第1到第3(不包括),等于scores[:2]

print(scores[2:])#第3到最后

print(scores[::2])#指定步长

print(len(scores))#列表长度

print(min(scores))#最小值

print(max(scores))#最大值

print(sum(scores))#总和

print(scores.index(70));#查找索引

print(scores.count(70));#元素值个数

scores.append(99) #添加元素到列表

print(scores)

scores.append(["zhang","san"])#添加一个列表为列表元素,嵌套

scores[0]=60.5 #改变列表中元素的值(指向)

print(scores)

print(type(list))

l = list('abcd')#初始化列表

print(l)

l = list(range(5))#初始化列表

print(l)

names=["zs","ls","we"]

print(names)

print("ls" in names)#判断元素是否在列表中

print("ls" not in names)#判断元素是否不在列表中

l2=[5,6]

print(l+l2)#两个列表相加

print(l2*2)#重复n次

l1=list(range(1,11))

l2=[11,12]

l1[0:2]=l2#范围替换

print(l1)

l1[0:2]=[21]#范围内多个替换为一个

print(l1)

l1[::2]=[99,99,99,99,99]#按步长赋值,给的列表要与要替换值的个数一样

print(l1)

del l1[0]#删除,可指定范围与步长

del l1[:2]#删除一个范围,等同于 l1[:2]=[]

print(l1)

l1.remove(99)#按值删除,删除找到的第1个

#l1.clear() #清空队列,2.X版本不支持

print(l1)

l1.extend([30,31])#增加多个元素,append是只能增加一个元素

l1.insert(0,-1)#插入元素,可指定位置

print(l1)

l1[2:2]=[22]#插入元素,在2与2之间,意思就是新元素位置

print(l1)

r = l1.pop()#不指定索引则弹出最后一个元素,l1.pop(index)指定索引

print(l1)

print(r)

l1.reverse()#反转队列

print(l1)

l=list(range(1,11))

s=l[:]#复制一份值,不能直接 s=l,不然两个变量共享引用

#s=l.copy()#复制,2.X不支持

print(s)

p=['Jr','Jo','Mk',',Tm','Pt']

p.sort(key=lambda x:x[-1])#按最后一个字符排序

print(p)

l.sort(reverse=True);#从大到小排序

print(l)

print(sorted(l))#全局排序,有参数key、reverse,参数本身不变,返回值为排序后的值

print(l)


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.7.3

Copyright 2024-2027 pukuimin Rights Reserved.
粤ICP备17100155号