Python简介
Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节,类似于PHP和Perl语言。
Python 是交互式语言: 可以在一个 Python 提示符 >>> 后直接执行代码。
Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
格式控制
行和缩进
Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断。在Python中利用缩进来写模块,所有代码块语句必须包含相同的缩进空白数量。
if flag:
print("The Flag is")
print("True")
else:
print("The Flag is")
print("False")
若出现 IndentationError: unindent does not match any outer indentation level 错误,则说明使用缩进方式不一样
若出现 IndentationError: unexpected indent 错误,则说明缩进没有对齐。因此建议使用统一缩进方式,例如tab或空格。
一行语句多行显示
可以使用斜杠( \)将一行的语句分为多行显示,例如:
total = item_one + \
item_two + \
item_three
同行显示多条语句
Python可以在同一行中使用多条语句,语句之间使用分号(;)分割
# 利用 ; 就可以实现在一行内显示多条语句
x=10;y=10;print(x+y)
注释
单行注释 #
# 这是一条注释
print("hello") # 可以放在代码后面
多行注释 ''' 和 """
"""
多行注释放在三对双引号中间
"""
'''
也可以放在三对单引号中间
'''
Python中的变量类型
不同于C++中的变量的声明,例如int x,在Python中变量赋值不需要类型声明。每个变量在使用前都必须赋值,利用赋值运算符=来进行变量赋值,变量赋值以后该变量才会被创建。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。
first = "Hello" #字符串
second = "World" #字符串
third = 100.0 #浮点型
fouth = 233333 #整形变量
print(first, second, third, fouth)
执行结果:
Hello World 100.0 2333333
在Python中允许同时为多个变量赋值:
first, second , third , fouth = "Hello" , "World", 100.0 , 23333
标准数据类型
Python有五个标准的数据类型:
Numbers(数字)
String(字符串)
List(列表)
Tuple(元组)
Dictionary(字典)
数字Number
数字数据类型用于存储数值,是不可以改变的数据类型。这意味着改变数字数据类型会分配一个新的对象。
a = 10 #创建一个对象
a = 20 #又创建了一个新对象
可以利用del删除单个或多个对象的引用:
del var #删除单个引用
del var_a, var_b #删除多个引用
在Python支持四种不同的数字类型:
int(有符号整型)
long(长整型[也可以代表八进制和十六进制])
float(浮点型)
complex(复数)
字符串String
字符串或串(String)是由数字、字母、下划线组成的一串字符。
python的字串列表有2种取值顺序:
从左到右索引默认0开始的,最大范围是字符串长度少1
从右到左索引默认-1开始的,最大范围是字符串开头
stirng : A B C D E
index-front: 0 1 2 3 4
index-back : -5 -4 -3 -2 -1
可以对Python的字符串进行截取:
str="abcdef"
print(str[1:3])
输出结果:
bc
也可以对Python的字符串进行连接操作和重复操作
str1="abcdef"
str2="hijklm"
str3=str1+str2 #利用 + 运算符实现字符串连接
str4=str1*4 #利用 * 运算符实现字符串重复
print(str3)
print(str4)
运行结果:
abcdefhijklm
abcdefabcdefabcdefabcdef
列表List
列表用 [ ] 标识,是 python 最通用的复合数据类型。列表中值的切割也可以用到变量 [头坐标:尾坐标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开。列表中的元素支持字符、数字、字符串,也可以嵌套列表。
list = ["a", 123 , 10.0 , "ddd", 456 , "h"]
list2= ["append",999]
print(list[1:3])
print(list[1:])
print(list*2)
print(list+list2)
输出结果:
[123, 10.0]
[123, 10.0, 'ddd', 456, 'h']
['a', 123, 10.0, 'ddd', 456, 'h', 'a', 123, 10.0, 'ddd', 456, 'h']
['a', 123, 10.0, 'ddd', 456, 'h', 'append', 999]
元组Tuple
元组Tuple类似列表List,元组使用()标识,但是元组不能二次赋值,相当于只读列表
tuple = (123,"aaa",'b',5.9)
# tuple[2]=10 非法引用,不允许二次赋值
字典Dictionary
列表是有序的对象集合,字典是无序的对象集合,与C++中的map类似。字典当中的元素是通过键来存取的,而不是通过下标索引存取。字典由{}来标识,字典中的元素是键值对。
dict = {"name":"John","age":18,"ip":123,"paid":5.5}
print(dict["name"]) #输出键位"name"对应的值
print(dict)
print(dict.keys()) #输出所有键
print(dict.values()) #输出所有值
运行结果:
John
{'name': 'John', 'age': 18, 'ip': 123, 'paid': 5.5}
dict_keys(['name', 'age', 'ip', 'paid'])
dict_values(['John', 18, 123, 5.5])
Python运算符
算数运算符
其中比较特殊的是**幂运算符和//向下取整运算符
比较运算符
同C/C++相同
赋值运算符
基本同C/C++相同
位运算符
a = 0011 1100
b = 0000 1101
-----------------
a&b = 0000 1100 # &按位与
a|b = 0011 1101 # |按位或
a^b = 0011 0001 # ^按位异或
~a = 1100 0011 # ~按位取反
a<<1 = 0111 1000 #左移
a>>1 = 0001 1110 #右移
逻辑运算符
成员运算符
a = 1
b = 6
list = [1, 2, 3, 4, 5 ]
if ( a in list ):
print(" a 在给定的列表中 list 中 ")
else:
print(" a 不在给定的列表中 list 中 ")
if ( b not in list ):
print(" b 不在给定的列表中 list 中 ")
else:
print(" b 在给定的列表中 list 中 ")
运行结果:
a 在给定的列表中 list 中
b 不在给定的列表中 list 中
身份运算符
is 用于判断两个变量引用对象是否为同一个(同一块内存空间), 而 == 用于判断引用变量的值是否相等。
>>> a = [1, 2, 3]
>>> b = a
>>> b is a
True
>>> b == a
True
>>> b = a[:] #虽然b与a内容相同,但是b与a引用的对象并发来自同一内存空间
>>> b is a
False
>>> b == a
True