python 与 C 语言和 Java 语言的一点不同,表现在它的变量不需要声明变量类型,这是因为像 C 语言和 Java 语言来说,它们是静态的,而 python 是动态的,变量的类型由赋予它的值来决定,例如:
>>> a = 1 >>> a = 1.001 >>> a = "python" >>> print(a) python >>>
第一次为变量 a 赋值为整型,第二次赋值是浮点数,第三次是一个字符串,最后输出时只保留了最后一次的赋值。
在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]
针对楼上的 字典 拓展,做测试的时候,想要输出 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类型,所以 用+ 号会出问题。
一般来说,函数的返回值一般为一个。
而函数返回多个值的时候,是以元组的方式返回的。
示例(命令行下):
>>>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的键,而不是值.
关于 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)。
感谢您的支持,我会继续努力的!
支付宝扫一扫,即可进行扫码打赏哦
1018Python3 基本数据类型
python 与 C 语言和 Java 语言的一点不同,表现在它的变量不需要声明变量类型,这是因为像 C 语言和 Java 语言来说,它们是静态的,而 python 是动态的,变量的类型由赋予它的值来决定,例如:
第一次为变量 a 赋值为整型,第二次赋值是浮点数,第三次是一个字符串,最后输出时只保留了最后一次的赋值。
1017Python3 基本数据类型
在list的使用中,开始时很容易忽视的一点是:
list[1:3] 其实输出的只有两个变量,即list中第二个元素到第三个元素,并不是第1 第2 第3三个元素,而且要注意的是
这两句话打印的内容其实是一样的,
但是第二句话有中括号
------------------------------------------------------
以下是网友 temmple_wang@qq.com 的补充:
其实我觉得可以这样理解:
其实我们可以试验一下:
其实中括号里的值还可以为负数:
1016Python3 基本数据类型
针对楼上的 字典 拓展,做测试的时候,想要输出 kye:value的组合发现可以这样:
或者
于是发现 print()函数 其实可以 添加多个参数,用逗号 隔开。
本来想要用
这样的方式打印 key:value结果发现其实 key不一定是 string类型,所以 用+ 号会出问题。
1015Python3 基本数据类型
元组(小拓展)
一般来说,函数的返回值一般为一个。
而函数返回多个值的时候,是以元组的方式返回的。
示例(命令行下):
python中的函数还可以接收可变长参数,比如以 "*" 开头的的参数名,会将所有的参数收集到一个元组上。
例如:
字典(小拓展)
python中的字典是使用了一个称为散列表(hashtable)的算法(不具体展开),
其特点就是:不管字典中有多少项,in操作符花费的时间都差不多。
如果把一个字典对象作为for的迭代对象,那么这个操作将会遍历字典的键:
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)。