Python简介
Python是一种面向对象的解释性、交互性的计算机程序语言。
Python具有丰富和强大的库,常被作为“胶水语言”,可联结其他语言所编写的模块。
Python是一种强类型的语言,Python文件以.py为扩展名。
注释及输入输出
单行注释#、多行注释''' '''、" " 、' '
输入:input()
输出:print()--输出后自动换行;print(n,end='')--不换行输出
可使用\使其一行呈多行显示
Python变量类型
变量:无需关键字,不需要声明 如:n=10
每个变量在使用前都必须赋值,变量赋值后该变量才会被创建
变量赋值:miles=1000.0
a=b=c=1 同时为多个变量赋值
a,b,c=1,2,sun 为多个对象指定多个变量
对象的创建与删除:var3=3 #创建number对象
del [var3,var2] #删除对象的引用
基本数据类型:Numbers(数字)、String(字符串)、List(列表)、Tuple(元组)、Sets(集合)、Dictionary(字典)
判断数据类型的两种方式:print(type(a),type(b),type(c))
isinstance(a,int)
区别:type() 不认为子类是父类的一种类型
isinstance() 被认为子类是父类的一种类型
1)数字类型:int、float(浮点型)、complex(可以用 a +bj,或者 complex(a,b) 表示,复数的实数a和虚部b都是浮点型。)
2)字符串:
字符串的三种表示方法:''' '''、" " 、' '
+字符串连接运算符、*重复操作
Python字符串切片操作
对字符串进行切片操作即提取字符串中的一部分字
加号 + 是列表连接运算符,星号 * 是重复操作。
s[a:b:c]
a表示切片开始位置,为0或正值时从左往右索引(默认从0开始),为负值时从右向左索引(默认从-1开始)
b表示切片结束的位置,但不包括结束的那个位置。缺省时默认直到结束
c表示步长,默认为1,为负数时从右往左截取。缺省时默认为1
举例:
str="passionately"
print(str)
print(str[-2::]) #从倒数第二个开始,向右截取,直到结束
print(str[-2::-1]) #从倒数第二个开始,向左截取,直到结束
print(str[-1:]) #从最后一个字符串向右截取
print(str[-1:0:-1]) #从倒数第一个字符开始向左截取,直到下标0但不包括下标0
print(str[-1::-1]) #从倒数第一个字符开始向左截取,直到结束,步长为1
print(str[1::2]) #从第二个字符开始截取,直到结束,步长为2,即每间隔两个字符开截取
print(str[-1:0]) #步长为0时不截取任何字符
print(str[::-1]) #从右向左截取,直到结束
print(str[::-1]*2) #重复截取两次
print(str[::-1]+str[-1::-1])
3)列表
列表可以完成大多数集合类的数据结构实现。支持字符,数字,字符串甚至可以包含列表(即嵌套)。
列表用 [ ] 标识,是 python 最通用的复合数据类型。
list = [ 'runoob', 786, 2.23, 'john',98.2]
print(list)
4)Tuple元组
元组用"()"标识。内部元素用逗号隔开。但是元组不能二次赋值(不允许更新),相当于只读列表。
tuple = ('runoob', 786, 2.23, 'john',70.2)
print(tuple) # 输出完整元组
tuple[2] = 1000 # 元组中是非法应用,无效元组
5)Dictionary(字典)
字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。
两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典用"{ }"标识。字典由索引(key)和它对应的值value组成。
dict = {}
dict['one'] = "This isone"
print(dict['one']) #输出键为’one‘的值
tinydict = {'name': 'john','code':6734, 'dept':'sales'}
print(tinydict.keys()) #输出所有键
print(tinydict.values()) #输出所有值
数据类型转换:只需要将数据类型作为函数名即可。
eg:classint("favrite",base=10),base是进制数,默认10进制
Python运算符
算数运算符:+、-、*、/(除)、%(取余)、**(幂,a**b为a的b次幂)、//(取整除)
print(2//4) 输出结果:0
比较运算符、赋值运算符
位运算符:把数字看做二进制来进行计算,例如:a=60(0011 1100),b=13(0000 1101)
&(与:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0)
|(或:对应的二个二进位有一个为1时,结果位就为1。)
^(异或):两对应的二进位相异时,结果为1) eg:a^b 0011 0001
~(取反:对数据的每个二进制位取反,即把1变为0,把0变为1。)
<<(左移:高位左移,低位补0) eg:a<<2 1111 0000 (左移2,增大2的2次幂)
>>(右移) eg:a>>2 0000 1111
逻辑运算符:例如:a=10、b=20
and(布尔与:a and b):若a为False,结果返回False,否则它返回b的计算值
or(布尔或:a or b):若a为ture,返回a的值,否则返回b的计算值
not(布尔非:not a):若a为true,返回false。若a为false,返回true
成员运算符:in:如果x在指定序列中则返回true,否则返回false
Not in:如果x不在指定序列中则返回true,否则返回false
身份运算符:is:判断两个标识符是否引用自一个对象
Not is: 判断两个标识符是不是引用自不同对象
Id():函数用于获取对象内存地址
Is与==的区别:
Is用于判断两个变量引用对象是否为同一个,==用于判断引用变量的值是否相等
条件控制语句:if语句:elif代替了else if,每个条件后使用冒号:
注意:在Python中没有switch-case语句
循环语句:1)for:可遍历任何序列的项目,如列表或字符串
for <变量>in <序列>:
<语句块>
2)While:while 判断条件:
语句块
While循环语句中可使用else语句,在条件语句为 false 时执行 else 的语句块:
Range()内置函数:如果你需要一个数值序列,此函数可生成一个左开右闭的数列