1、python数据类型与结构

import this#哲学之禅

基础知识

方法:方法是python可对数据执行的操作方法后要加(),因为方法需要额外的信息来完成工作。变量.方法()
python将单引号和撇号当作一个字符串
输出时间太长可以ctrl+c停止输出
±*/(除法)**乘方

变量名定义时规则

1、只能包括数字、下划线和字母,其中数字不可以打头
2、变量名不可以包括空格
3、不能使用python中关键字和函数名作为变量名
4、简短且可描述
5、慎用小写字母i和大写字母O

数据类型

1、整数型int
2、浮点数fioat 浮点数取决于采用的技术方法
3、字符串string 字符串用单引号或者双引号或者用str(变量名)函数(注意:只有将数字型变成字符型才可以进行字符合并)

a=10
type(a)
a.bit_length()#a所需的位数
1./4
type(1./4)#在1后面加上(.)就可以使得整数型变成浮点型
5%4#取余,求模

可以使用decimal模块来设置精度浮点数
提供十进制数据类型,并且存储为十进制数序列;
有界精度:用于存储数字的位数是固定的,可以通过decimal.getcontext().prec=x 来设定,不同的数字可以有不同的精度
十进制小数点的位置不固定(但位数是固定的)
可以通过整数、字符串或者元组构建decimal.Decimal,对于浮点数需要先将其转换为字符串
decimal在一个独立的context下工作,可以通过getcontext来获取当前环境。例如前面提到的可以通过decimal.getcontext()。

from  decimal import Decimal
from  decimal import getcontext

d_context = getcontext()
d_context.prec = 6
print(d_context)

d = Decimal(1) / Decimal(3)
print(type(d), d)
example1='There are some people who think love is sex and marriage and six o’clock-kisses and children, and perhaps it is, Miss Lester. But do you know what I think? I think love is a touch and yet not a touch'
print(example1.title())#首字母大写显示每个单词
print(example1.upper())#全部改成小写
print(example1.lower())#全部改成大写
first_name='bai'
last_name='xue'
name=first_name+" "+last_name
print(name)#使用+来合并字符
print('\tbaibai')#制表符\t
print('bai\nxue')#换行符\n
print(example1.rstrip())#删除结尾多余的空白,这种删除是暂时的。lstrip删除开头多余的空白strip删除开头和结尾多余的空白

数据结构

列表list:一系列按照特定顺序排列的元素组成 用[]表示列表,用,分隔元素,元素是字符的需要加引号
alphabets=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
print(alphabets[0])#访问列表元素
print(alphabets[0].title())#可以在列表元素后面接方法
print(alphabets[-1])#访问列表最后一个元素
alphabets[0]=12#修改元素
alphabets.append('baixue')#在末尾增加元素
alphabets.insert(1,45)
print(alphabets)
print(alphabets[::2])#支持步长,步长为正数表示从start到end每隔N个数打印一个
print(alphabets[::-2])#步长为负数表示从end到start每隔N个数打印一个
print(alphabets[-1:-6:-1])#若end比start小,则步长必须为负数否则会出错?
#删除
del alphabets[0]#删除元素,这种删除是永久删除
print(alphabets)
popped_alphabets=alphabets.pop()#删除的元素是数列中的最后一个元素保存至popped_alphabets中
print(popped_alphabets)
popped_alphabets1=alphabets.pop(1)#删除列表中指定位置的元素
alphabets.remove('r')#删除某个值
print(alphabets)
#排序
alphabets=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
alphabets.sort()#正序
print(alphabets)
alphabets.sort(reverse=True)#倒叙         报错'<' not supported between instances of 'str' and 'int'列表中既有数字,又有字符不可以直接比较
print(sorted(alphabets))#临时排序
alphabets.reverse()#倒叙
len(alphabets)
#创建数字列表
for value in range(1,5):
    print(value)#注意这里打出来的数字少一行
numbers=list(range(1,5))
print(numbers)
numbers=list(range(1,5,2))#可以设计步长
print(numbers)
#数字列表的统计计算
digits=list(range(1,10))
min(digits)
max(digits)
sum(digits)
friend_foods=my_foods[:]
friend_foods=my_foods#这两者是不一样的,前者是赋值。后者是增加了一个副本,两个是一个变量
元组tuple:元素不可修改的列表,用()表示,注意:元组不可以修改元素,但是可以重新赋值.
字典dict:一系列的键—值对,用{:}表示,可以通过键访问值,值可以是数字、字符串、列表、字典.
alien_0={'color':'green','points':5}
print(alien_0['color'])#访问字典的值
alien_0['x_position']=0#增加键值对
alien_0['y_position']=25
alien_0['color']='yellow'#修改键值对
del alien_0['color']#永久删除键值对
print(alien_0)
print(alphabeDict.get(x.lower(),0))#返回x键所对应的值,第二个参数是当值为空时返回的值

对于较长的列表和字典的处理

favorite_languages={
    'jen':'python',
    'sarah':'c',
    'edward':'ruby',
    'phil':'python*斜体样式*',
    }
字典遍历
for key,value in alien_0.items():#遍历字典,也可以只遍历键
    print(key)#key这个变量名字视情况自己起名
    print(value)#value这个变量名字视情况自己起名

注意:遍历字典,键值对的返回顺序和存储顺序是不一样的,python不关注键值对的存储顺序,只跟踪键值之间的关联顺序。
也可以使用.keys()的方式只遍历键,以及排序。

for key in alien_0.keys():
for key in sorted(alien_0.keys()):#排序显示键

也可以使用.values()的方式遍历值

for value in alien_0.values():
        print(value)

也可以使用注意:这种方式遍历所有的重复值都会显示。想要去掉重复值,需要用set()

for value in set(alien_0.values()):
        print(value)

嵌套(将字典嵌套在列表中,或者将列表作为值嵌套到字典中)当一个键对应多个值时就应该将列表嵌套进字典中。

#创建空列表用于外星人
aliens=[]
#创建50个外星人
for alien_number in range(50):
    new_alien={'color':'green','point':5,'speed':'low'}
    aliens.append(new_alien)
#显示前五个外星人
for alien in aliens[:5]:
    print(alien)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值