一、类型
1.变量没有类型,数据有类型
例:num = 1 ---->num是没有类型的,1是int类型
二、格式化输出
2.name = "张三"
age = 18
print("我是" + name + ",今年" + age + "岁") #这样会报错,用+进行拼接时,正数和字符串不能拼接
3.占位符
%c 字符
%s 字符串
%d 有符合的十进制整数
%u 无符号十进制整数
%o 八进制整数
%x 十六进制整数(小字母0x)
%X 十六进制整数(大写字母0X)
%f 浮点数
%e 科学计数法(小写'e')
%E 科学计数法(小写'E')
%g %f和%e的简写
%G %f和%E的简写
三、运算符
1.
/ 除 得到结果是浮点数
//取整除 不是四舍五入 是取比结果小的第一个整数
%取余
**指数
2.复合运算符(在进行符合运算的时候,不论什么情况,都首先算等号右边的式子)
+=
-=
*=
/=
**=
//=
3.常用数据类型转换(input()输入的是字符串)
int(x) 将x转换成一个整数
float(x) 将x转换成一个浮点数
complex(real,[,imag]) 创建一个复数,real为实部,imag为虚部
str(x) 将x转换成一个字符串
repr(x) 将x转换成表达式字符串
eval(str) 用来计算在字符串中的有效的python表达式,并返回一个对象
tuple(s) 将序列s转换成一个元组
list(s) 将序列s转换成一个列表
chr(x) 将一个整数转换成一个Unicode字符
ord(x) 将一个字符转成一个ASCII整数值
hex(x) 将一个整数转成一个十六进制的字符串
4.切片
name = "abcdef"
print(name[0:3]) 取下标0-2的字符
print(name[0:5]) 取下标0-4的字符
print(name[3:5]) 取下标3-4的字符
print(name[2:]) 取下标2之后到最后的的字符
print(name[1:-1]) 取下标1开始到最后第二个的字符
5.字符串常见的操作
find(str,0,len(mystr)) 查找字符串中是否出现str字符,从下标为0开始到最后;没有找到则打印-1
index(str,0,len(mystr)) 跟find()方法一样,只不过如果str不在 mystr中会报一个异常.
count() 返回 str在start和end之间 在 mystr里面出现的次数
replace() 把 mystr 中的 str1 替换成 str2,如果 count 指定,则替换不超过 count 次.
nystr.solit(str,2) 以 str 为分隔符切片 mystr,2则表示 只分割几个字符串
capitalize 把字符串第一个字符大写
title 把字符串的每个单词首字母大写
startswith 检查字符串是否以"str"开头,是则返回True
endswith 检查字符串是否以"str"结尾,是则返回True
lower 将字符中所有大写转换成小写
upper 将字符中的所有小写转换成大写
ljust 返回一个原字符串左对齐,并使用空格填充至剩下长度的新字符串
rjust 返回一个原字符串右对齐,并使用空格填充至剩下长度的新字符串
center 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串
lstrip 删除str左边的空白字符
rstrip 删除str左边的空白字符
strip 删除mystr字符串两端的空白字符
rfind 从右查找与find差不多
rindex 类似于 index(),不过是从右边开始.
partition 把mystr以str分割成三部分,str前,str和str后
rpartition 类似于 partition()函数,不过是从右边开始.
splitlines 按照行分隔,返回一个包含各行作为元素的列表
isalpha 如果 mystr 所有字符都是字母 则返回 True,否则返回 False
isdigit 如果 mystr 只包含数字则返回 True 否则返回 False.
isalnum 如果 mystr 所有字符都是字母或数字则返回 True,否则返回 False
isspace 如果 mystr 中只包含空格,则返回 True,否则返回 False.
join mystr中每个字符串后面插入str构成一个新的字符串
6.列表的常见操作(列表是有序的,可以重复,可变)
添加操作:
list_1.append("asd") 直接添加到最后
list_1.extend([1,2]) 将另一个集合中的元素逐一添加到列表中
list_1,insert(index,obj) index表示添加到指定下标处,obj代表要添加的内容
改操作:
list_1[1] 根据对应的位置进行修改
查:
in(存在),如果存在那么结果为true,否则为false
not in(不存在),如果不存在那么结果为true,否则false
index和count与字符串中的用法相同 a.index('a',1,4)按照索引1到索引4查找a出现的位置(这个位置还是原理的索引)
删除操作:
del:根据下标删除
pop:删除最后一个元素
remove:根据元素的值进行删除
排序:sort reverse
sort是将list按照特定的顺序进行排列参数reverse=True可改为倒序,由大到小,
reberse是将list逆置
7:元组(元组的元素是不能修改的)
index和count与字符串和列表中的用法相同
8:字典(无序可变)只有不可变的数据类型才能作为字典的键
若访问不存在的键值时则会报错,
在我们不确定字典中是否存在某个键而又想获取其值时,可以使用get方法,还可以设置默认值
添加操作:
1.根据索引访问不存在的元素会报错
2.如果在使用 变量名['键'] = 数据 时,这个“键”在字典中,不存在,那么就会新增这个元素
demo:添加新的元素
删除操作:
del
del info["name"]
clear() 清空整个字典,但是字典本身还存在
len(dic) 测量字典中,键值对的个数
dic.keys 返回一个包含字典所有KEY的列表
dic.values 返回一个包含字典所有value的列表
dic.items 返回一个包含所有(键,值)元祖的列表
dic.has_key dict.has_key(key)如果key在字典中,返回True,否则返回False
遍历字典的元素
dict = {"name":"zhangsan","sex":"nan"}
for item in dict.items()
print item
>>('name','zhangsan')
>>('sex','nan')
遍历所有键值对
dict = {"name":"zhangsan","sex":"nan"}
for k,v in dict.items()
print (k,v)
>>name,zhangsan
>>sex,nan
实现带下标的索引遍历
>>> chars = ['a', 'b', 'c', 'd']
>>> for i, chr in enumerate(chars):
... print i, chr
...
0 a
1 b
2 c
3 d
cmp?python中才有
cmp(item1, item2) | 比较两个值 |
关于引用:
使用1:不可变类型,修改形参,不影响实参
使用2:可变类型作为实参 修改则改变实参
使用3:可变类型作为实参时,在函数里为形参重新复制
结果:可变类型作为实参,如果为形参重新复制,修改形参不影响实参