Python 3 教程 在线

1018Python3 基本数据类型

python 与 C 语言和 Java 语言的一点不同,表现在它的变量不需要声明变量类型,这是因为像 C 语言和 Java 语言来说,它们是静态的,而 python 是动态的,变量的类型由赋予它的值来决定,例如:

>>> a = 1
>>> a = 1.001
>>> a = "python"
>>> print(a)
python
>>> 

第一次为变量 a 赋值为整型,第二次赋值是浮点数,第三次是一个字符串,最后输出时只保留了最后一次的赋值。

1017Python3 基本数据类型

在list的使用中,开始时很容易忽视的一点是:

list = [ 'abcd', 786 , 2.23, 'facesho', 70.2 ]
print (list[1:3])       # 从第二个开始输出到第三个元素

list[1:3] 其实输出的只有两个变量,即list中第二个元素到第三个元素,并不是第1 第2 第3三个元素,而且要注意的是

print (list[2])
print (list[2:3])

这两句话打印的内容其实是一样的,

2.23
[2.23]

但是第二句话有中括号

------------------------------------------------------

以下是网友 temmple_wang@qq.com 的补充:

list = [ 'abcd', 786 , 2.23, 'facesho', 70.2 ]
print (list[1:3])       # 从第二个开始输出到第三个元素
# 获得结果 [786, 2.23]

其实我觉得可以这样理解:

print (list[1:3])       # 从数组下标为1的数开始获取直到数组下标为3(但不包含3)的数为止,输出这段
# 获得结果 [786, 2.23]

其实我们可以试验一下:

print (list[1:0])       # 没有输出的值
# 获得结果 []

print (list[1:1])       # 没有输出的值
# 获得结果 []

print (list[0:1])       # 没有输出的值
# 获得结果 ['abcd']

其实中括号里的值还可以为负数:

>>> print(arrtest[1:-1])    # 从下标为1的数开始,输出到下标为4但不包含4的所有值
[786, 2.23, 'facesho']
>>> print(arrtest[-3:-2])   # 从下标为2的数开始,输出到下标为3但不包含3的所有值
[2.23]

1016Python3 基本数据类型

针对楼上的 字典 拓展,做测试的时候,想要输出 kye:value的组合发现可以这样:

for c in dict:
    print(c,':',dict[c])

或者

for c in dict:
    print(c,end=':');
    print(dict[c])

于是发现 print()函数 其实可以 添加多个参数,用逗号 隔开。

本来想要用

for c in dict:
    print(c+':');
    print(dict[c])

这样的方式打印 key:value结果发现其实 key不一定是 string类型,所以 用+ 号会出问题。

1015Python3 基本数据类型

元组(小拓展)

一般来说,函数的返回值一般为一个。

而函数返回多个值的时候,是以元组的方式返回的。

示例(命令行下):

>>>def example(a,b):
...     return (a,b)
...
>>>type(example(3,4))
<class 'tuple'>
>>>

python中的函数还可以接收可变长参数,比如以 "*" 开头的的参数名,会将所有的参数收集到一个元组上。

例如:

def test(*args):
    print(args)
    return args

print(type(test(1,2,3,4)))    #可以看见其函数的返回值是一个元组

字典(小拓展)

python中的字典是使用了一个称为散列表(hashtable)的算法(不具体展开),

其特点就是:不管字典中有多少项,in操作符花费的时间都差不多。

如果把一个字典对象作为for的迭代对象,那么这个操作将会遍历字典的键:

def example(d):
    # d 是一个字典对象
    for c in d:
        print(c)
        #如果调用函数试试的话,会发现函数会将d的所有键打印出来;
        #也就是遍历的是d的键,而不是值.

1014Python3 基础语法

关于 import 的小结,以 time 模块为例:

1、将整个模块导入,例如:import time,在引用时格式为:time.sleep(1)

2、将整个模块中全部函数导入,例如:from time import *,在引用时格式为:sleep(1)

3、将模块中特定函数导入,例如:from time import sleep,在引用时格式为:sleep(1)

4、将模块换个别名,例如:import time as abc,在引用时格式为:abc.sleep(1)