从n开始学习python语言(二)

五、变量赋值

python中变量在内存中创建,包括变量的标识、名称和数据信息。而且变量在使用前必须要赋值才会被创建。

#!/usr/bin/env python3
# -*- coding:utf-8 -*-
integer = 66
float_num = 66.0
string = "seanOY"
print(integer)
print(float_num)
print(string)
num1 = num2 = num3 = 66  # 创建3个都为整型的变量
num4 = string2 = 66, "xxm"  # 将值分别赋予给num4和string2

六、标准数据结构

(一)、数字(number)
num1 = 1
del num1#  删除num1的引用
1、有符号整型(signed int)

就如C语言那样的有符号整型,不过python是根据参数来判断变量类型的。

integer = 66
2、长整型(long)

python2支持长整型,在数值后面加上’l’或’L’,但为了区分最好是使用’L’。但python3不支持这种表达,它将整型和长整型结合在一起了。

longinteger = 777777L
3、浮点型(float)

浮点型的表示可以是平常的小数点表示,也可以在后面加e或E来表示。

float1 = .6  # 0.6
float2 = 6e+6  # 6的6次方
float3 = 6E-6  # 6的负6次方
4、复数(complex)

数学中的复数 a+bj,实部是a虚部是b,注意复数用的是j表示而不是i。

complex1 = 3+4j
complex2 = complex(4,5)  # 4+5j
(二)、字符串(string)

字符串由数字、字母和下划线组成。它的序号可以是负数,字符串截取可以根据需要截取位置的起始和末尾来选择,如s[begin,end],也可以根据一定步长来选择,如s[begin,end,step]

字符串_y1997
正序号012345
负序号-6-5-4-3-2-1
string1 = "_y1997"
string2 = "03"
print(string1[2:6])  # 输出1997
print(string1[-1])  # 输出7
print(string1+string2)  # 输出_y199703
print(string2*2)  # 输出0303
print(string1[0:5:2])  # 输出_19
(三)、列表(List)

列表用[]表示,它可实现各种集合类的数据结构。它支持字符、数字、字符串甚至可以包含列表(即嵌套)。
列表也可以进行截取,如截取指定位置之前/之后/全部/之间的数据。

list1 = ['1', '2', '3', '4', ['4', '5'], "string"]
print(list1[0])  # 输出1
print(list1[4][1])  # 输出5
print(list1[5][0:6:2])  # 输出srn
print(list1[:3])  # 输出['1', '2', '3']
print(list1[4:])  # 输出[['4', '5'], 'string']
print(list1[:])  # 输出tuple全部数据
print(list1[1:3])  # 输出['2', '3']
print(tuple1[1:6:2])  # 输出['2', '4', 'string']
(四)、元组(tuple)

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

tuple1 = ('hello', "world", 1, [1,2])
print(tuple1)  # 输出整个元组
print(tuple1[3])  # 输出[1,2]
print(tuple1[2:4])  # 输出第三个元素和第五个元素之间的元素,即第三个元素和第四个元素(1, [1, 2])

#  以下是错误的!!!
tuple2 = ('world', 'hello', 2, [3, 4])
tuple2[2] = 6  # 非法指令,不能对元组进行重写
(五)、字典(dictionary)

字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。
列表是有序的对象集合,字典是无序的对象集合。
两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典用"{ }"标识。字典由索引(key)和它对应的值value组成。

dict1 = {'fruit1': 'apple', 'fruit2': 'banana', 2: 'cherry'}
print(dict1['fruit1'])  # 输出键位fruit1的值apple
print(dict1[2])  # 输出键为2的值cherry
print(dict1.keys())  # 输出dict1所有键dict_keys(['fruit1', 'fruit2', 2])
print(dict1.values())  # 输出dict1所有值dict_values(['apple', 'banana', 'cherry'])

七、数据类型转换

关于数据类型转换的详细描述

函数描述
int(x[,base])根据**[base]进制**将x转换为整型数
long(x[,base])根据**[base]进制**将x转换为长整型数
float(x)将x转换为浮点型数
complex([real[,imaginary]])将real部分的int、long、float或字符串类型 (e.g. complex(“real+imag*j”)。当第一个参数是字符串就不能有第二个参数)数据转化为复数的实部,将imaginary部分的int、long、float类型数据转化为复数的虚部
str(x)将对象x转换为字符串形式( e.g. str(‘abc’) = ‘abc’)
repr(x)将对象x转换为表达式字符串 (e.g. repr(‘abc’) = “‘abc’”)
eval(expression[, globals[, locals]])执行expression字符串表达式,并返回表达式的结果值。其中global为变量作用域,全局命名空间,若提供则要字典对象,而locals为局部命名空间,若提供则可以是任何对象
tuple(s)列表s转换为元组 (e.g. tuple([6, 6]) = (6, 6))
list(s)元组s转换为列表 (e.g. list((6, 6)) = [6, 6])
set(s)创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。
dict(d)创建一个字典,d必须是一个序列(key,value)元组
frozenset(s)返回一个冻结的集合,冻结后集合不能再添加或删除任何元素,即转化为不可变集合
chr(x)将一个整数 x(可为十进制(decimal)或十六进制数)转换为一个字符
unichr(x)将一个整数转换为Unicode字符,注意python3之后将chr和unichr结合在一起
ord(x)将一个字符转换为它的整数值
hex(x)将一个整数转换为一个十六进制(hexadecimal)字符串
oct(x)将一个整数转换为一个八进制(octonary)字符串

下面是如何使用eval()、set()、dict()、frozenset()的例子

#  eval() 
arg1 = 6
eval("arg1+6")  # 根据已定义的变量来执行字符串内的语句,结果是12

dict = {"arg2": 2}
eval("arg2+4", dict)  # 第二个传入参数为字典,根据键来取值,结果是6

arg3 = 10
arg4 = 20
arg5 = 30
g = {"arg3": 1, "arg4": 2}
f = {"arg4": 3, "arg5": 4}
eval("a+b+c", g, f)  
'''
g是全局命名空间,而f是局部命名空间,f的优先级大于g,
所以当需要arg4和arg5时会使用f字典的值,
更不会使用更外部的值为20、30的arg4和arg5,
这里返回结果是8。
'''
#  set()
result1 = set('hello,seanOY')  # {'Y', 'O', 'a', 'n', 'h', 's', ',', 'l', 'e', 'o'}无序
result2 = set("hello,sillym")  # {',', 'h', 'o', 's', 'l', 'i', 'e', 'y', 'm'}
result1 & result2  # 交集 {'h', 'o', 'l', 's', ',', 'e'}
result1 | result2  # 并集 {'m', 'O', 'h', 'a', 'o', 's', 'l', 'Y', ',', 'i', 'e', 'y', 'n'}
result1 - result2  # 差集 {'a', 'Y', 'O', 'n'}
#  result1 + result2 这是错误的,集与集不可相加,如果想要达到相加的结果要用并集'|'

#  dict()
dict()  # 空字典
dict(a=1, b=2)  # 创建字典{'a': 1, 'b': 2}
dict(zip(['sean', 'OY'], [123, 777]))  # 采用映射函数来构造字典
dict([('apple', 1), ('banana', 2)])  # 采用可迭代对象的方式构造字典

#  frozenset()
frozenset(range(0, 10)) #  frozenset(range(0, 10))
frozenset("seanOY") #  frozenset({'s', 'n', 'e', 'a', 'O', 'Y'})

今天我就先学到这啦,大家感兴趣的话可以看看我之前写的文章!
从n开始学习python(一)
参考资料:
Python 变量类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值