基本语法

1、输入

1
input('请输入一个数字:') # 按下enter后input函数返回值即刚才输入的数据

2、输出

1
2
3
a=1
b='hello'
print(a,b) # 输出1 hello

注意:Python不能通过“+”将数字与字符串拼接,你可以用str(10)将数字转为字符串再用“+”拼接
3、代码组
缩进相同的一组语句构成一个代码块,我们称之代码组。
像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。
我们将首行及后面的代码组称为一个子句(clause)。

1
2
3
4
5
6
7
a=3
if a<10:
a++
elif a>10:
a--
else:
a=10

4、模块化
在 python 用 import 或者 from…import 来导入相应的模块。
将整个模块(somemodule)导入,格式为: import somemodule
从某个模块中导入某个函数,格式为: from somemodule import somefunction
从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc
将某个模块中的全部函数导入,格式为: from somemodule import *
全部引入:

1
2
3
4
5
6
import sys
print('================Python import mode==========================')
print ('命令行参数为:')
for i in sys.argv:
print (i)
print ('\n python 路径为',sys.path)

部分引入:

1
2
3
from sys import argv,path  #  导入特定的成员
print('================python from import===================================')
print('path:',path) # 因为已经导入path成员,所以此处引用时不需要加sys.path

基本数据类型

type()与isinstance()

1
2
print(type(True)) # <class 'bool'>
print(isinstance(True,int)) # True

type()不会认为子类是一种父类类型。
isinstance()会认为子类是一种父类类型

数字类型

概述

python中数字有四种类型:整数、布尔型、浮点数和复数:
int (整数), 如 1, 只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
bool (布尔), 如 True。
float (浮点数), 如 1.23、3E-2
complex (复数), 如 1 + 2j、 1.1 + 2.2j

运算符

加 +;减 -;乘 *;除 /;整除 //;取余 %;求幂 **;
在混合计算时,Python会把整型转换成为浮点数

复数

负数的实部与虚部均为float
创建一个复数:

1
2
fushu1=3+4j
fushu2=complex(3,4) # 3+4j

布尔类型

布尔类型为True、False
布尔类是int的子类,True与1等价,False与0等价
布尔类型经常与逻辑运算符一起用,常见的逻辑运算符and、or、not(不同于js和c#的&&、||、!)

字符串

基本理论

Python 中单引号 ‘ 和双引号 “ 使用完全相同。
使用三引号(‘’’ 或 “””)可以指定一个多行字符串。
转义符 \。
反斜杠可以用来转义,使用 r 可以让反斜杠不发生转义。 如 r”this is a line with \n” 则 \n 会显示,并不是换行。
按字面意义级联字符串,如 “this “ “is “ “string” 会被自动转换为 this is string。
字符串可以用 + 运算符连接在一起,用 * 运算符重复。
Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。
Python 中的字符串不能改变。
Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。
字符串的截取的语法格式如下:变量[头下标:尾下标:步长]
python的字符串不能被修改但可以重新赋值,和c#一样

1
2
str='hello'
print(str[2:4]) # 输出ll

字符串常用形式

1:插值语法

1
2
str = "word"
print(f"hello {str}") # hello world

2:不替换转义字符

1
print(r"hellol world \n")   # hello world \n

3:f-string(字面量格式化字符串)

1
2
str2= "word%f"%7
print(str2) # word7.000000

4:Unicode字符串
在字符串前面加上前缀u

序列 list

基本理论

序列是 Python 中最基本的数据结构。
序列中的每个值都有对应的位置值,称之为索引,第一个索引是 0,第二个索引是 1,依此类推。
Python 有 6 个序列的内置类型,但最常见的是列表和元组。
列表都可以进行的操作包括索引,切片,加,乘,检查成员。
此外,Python 已经内置确定序列的长度以及确定最大和最小的元素的方法。
列表是最常用的 Python 数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型

1
2
3
4
list1 = ['Google', 'Runoob', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
list4 = ['red', 'green', 'blue', 'yellow', 'white', 'black']

序列操作 append、pop

入栈、入队:

1
2
list = [1,2,3]
list.append(4)

出栈:

1
2
3
4
list = [1,2,3]
list.append(4)
list.append(5)
list.pop()

出队:

1
2
3
4
list = [1,2,3]
list.append(4)
list.append(5)
list.pop(0)

元组 tuple

基本理论

Python 的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号 ( ),列表使用方括号 [ ]。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

1
2
3
4
tup1 = ('Google', 'Runoob', 1997, 2000)
tup2 = (1, 2, 3, 4, 5 )
tup3 = "a", "b", "c", "d" # 不需要括号也可以
type(tup3) # <class 'tuple'>

使用方法

元组的使用和列表基本相同,但是不允许修改和删除元组成员

1
2
3
tup = (1,2,3)
tup[0] = 10 # 报错
del tup[0] # 报错

列表与元组的选择

如果需要一个不允许被改变的量就是用元组

字典

基本理论

字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中。
创建空字典可以直接写一个花括号{}

1
2
d = {"a":12,"b":13}
print(d["a"])

和c#与js中的对象不同,字典仅仅是字典而非对象,所以不能通过” . “运算符获取数值
可以通过len()函数获取字典的长度(键值对的数量)

字典的修改与添加

字典的内容允许修改与添加

1
2
3
4
5
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
tinydict['Age'] = 8 # 更新 Age
tinydict['School'] = "菜鸟教程" # 添加信息
print ("tinydict['Age']: ", tinydict['Age'])
print ("tinydict['School']: ", tinydict['School'])

可以使用del删除字典或字典中的某个元素

1
2
3
4
5
6
7
8
user = {
"name":"张三",
"age":30,
"school":"清华大学"
}
del user["age"]
user.clear()
del user

注意事项

字典的键名不允许修改所以应该使用不变的值作为键名,可以用数字,字符串或元组充当

1
2
3
4
5
6
7
user = {
(1,2,3):"张三",
100:30,
"school":"清华大学"
}
print(user[(1,2,3)])
print(user[100])

集合 set

基本理论

集合(set)是一个无序的不重复元素序列。
集合中的元素不会重复,并且可以进行交集、并集、差集等常见的集合操作。
可以使用大括号 { } 创建集合,元素之间用逗号 , 分隔, 或者也可以使用 set() 函数创建集合。
创建空集合不能直接写{}而应写成set(),因为{}默认指的是空字典。

1
2
3
mySet = {"red","red","blue","green","green"}
print(mySet) # {'green', 'blue', 'red'}
myVoidSet = set() # 空集合

集合可以通过set()函数创建,set()函数的参数可以是一个可被迭代的数据
创建的集合的顺序可能和原数据的顺序不同,因为集合是无序的

1
2
mySet = set([11,11,12,13])
print(mySet) # {11,12,13}

交集、并集

1
2
3
4
5
6
7
8
9
10
11
12
13
# 下面展示两个集合间的运算.
a = set('abracadabra')
b = set('alacazam')
print(a)
{'a', 'r', 'b', 'c', 'd'}
print(a-b) # 集合a中包含而集合b中不包含的元素
{'r', 'd', 'b'}
print(a|b) # 集合a或b中包含的所有元素
{'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'}
print(a&b) # 集合a和b中都包含了的元素
{'a', 'c'}
print(a^b) # 不同时包含于a和b的元素
{'r', 'd', 'b', 'm', 'z', 'l'}

添加元素

1、set.add()方法
add()方法添加一个元素,它的参数是要添加的元素

1
2
mySet = {12,546,81,154,12}
mySet.add(13)

2、set.update()方法
update()方法可以添加多个元素,它的参数是一个可枚举的数据

1
2
mySet = set("asdf")
mySet.update([1,2,3])

移除元素

1、set.remove()方法
如果删除的元素不存在,remove()方法会报错
2、set.discard()方法
如果删除的元素不存在,discard()方法不会报错