今天接到一个项目,使用Python语言写的,为了能快速融入团队,一边学一边做
内容包含:Python3 基本数据类型、Python3 解释器、Python3 运算符、Python3 字符串
————————+ Python3 基本数据类型 +————————
——+—— import 与 from…import ——+——
在 python 用 import 或者 from...import 来导入相应的模块。 将整个模块(somemodule)导入,格式为: import somemodule 从某个模块中导入某个函数,格式为: from somemodule import somefunction 从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc 将某个模块中的全部函数导入,格式为: from somemodule import *
——+—— 多个变量赋值 ——+——
Python允许你同时为多个变量赋值。例如:
a = b = c = 1
以上实例,创建一个整型对象,值为 1,从后向前赋值,三个变量被赋予相同的数值。
您也可以为多个对象指定多个变量。例如:
a, b, c = 1, 2, “runoob”
以上实例,两个整型对象 1 和 2 的分配给变量 a 和 b,字符串对象 “runoob” 分配给变量 c。
当你指定一个值时,Number 对象就会被创建:
var1 = 1
var2 = 10
您也可以使用del语句删除一些对象引用。del语句的语法是:
del var1[,var2[,var3[….,varN]]]
您可以通过使用del语句删除单个或多个对象。例如:
del var
del var_a, var_b
——+—— 数值运算 ——+——
实例
>>>5 + 4 # 加法 9 >>> 4.3 - 2 # 减法 2.3 >>> 3 * 7 # 乘法 21 >>> 2 / 4 # 除法,得到一个浮点数 0.5 >>> 2 // 4 # 除法,得到一个整数 0 >>> 17 % 3 # 取余 2 >>> 2 ** 5 # 乘方 32
——+—— String(字符串) ——+——
Python中的字符串用单引号 ‘ 或双引号 ” 括起来,同时使用反斜杠 / 转义特殊字符。
字符串的截取的语法格式如下:
变量[头下标(开始索引):尾下标(结束索引)]
Python 使用反斜杠(/)转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串:
>>> print('Ru/noob') Ru oob >>> print(r'Ru/noob') Ru/noob
另外,反斜杠(/)可以作为续行符,表示下一行是上一行的延续。也可以使用 “””…””” 或者 ”’…”’ 跨越多行。
注意,Python 没有单独的字符类型,一个字符就是长度为1的字符串。
——+—— List(列表) ——+——
截取的语法格式如下: 变量[头下标:尾下标]
加号 + 是列表连接运算符,星号 * 是重复操作。
a[0] 这里的0代表下标
a[2:5] 下标是2 到 第5个元素(这里不是下标)
1、List写在方括号之间,元素用逗号隔开。
2、和字符串一样,list可以被索引和切片。
3、List可以使用+操作符进行拼接。
4、List中的元素是可以改变的。
Python 列表截取可以接收第三个参数,参数作用是截取的步长,以下实例在索引 1 到索引 4 的位置并设置为步长为 2(间隔一个位置)来截取字符串
如果第三个参数为负数表示逆向读取,以下实例用于翻转字符串:
def reverseWords(input): # 通过空格将字符串分隔符,把各个单词分隔为列表 inputWords = input.split(" ") # 翻转字符串 # 假设列表 list = [1,2,3,4], # list[0]=1, list[1]=2 ,而 -1 表示最后一个元素 list[-1]=4 ( 与 list[3]=4 一样) # inputWords[-1::-1] 有三个参数 # 第一个参数 -1 表示最后一个元素 # 第二个参数为空,表示移动到列表末尾 # 第三个参数为步长,-1 表示逆向 inputWords=inputWords[-1::-1] # 重新组合字符串 output = ' '.join(inputWords) return output if __name__ == "__main__": input = 'I like runoob' rw = reverseWords(input) print(rw)
——+—— Tuple(元组) ——+——
元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。
截取的语法格式如下: 变量[头下标:尾下标]
只有一个元素的元组,需要在末尾加逗号
tup1 = () # 空元组 tup2 = (20,) # 一个元素,需要在元素后添加逗号
string、list 和 tuple 都属于 sequence(序列)。
1、与字符串一样,元组的元素不能修改。
2、元组也可以被索引和切片,方法一样。
3、注意构造包含 0 或 1 个元素的元组的特殊语法规则。
4、元组也可以使用+操作符进行拼接。
——+—— Set(集合)——+——
集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。
基本功能是进行成员关系测试和删除重复元素。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式: parame = {value01,value02,...} 或者 set(value)
#!/usr/bin/python3 student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'} print(student) # 输出集合,重复的元素被自动去掉 # 成员测试 if 'Rose' in student : print('Rose 在集合中') else : print('Rose 不在集合中') # set可以进行集合运算 a = set('abracadabra') b = set('alacazam') print(a) print(a - b) # a 和 b 的差集 print(a | b) # a 和 b 的并集 print(a & b) # a 和 b 的交集 print(a ^ b) # a 和 b 中不同时存在的元素
——+—— Dictionary(字典) ——+——
字典(dictionary)是Python中另一个非常有用的内置数据类型。
列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
键(key)必须使用不可变类型。
在同一个字典中,键(key)必须是唯一的。
#!/usr/bin/python3 dict = {} dict['one'] = "1 - 菜鸟教程" dict[2] = "2 - 菜鸟工具" tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'} print (dict['one']) # 输出键为 'one' 的值 print (dict[2]) # 输出键为 2 的值 print (tinydict) # 输出完整的字典 print (tinydict.keys()) # 输出所有键 print (tinydict.values()) # 输出所有值 构造函数 dict() 可以直接从键值对序列中构建字典如下: >>>dict([('Runoob', 1), ('Google', 2), ('Taobao', 3)]) {'Taobao': 3, 'Runoob': 1, 'Google': 2} >>> {x: x**2 for x in (2, 4, 6)} {2: 4, 4: 16, 6: 36} >>> dict(Runoob=1, Google=2, Taobao=3) {'Runoob': 1, 'Google': 2, 'Taobao': 3}
#!/usr/bin/python3 dict = {} dict['one'] = "1 - 菜鸟教程" dict[2] = "2 - 菜鸟工具" tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'} print (dict['one']) # 输出键为 'one' 的值 print (dict[2]) # 输出键为 2 的值 print (tinydict) # 输出完整的字典 print (tinydict.keys()) # 输出所有键 print (tinydict.values()) # 输出所有值 构造函数 dict() 可以直接从键值对序列中构建字典如下: >>>dict([('Runoob', 1), ('Google', 2), ('Taobao', 3)]) {'Taobao': 3, 'Runoob': 1, 'Google': 2} >>> {x: x**2 for x in (2, 4, 6)} {2: 4, 4: 16, 6: 36} >>> dict(Runoob=1, Google=2, Taobao=3) {'Runoob': 1, 'Google': 2, 'Taobao': 3}
——————————————
写在最后:
列表、元组、集合有所区别
列表和元组不会把相同的值合并,但是集合会把相同的合并(删除重复元素)。
Python 中布尔值使用常量 True 和 False 来表示。
在数值上下文环境中,True 被当作 1,False 被当作 0,例如:
Bool 型小知识
Python2 支持:int、float、long、complex(复数)
Python3 支持:int、float、bool、complex(复数)
Python3 废除了 long 类型,将 0 和 1 独立出来组成判断对错的 Bool 型,即 0 和 1 可以用来判断 flase 和 true。但是根本上并没有修改原则。这里的 Bool 型依然是 int 型的一部分,所以依然能当做数字参与运算,所以 Python3 里的 Bool 型是 int 型的一个特例而不是一个独立的类型。
集合与字典
无序:集合是无序的,所以不支持索引;字典同样也是无序的,但由于其元素是由键(key)和值(value)两个属性组成的键值对,可以通过键(key)来进行索引
元素唯一性:集合是无重复元素的序列,会自动去除重复元素;字典因为其key唯一性,所以也不会出现相同元素
元组(小拓展)
一般来说,函数的返回值一般为一个。
而函数返回多个值的时候,是以元组的方式返回的。
字典(小拓展)
python中的字典是使用了一个称为散列表(hashtable)的算法(不具体展开),
其特点就是:不管字典中有多少项,in操作符花费的时间都差不多。
如果把一个字典对象作为for的迭代对象,那么这个操作将会遍历字典的键
——————————————
————————+ Python3 基本数据类型 +————————
————————+ Python3 解释器 +————————
在Linux/Unix系统中,你可以在脚本顶部添加以下命令让Python脚本可以像SHELL脚本一样可直接执行:
#! /usr/bin/env python3
然后修改脚本权限,使其有执行权限,命令如下:
$ chmod +x hello.py
执行以下命令:
./hello.py
————————+ Python3 解释器 +————————
————————+ Python3 运算符 +————————
——+—— Python算术运算符 ——+——
% 取模 – 返回除法的余数 b % a 输出余数
** 幂 – 返回x的y次幂 a**b 为a的b次方次方
// 取整除 – 向下取接近除数的整数
————————+ Python3 运算符 +————————
————————+ Python3 字符串 +————————
字符串是 Python 中最常用的数据类型。我们可以使用引号( ‘ 或 ” )来创建字符串。
——+—— 使用格式化符号进行进制转换 ——+——
>>> num=10 >>> print('十六进制:%#x' % num) #使用%x将十进制num格式化为十六进制 十六进制:0xa >>> print('二进制:', bin(num)) #使用bin将十进制num格式化为二进制 二进制: 0b1010 >>> print('八进制:%#o' % num) #使用%o将十进制num格式化为八进制 八进制:0o12
————————+ Python3 字符串 +————————
转载请注明:逗比根据地 » 实习日记 2020-01-06