输入输出
# 输入
inputNum = input("输入一个数字: ")
# 输出
print("打印你输入的数字: " + inputNum)
字符串
字符串格式化 %
% :标记转换说明符的开始
转换标记(可选): - 左对齐 +转换之前要加上+-号 “”正数之前保留空格 0位数不够用0填充
最小字段宽度(可选):转换后的字符串至少应该具有指定的宽度
精度(可选):如果时实数,就表示出现在小数点后面的位数。如果是字符串就表示最大字段宽度
# 简单格式化
fmat = 'hello %s' % 'jack'
# 元组格式化
fmat = '%s come from %s' % ('jack', 'cd')
# 格式化精度
fmat = 'number format %12.345f' % 12.5
方法 | 说明 |
---|---|
find() | 在一个较长的字符串中查找子字符串,返回字串的左端索引,没有查找到返回-1 |
join() | 在字符串中添加元素 |
lower() | 返回字符串的小写字母串 |
replace() | 替换元素 |
split() | 分割字符串 |
strip() | 去除两侧的空格 |
translate() | 处理单个字符的替换 |
序列
python内置6种序列类型,分别为列表,元组,字符串,unicode字符串,buffer对象和xrang对象。最常见的时列表和元组。
序列通用的操作包括:索引,分片,加,乘及检查某个元素是否是该序列成员。python还内置了计算序列长度和查找最大最小值的函数。
- 索引:序列编号从0开始计数,序列元素可以通过编号访问。
- 分片:序列使用冒号相隔的两个索引来访问一定范围的元素。
- 相加:两种相同类型的序列通过加号进行序列的连接操作。
- 乘法:生成一个重复n次的新序列。
- 检查成员资格:使用in检查一个值是否在序列中,返回一个布尔值。
- 内置函数序列的长度和最大最小值,len,min,max。
列表和元组的最主要区别是列表可以修改,元组不能修改。
列表
创建时,用逗号隔开的数据项用方括号括起来。
# 根据字符串创建一个列表
string = "string"
strList = list(string)
# 元素赋值
strList[0] = 'S'
# 元素删除
del strList[4]
# 分片赋值
strList[0:] = list("new string")
方法 | 说明 |
---|---|
list.append() | 在列表末尾添加对象 |
list.extend() | 在列表末尾追加新列表 |
list.insert() | 在列表中插入对象/列表 |
list.pop() | 移除列表中的元素 |
list.reverse() | 列表反转 |
list.sort() | 列表排序 |
list.count() | 统计元素出现的次数 |
元组
创建时,在括号中添加元素,并用逗号隔开。任意无符号的对象,以逗号隔开,默认为元组。
# 创建元组
# 创建空元组
arr = ()
# 创建一个元素的元组,要在元素后面添加逗号
arr = (1, )
# 创建多个元素元组
arr = (1, 2)
arr = 1, 2
方法: | 说明 |
---|---|
cmp() | 比较两个元组元素 |
len() | 返回元组元素个数 |
max() | 返回最大值元素 |
min() | 返回最小值元素 |
tuple() | 将列表转换为元组 |
字典
字典包含在’{}’中,每对之间用’,’隔开,键值之间用’:’隔开。
# 创建字典
Ndict = {'key1': 'value1', 'key2': 'value2'}
# 访问字典
key = Ndict['key1']
# 修改字典值
Ndict['key1'] = 'k1'
# 删除键
del Ndict['key1']
# 清空
Ndict.clear()
# 删除字典
del Ndict
方法: | 说明 |
---|---|
cmp() | 比较 |
len() | 计算字典元素个数 |
str() | 输出字典的字符串表示 |
clear() | 删除所有元素 |
copy() | 浅复制字典 |
items() | 返回可遍历的元组数组 |
key() | 返回所有键 |
values() | 返回所有值 |
get() | 返回指定值 |
set
set是一组不重复key的无序集合,不存value。
添加方法有两种 add()和update()。
add()是元素整体传入,update()是把元素拆分分别传入。
# 创建字典
s = set('new set')
# 添加元素
s.add('add')
s.update('add')
# 删除元素
s.remove('a')
方法 | 说明 |
---|---|
- | 差集,相对补集 |
& | 交集 |
| | 合集,并集 |
!= | 不等于 |
== | 等于 |
in | 成员关系 |
not in | 不是成员关系 |
条件
False ,None ,所有数字的数值0,空序列和空字典为假,其他的都为真。
# if elif else
x = int(input('input a num :'))
if x == 0:
print ('x = 0')
elif x > 0:
print ('x > 0')
else:
print ('x < 0')
方法 | 说明 |
---|---|
== | 等于 |
< | 小于 |
> | 大于 |
<= | 小于等于 |
>= | 大于等于 |
!= | 不等于 |
is | 同一个对象 |
is not | 不是同一个对象 |
in | 是容器的成员 |
not in | 不是容器的一个成员 |
循环
while
在条件为真的情况下 重复执行一段代码
# while 循环
x = int(input('input a num :'))
while x > 0:
print (x)
x -= 1
for
按次序迭代执行一段代码
range():产生等差数列
xrange():跟range()类似。只是range()一次创建整个数列,xrange()一次创建一个数。
# for 循环
x = range(1, 10, 2)
for num in x:
print (num)
函数
函数以关键字 def开头,后接函数名和小括号()。
def functionname (params):
...
参数 可变与不可变对象
def canchangefunc(a):
a = 10
def cannotchange(a):
a[0] = 'b'
b = 11
canchangefunc(b)
print(b)
b = ['a', 'b']
cannotchange(b)
print(b)
最终打印的值:
11
['b', 'b']
发现int值没有改变,而列表的值改变了。
不可变类型,类似值传递,如整数,字符串,元组。传递的只是值,不会修改原来变量值,修改的时复制的对象。
可变类型,类似引用传递,如列表,字典。传递的时变量本身,会修改变量本身的值。所以如果不像修改变量,可以传递一个变量的副本,那样修改就不会影响原来的变量了。
参数列表类型
- 必备参数
- 关键字参数
- 默认参数
- 不定长参数
#参数须以正确的顺序传入函数 调用时的数量必须和声明时的一样
def essentialfunc(a, b):
print(a + b)
#参数和函数调用关系紧密 函数调用使用关键字参数来确定传入的参数值
def keyfunc(a, b):
print(a)
#参数的值如果没有传入 则被认为是默认值
def defaultfunc(a, b=10):
print(a + b)
#参数的长度不确定时 *的变量会存放所有未命名的变量
def indefinitefunc(*var):
print(var)
essentialfunc(1, 2)
keyfunc(a=2, b=1)
defaultfunc(a=1)
indefinitefunc(1, 2)