1.变量的命名和使用
Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
1)变量名只能包含字母,数字和下划线;可以字母或下划线开头,但不能以数字开头。
2)变量名不能包括空格,可使用下划线来分隔字母
3)不能使用Python关键字作为变量名
4)不要使用小写字母l和大写字母O,以免被误认为数字1和数字0
5)对大小写敏感
6)Python保留字即关键字,我们不能把它们用作任何标识符名称
Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字
import keyword
keyword.kwlist
在 Python 3 中,可以用中文作为变量名,非 ASCII 标识符也是允许的了
给单个变量赋值
int_x= 100 # 整型变量 weight= 100.0 # 浮点型变量 city= "shanghai" # 字符串
给多个变量赋值
x = y = z = 1 a, b, c = 1, 2, "hello world"
2.python的注释
2.1当行注释, 当行注释用以 # 开头
2.3多行注释,可以使用多个#,或者用 ''' 和 """将需要注释的内容引起来
3.python代码块 python代码块使用缩进来表示,同一个代码块的语句必须包含相同的缩进空格数,
本属于同一代码块的,如果语句缩进数的空格数不一致,可能会导致运行错误,或者该代码块不全,或者和将其他代码块也包括进来
4.python代码多行的书写
Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠 \ 来实现多行语句
5.python输出
print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end=""
import 与 from...import的区别
在 python 用 import 或者 from...import 来导入相应的模块。
将整个模块(somemodule)导入,格式为: import module_name
从某个模块中导入某个函数,格式为: from module_name import somefunction
从某个模块中导入多个函数,格式为: from module_name import firstfunc, secondfunc, thirdfunc
将某个模块中的全部函数导入,格式为: from module_name import *
6.Python数据类型
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组)
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)
6.1 Number 数字类型(bool, int, long, float, complet)
None,0,空字符串,以及没有元素的容器对象都可视为False,繁殖为True
内置的 type() 函数可以用来查询变量所指的对象类型。
数值的除法包含两个运算符:/ 返回一个浮点数,// 返回一个整数
6.2 String 字符串
Python中的字符串用单引号 ' 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符
Python 没有单独的字符类型,一个字符就是长度为1的字符串。
1)可以使用单引号或双引号
2)字符串操作函数
title(): 首字母大写(str.title())
upper():转换为大写字母
lower():转换为小写字母
字符串合并(拼接): 使用加号(+)
3)制表符(\t),回车换行符(\n)
4)删除多余的空白字符
删除末尾字符: rsrip()
删除开头字符:lstrip()
删除两端字符:strip()
5)反斜杠(\)可以作为续行符,表示下一行是上一行的延续。也可以使用 """...""" 或者 '''...''' 跨越多行
6)字符串的读取和操作
6.3 List 列表
List是python中的基本数据结构之一,支持动态的元素的增加。
list支持不同类型的数据项在一个列表中,比如数字,字符串甚至可以包含列表(嵌套)
创建一个列表,只要把逗号分割的不同的数据项使用方括号括起来即可
list1[0] ; #取第一个元素
list1[-1] # 取最后一个元素
list1[ : ] 或者 list1[ : len(list1)] # 取所有列表元素
list1[0 : n] # 从第0号取到n-1号元素
列表的更新
list1=[1,3.14,'cat',"shanghai", "chongqing", 2012] list1[0]=200 #修改元素 print(list1) list1.insert(1,"inserted") #添加元素 print(list1) list1.append(6.38) #追加元素 print(list1) del list1[0] #删除元素 print(list1)
List操作函数
len(list) #list的长度 list.append(var) #追加元素 list.insert(index,var) list.pop(var) #返回最后一个元素,并从list中删除之 list.remove(var) #删除第一次出现的该元素 list.count(var) #该元素在列表中出现的个数 list.index(var) #该元素的位置,无则抛异常 list.extend(list) #追加list,即合并list到L上 list.sort() #排序 list.reverse() #倒序
list遍历
for x in list1: print(x)
6.4 Tuple 元组
元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。
tuple1 = ( 'abcd', 2.23, 'shanghai', 5 ) tuple2 = (123, 'hello') print (tuple1) # 输出完整元组 print (tuple1[0]) # 输出元组的第一个元素 print (tuple1[1:3]) # 输出从第二个元素开始到第三个元素 print (tuple1[2:]) # 输出从第三个元素开始的所有元素 print (tuple2 * 2) # 输出两次元组 print (tuple1 + tuple2) # 连接元组
构造包含 0 个或 1 个元素的元组比较特殊,有一些额外的语法规则
tuple1 = () # 空元组 tuple2 = (20,) # 一个元素,需要在元素后添加逗号
string、list 和 tuple 都属于 sequence(序列)。
注意:
- 1、与字符串一样,元组的元素不能修改。
- 2、元组也可以被索引和切片,方法一样。
- 3、注意构造包含 0 或 1 个元素的元组的特殊语法规则。
- 4、元组也可以使用+操作符进行拼接
切片操作
适用于列表和元组。
切片是用来获取列表元组,字符串等有序序列中部分元素的一种语法。在形式上切片使用两个冒号分隔的三个数字来完成。
[start:end:step]其中start默认为零。
Step默认为一。刚step为负整数时,表示反向切片。此时start应该在end的右侧。
end表示不包括end。
当只有一个冒号时返回所有元素的副本。
tuple1=(123,"a","b",3.1415, 'hello', 45, "shanghai") print(tuple1[2:]) #tuple1[2:]下标2之后的所有元素,这里面不包括下标三这个元素 print(tuple1[-3:]) #tuple1[-3:]最后3 个元素 print(tuple1[:-2]) #tuple1[:-2] 除最后2个元素以外的所有元素 print(tuple1[::2]) #tuple1[::2]每2个元素选一个
6.5 Set 集合
定义:由不同元素组成的集合,集合是一组无序排列
集合不同于列表或元组,集合中的每一个元素不能出现多次,并且是无序存储的
特点: 1、不同元素组成 2、无序 3、集合中的元素必须是不可变类型
集合的使用
1.集合的定义,打印自动去重
set1 = {1,2,'apple', 'orange', 'apple',3,1,} print(set1)
2.集合的操作(添加,删除)
set1 = {2,1,'apple', 'orange', 'apple',3,1,} set1.add(5) #添加元素 print(set1) set1.pop() #随机移除元素 print(set1) set1.remove(3) #移除指定元素, 如果指定元素不存在,则会报错 print(set1) set1.discard(7) #移除指定元素, 如果指定元素不存在,不会报错 print(set1) set1.clear() #清除所有元素 print(set1)
3.集合的运算(交集,并集,差集,交叉补集)
set1={1,2,'a'} set2={1,'a',"b",'c'} print(set1.intersection(set2)) #取交集 print(set1.union(set2)) #取并集 print(set1.difference(set2)) #取差集,发起差集的集合,会把自己有,而对方没有的元素得到 print(set2.difference(set1)) #取差集,发起差集的集合,会把自己有,而对方没有的元素得到 print(set1.symmetric_difference(set2)) #交叉补集,交叉补集会去掉共有的部分,只保留双方独有的部分
6.6 Dictionary 字典
字典是另一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。
字典由键(key)和对应值(value)成对组成。字典也被称作关联数组或哈希表。
每个键与值用冒号隔开(:),每对用逗号,每对用逗号分割,整体放在花括号中({})。
键必须独一无二,但值则不必。
值可以取任何数据类型,但必须是不可变的,如字符串,数组或元组。
dict1 = { 'abc': 123 } dict2 = { 'abc': 456, 21: 16.8}
字典添加元素和删除元素
x={1:2} y={'a':'b'} z={1:201} x['city'] = 'shanghai' #直接添加,给定键值对;key 存在即修改,key不存在即新增 print(x) x.update(z) #使用update添加,给定键值对 print(x) x['city'] = '北京' #直接添加,给定键值对; d['key'] = value key存在即修改,key不存在即新增 print(x) x.update(y) print(x) del[x['a']] #删除元素 print(x) xx = x.pop(1) #删除指定元素 print(x)
访问字典中的值
d={'key':'find_value', 'a':123} print(d['key']) #如果写了不存在的值会报错 print(d.get('key')) #如果写了不存在的值,返回None print(d.get('key1','not find ')) #如果找不到存在的值,返回 “not find”
遍历字典元素
d={'city':'shanghai', 'a':123} if 'city' in d: #判断key是否存在 print('city') print('*************') for k,v in d.items(): #遍历字典 print(k,v) #无须转换成list 格式,保留了字典原有的特性 print('*************') for k in d: print(k,d[k]) print(k,d.get(k)) #取值速度快,性能好