Pyhon中变量不需要声明,只要在使用前赋值,变量赋值后才被创建。
Python变量没有类型,所指的类型只是内存中对象的类型。
Python有六种标准的数据类型:
Numbers(数字)
String(字符串)
List(列表)
Tuple(元组)
Sets(集合)
Dictionaries(字典)
Numbers(数字)
Python 3支持int、float、bool、complex(复数)等类型。运用很直观,使用起来就好象写文章一样,数字运用可作为计算器,如:
>>> 5+4 #加
9
>>> 4.3-2 #减
2.3
>>> 3*7 #乘
21
>>> 2/4 #除
0.5
>>> 2//4 #除后取整数
0
注意:
1、Python可以同时为多个变量赋值,如a, b = 1, 2。
2、一个变量可以通过赋值指向不同类型的对象。
3、数值的除法(/)总是返回一个浮点数,要获取整数使用//操作符。
4、在混合计算时,Pyhton会把整型转换成为浮点数。
String(字符串)
Python中的字符串str用单引号(' ')或双引号(" ")括起来,同时使用反斜杠(\)转义特殊字符。
>>> s = 'Yes I don\'t' #转义
>>> print(s,type(s))
Yes I don't
>>> print(s,type(s),len(s))
Yes I don't 11
如果想让反斜杠发生转义,可以在字符串前面添加一个r,表示原始字符串,反斜杠可以作为续行符,表示上一行是下一行的延续。
>>> print('c:\python\bin\local')
c:\pythoin\local
>>> print(r'c:\python\bin\local')
c:\python\bin\local
字符串可以使用 + 运算符串连接在一起,或者用 * 运算符重复:
>>> book = 'python' + 'C++' + 'Perl'
>>> print(book)
pythonC++Perl
>>> s = 'good'*3
>>> print(s)
goodgoodgood
字符串的格式化输出:字符串%s,整数%d,浮点%f
1 >>> name = "David James"
2 >>> print("I am %s."%name)3 I am David James.
常用的字符串功能:
列表操作
字符串操作
字典操作
列表操作:
列表是我们最常用的数据类型,我们可以对列表增、删、改、查等操作。
>>> name = ["David","James","Alex","Jone","Adam","Merry","Stephen","Jackson","Judi","Libai","Dufu","Linchong"] #建立列表
>>> name[-1] #通过下标-1访问列表倒数第1个值
'Linchong'
>>> name[0] #访问列表第1个值
'David'
>>> name[1] #访问列表第2个值
'James'
>>> name[1:5] #列表切片从下标1(包括1)到下标下标5(不包括5)
['James', 'Alex', 'Jone', 'Adam']
>>> name[1:]
['James', 'Alex', 'Jone', 'Adam', 'Merry', 'Stephen', 'Jackson', 'Judi', 'Libai', 'Dufu', 'Linchong']
>>> name[:5]
['David', 'James', 'Alex', 'Jone', 'Adam']
>>> name.append("Boyzon") #追加“Boyzon"到列表最后
>>> name
['David', 'James', 'Alex', 'Jone', 'Adam', 'Merry', 'Stephen', 'Jackson', 'Judi', 'Libai', 'Dufu', 'Linchong', 'Boyzon']
>>> del name[0] #删除列表第1个值
>>> name
['James', 'Alex', 'Jone', 'Adam', 'Merry', 'Stephen', 'Jackson', 'Judi', 'Libai', 'Dufu', 'Linchong', 'Boyzon']
>>> name[-1] = "David" #修改列表最后一个值
>>> name
['James', 'Alex', 'Jone', 'Adam', 'Merry', 'Stephen', 'Jackson', 'Judi', 'Libai', 'Dufu', 'Linchong', 'David']
>>> name.insert(2,"Danny") #在列表下标为2的位置前插入”Danny“
>>> name
['James', 'Alex', 'Danny', 'Jone', 'Adam', 'Merry', 'Stephen', 'Jackson', 'Judi', 'Libai', 'Dufu', 'Linchong', 'David']
>>> b = [12,23,45]
>>> name.extend(b) #扩展b到name列表后
>>> name
['James', 'Alex', 'Danny', 'Jone', 'Adam', 'Merry', 'Stephen', 'Jackson', 'Judi', 'Libai', 'Dufu', 'Linchong', 'David', 12, 23, 45]
>>> namebak = name.copy() #拷贝
>>> namebak
['James', 'Alex', 'Danny', 'Jone', 'Adam', 'Merry', 'Stephen', 'Jackson', 'Judi', 'Libai', 'Dufu', 'Linchong', 'David', 12, 23, 45]
列表中统计
>>> name
['James', 'Alex', 'Danny', 'Jone', 'Adam', 'Danny', 'David', 'Merry', 'Stephen', 'Jackson', 'Judi', 'Libai', 'Dufu', 'Linchong', 'David']
>>> name.count("Danny")
2
列表排序反转
>>> name.sort()
>>> name
['Adam', 'Alex', 'Danny', 'Danny', 'David', 'David', 'Dufu', 'Jackson', 'James', 'Jone', 'Judi', 'Libai', 'Linchong', 'Merry', 'Stephen']
>>> name.reverse()
>>> name
['Stephen', 'Merry', 'Linchong', 'Libai', 'Judi', 'Jone', 'James', 'Jackson', 'Dufu', 'David', 'David', 'Danny', 'Danny', 'Alex', 'Adam']
获取列表下标
>>> name.index("Danny")
11
>>> name.index("James")
6
元组
元组与列表相似,但它一建立就不能修改,所以称为只读列表,元组只有count和index两种方法
>>> names = ("Danny","David","Jackson") #元组无法修改
>>> names
('Danny', 'David', 'Jackson')
>>> names.sort() #元组只有两种方法 count()和 index()
Traceback (most recent call last):
File "", line 1, in
AttributeError: 'tuple' object has no attribute 'sort'
>>> names.index("Jackson")
2
>>> names.count("Danny")
1
字符串操作
name = " my name is David "
name2 = "MY NAME IS DAVID"
name3 = " In the beginning God created the heaven and the earth. "
mag = "中华人民共和国"
print(name.capitalize()) #首字母大写
print(name2.casefold()) #大写转小写
print(name.count("m")) #统计字符"m"数
print(name.capitalize().replace(' ','').center(50,"-")) #变量放在字符中间
print(name.endswith("David")) #判断是否以David结尾
print(mag.encode()) #将字符串编码成byte格式
print(mag.encode().decode()) #将bytes编码成字符串
print(name.replace(' ','').capitalize()) #移除空白
print(name3.strip()) #删除首尾空格
print(name3.lstrip()) #删除左边空格
print(name3.rstrip()) #删除右边空格