1.常识
字符编码问题
python3兼容utf-8编码,支持中文,但python2不支持,如果
想兼容python2,则需要在程序开头写入:
#--coding=utf-8--
安装python后
运行栏输入python进入python交互式环境
输入exit()退出python环境
运行py文件
任何一个文本编辑器都可以写python
创建一个后缀名为py的文件就是python的标准的文件
可以在命令行输入python 文件名运行文件
如果双击图标打开会一闪而过,需要加入input。
2.输出打印 print()
技巧1:使用乘法运算重复打印某个字符串
print("1"*4) #"1111"
3.注释
python使用#进行单行注释
使用三个引号(单引号或者双引号)进行多行注释
4.变量
python变量区分大小写,只能以字符和下划线开头
python的变量无需定义,赋值即定义,赋值赋的是什么数据类型变量名就是什么数据类型
而有些时候需要用到一些累加或者累乘或者连接时,可以这样定义:
x="" #定义一个空的字符串数据
x=0 #定义一个值为0的数值型数据
x=[] #定义一个空列表
pyhton中的变量可以理解为在一个盒子上添上一个标签:
a=1
b=a
此时并没有声明一个新变量b,而是在盒子上添加a标签后,再次添加了一个b标签
a,b两个标签调用的值一样且地址一样,调用a,b调用的是同一个盒子里的同一个数据
5.数据类型
数字型num:
赋数值它就是数字型,不过在类型上还有以下区别
int 整型
float 浮点型
complex 复数型
布尔值bool 布尔型
!!!!python的布尔值是大写开头的!如果写的是小写会被认为是一个变量
字符串str
a="" #声明一个空字符串型变量
字典dict
a={} #声明一个空字典
元组Tuple
a=() #声明一个空元组
列表list
a=[] #声明一个空列表
对于一个数据的数据类型,我们可以使用type()函数来查看它的数据类型:
a=1
b="1"
c=[1,2,3]
print(type(a),type(b),type(c)) #int,str,list
6.python里的运算
算术运算符的操作
四则运算肯定有
余数用%
整除用//
指数用**
比较运算符的操作
大于小于大于等于小于等于就这样
不等于用!=
等于用==
这一点比起某v语言好的多,直接区分开了赋值和比较运算符,在python中,
==是比较运算符,=是赋值符
比较操作符返回的是布尔值
逻辑操作符
与或非意思一下,优先级为非与或
赋值运算符
= #基础赋值
+= #x=x+1
同理可以对四则运算都进行这样的操作,余数和指数也可以进行这样的操作
7.python的输入和输出
\n 换行
字符串格式化,使用%作为占位符,%后面跟着数据类型。
name="裘平洋"
print("life is %s"%(name))
上述代码中%s链接的是name变量,字符串与参数之间用%隔开,当一个输出中有多个占位符时,参数列表中应用与之对应数量的变量
数字 %d
字符串 %c
通过str()格式化 %s
有符号十进制整数 %i或者%d
无符号十进制整数 %u
八进制 %o
十六进制 %x(小写字母)
浮点数 %f
格式化输出.format()函数
使用.format()代替掉%
print("life is {} ".format(name))
不再注意数据类型,而是按空填变量,变量参数的数量要和{}数量相等,否则会报错
输入:
input("提示信息")
8.循环语句和判断语句
顺序执行:
python默认是顺序执行的
计算机中的代码都是顺序读写的
同样,再python的解释环境下,代码都是一行一行解释的
因此代码的顺序不同,代码实现出来的效果也不相同
选择流程:
单分支:
if 条件表达式:
语句块
同样可以写成(代码简明的情况下)
if 条件表达式: 语句
双分支:
if 条件表达式:
语句块
else:
语句块
多分支:
if 条件表达式1:
语句块
elif 条件表达式2:
语句块
elif 条件表达式3:
语句块
……
else:
语句块
如果语句块不写会报错,可以使用空语句pass充当语句块
pass就是占位用的
循环流程
while循环:
while 条件表达式:
语句块
语法特点:
1.有初始值
2.条件表达式
3.变量(循环体内计数变量)的自增自减,否则会造成死循环
使用方面:循环次数不确定时
for循环:
for 循环变量名 in 对象:
循环体
这里的对象可以为一组数,一个列表,一个字典,一个范围range函数,一个字符串
语法特点:遍历操作,一次的取集合对象中的每个值
range(a,b)#产生一个a<=,
break
退出整个循环
continue
退出本次循环,执行下一次循环
else:
for----else
while----else
while 条件表达式:
语句块1
else:
语句块2
顾名思义,不解释
9.高级数据类型
py中的序列:在py中序列就是一组按照顺序排列的值
py中三种内置的序列数据类型:
字符串、列表、元组
优点:可以支持索引和切片的操作
特征:第一个正索引为0,指向的是左端,负数时指向的是右端
注:在python中下标会越界,切片不会越界
字符串:
切片:
语法结构:
对象[起始下标:结束下标:步长]
默认和不写起始下标的时候其值为0
步长默认为1
常用有以下几种:
a="1234567"
全取:
a[:]
从某一个值开始取(此值可以为负数):
a[x:]
取某一个值到另一个值:
a[x:y]
当参数x
字符串常用的方法:
补0:
str.zfill(num)
指定字符串长度,如果不足则补在前面补0
首字母变大写:
capitalize()
语法格式:str.capitalize()
是否x结束或开始:
endswith()/startswith()
语法格式:str.endswith(查询的字符串,查询开始的位置,查询结束的位置)
作用:检查前缀和缀,返回布尔值
检测x是否在字符串中
find()
语法格式:
查找对象.find(查找的字符串,开始索引,结束索引)
开始索引默认为0,结束索引默认为字符串的长度
如果在查找对象中查到了需要查的字符,则返回字符串的下标,如果有多个,则返回最先查找到的那个
如果查找不到,就返回-1
判断是否是字母和数字
isalnum()
语法格式:str.isalnum() 返回布尔值
作用:检查字符串中是否有符号和空格,即全由字母和数字组成
判断是否是字母:
isalpha()
作用和isalnum()一样
大小写转换:
swapcase()
语法格式:
str.swapcase()
大写转小写,小写转大写
转小写:
lower()
语法格式:
str.lower()
转大写:
upper()
语法格式:
str.upper()
去除留白:
去除左边空白:lstrip
右:rstrip
两侧:strip
单词首字母大写:
title()
语法格式:
str.title()
切割字符串:
split():
语法格式:
str.split(分隔符,分割次数)
分隔符默认为空格
分割次数默认为-1,即分割所有
计数:
count()
语法格式:
str.count(所查字符串,查询开始位置,结束位置)
作用:返回某个字符或字符串在某个字符串中出现的个数
替换字符串:
python中字符串不支持替换字符,不过可以用replace()函数
语法格式:
str.replace(被替换字符串,替换字符串,替换个数)
默认替换个数为全部替换
判断某一个字符串的下标:
index()
语法格式:
str.index("字符串")
参数是一整个字符串的时候,返回第一个字符的下标,,如果这串字符串不是str里的子字符串,则python报错
其作用和find函数一样,不一样的是index会报错,而find只是返回-1
列表的操作:
list:
特点:
1.支持增删改查
2.列表中的数据是变化的,数据项会变,but内存地址是不会改变的
3.用[]来表示列表类型,数据项之间用逗号来分割。
4.和字符串一样支持切片
列表常用函数:
取列表项数:
len(list)
取最大值:
max(list)
取最小值:
min(list)
转换:
list(元组)
将元组转换成列表
列表常用的方法:
增加:
list.append(obj)
计数:
list.count(obj)
查找:
list.index(obj)
插入:
list.insert(位置,obj)
移除:
list.pop(index)
删除index下标的项,默认是最后一个,即index=-1
移除2:
list.remove(obj)
移除列表中某个值的第一个匹配项
逆序:
list.reverse()
排序:
list.sort(reverse=bool)
reverse=True的时候倒序,即排序再逆序
清空:
list.clear()
复制:
list.copy()
扩展:
list.extend(list)
在列表后扩展进入另一个列表,原列表的地址不会改变
即批量添加
元组:
元组和列表相似,但是元组是不可以进行修改的的
特点:
1.不可变
2.用小括号()来创建元组类型,数据项用逗号来分割
3.可以是任何的类型
4.当元组中只有一个元素时,要加上逗号,不然解释器会当作整型来处理
a=("1")
type(a) #str
a=("1",)
type(a) #tuple
5.可以用下标进行访问,可以进行切片
常用的元组操作:
计数:
tuple.count("子字符串")
下标:
tuple.index(元组项)
字典:
字典表示序列
特点:
1.可以储存任何对象
2.以键值对的形式
3.用{}来创建字典,用逗号来隔开键值对
4.不可以用下标,改用键名来访问值
5.访问值的安全方式get()
6.如果存在一样的键值,则后者会覆盖前者
常用的字典操作:
修改:
通过访问键值并赋值来进行修改
dic[键值]=newvalue
or
update():
dic.update({键值对})
增加:
访问某一个键值对时在原字典中查询不到时,自动新增这个键值对
删除:
del删除指定键值对,clear清空整个字典
dic.clear
del dic[键值]
统计:
len(dic)
获取键:
keys()
返回一个迭代器
可以用list将其转换成列表
a={"num1":1,"num2":2}
b=a.keys()
list(b)
print(b) #返回key的列表
获取值:
values()
同keys
获取键值对:
items()
同上
删除2:
pop(键值)
排序:
sorted()
语法格式:
sorted(dic.items(),key=lambda d:d[0])
按照key值进行排序,字典序