快速入门/一文免挂
序:详细包含python的基础知识以及一些操作解析,也有对应的题目,不仅适合python初学者,同样也适合python期末考试党!!!
Python程序元素
变量
变量命名:
- 变量名由字母,数字,下划线组成;
- 数字不能开头;
- 不能和python的关键字冲突
python
是动态语言,无需提前确定数据类型:
也就是说不用int a,这样命名了。
关于python
的强制转换:
和其他高级编程语言有点不一样,它是
int(数据),float(数据),str(数据)
实现强转,由于python
是动态的,所以强转很常见的。
python
注释:
单行注释:#+内容
多行注释:”””内容“”“或’’‘内容’’’,如下面所示
""" print("学习python") """
''' print("学习python") '''
数据类型
int,float,str
等等,注意python
中布尔类似值是True/False
首字母是大写的,不要和其他高级编程语言混淆。
python中的符号
=
赋值符合(不多说)==
这是用来比较俩边的数据是否相同以及数据类型是否一致的,Java中除基本数据类型这个是用来比较地址的;is
判断is
左右两边的地址是否是一样的,python
中设置了整数池,把[-5~256]之间的值公用同一个地址。
运算符:
x + y加
x – y减
x * y乘
x / y除,x与y的商(10/3=3.33333)
x//y整数除(10//3=3)
x%y取余
x**y幂运算
操作符:
x and y 与
x or y 或
not x 非
数值运算符-round(x,[,d])
四舍五入,d是保留小数位数,默认值为0.
print(round(4))#4
print(round(3.234234,2))#3.23
print(round(3.24))#3
Python的程序结构
分支结构
- 单分支 if < 条件 >:
- 二分支 if< 条件 >: else :
- 多分支
if < 条件 >:
elif < 条件 >:
elif < 条件 >:
else:
异常处理
finally下的语句块不管是否return结束这个函数也是会执行的,无论怎么都会执行,其他语言也是如此。
循环结构
for循环(for和in组合
)
- for <变量> in <循环结构(元组/字符串/列表等)>:
《语句块》 - for<变量> in range(N):
《语句块》
执行语句块N次
while、break、continue和其他语言没区别,这里不想说了。
Python函数
函数表示形式:
def <函数名>(< 参数(0个或多个)):
《函数体》
return 《返回值》(没有该语句返回值则为None或none)
注意:python
是动态语言,参数前不用加数据类型,直接写变量名即可.
python中的可变参数
python
中的可变参数有点特殊,不是三点(...
)的表示;
python
中的可变参数表示形式:
*<变量名>
- 函数的作用:
函数编程不仅可以增强代码的复用,还可以增强代码的可读性等。
python中的全局变量和局部变量
Python
是脚本语言,最先执行非函数/非类/非缩进的代码;
python
中使用global
关键字在函数体内声明是全局变量,也就是即使不是参数传递过来也是可以使用的了。
例子:
s = 3
def fun():
global s
return s+1
print(fun())#输出:4
组合数据类型之序列类型
序列通用操作
len()
返回字符串中字符个数
字符 in 字符串
判断字符串中是不是有这个元素
字符 not in 字符串
判断字符串中是不是没有这个元素
s[i]
返回索引i
下的值
s + t
连接两个序列s
和t
s*n或n*s
序列复制n
次
字符串(str)
- 字符串可以相加和相乘,相加是拼接,相乘是重复多少次(必须是乘以一个整数)
索引:- 从左往右索引是从0开始的,从右边往左边是从-1开始的(
python
索引的特殊地方)。python
里的字符串是readonly的,不可以修改只可读,也就是说s='xxx' s[0]='y'
会报错,但是可以间接的修改,比如字符串的拼接、调用str中的replace方法。
字符串常用函数
split(正则)
根据正则来分割字符串
strip()
去除字符串俩边的空格
startswith(字符串)
匹配开头是否存在该字符串
endswith(字符串)
匹配末尾是否存在该字符串
replace(字符,要替换的字符)
替换,修改原字符串
str_name.upper()
转换成大写
str_name.lower()
转换成小写
字符串类型的格式化
格式化是对字符串进行格式表达的方式:
字符串格式化使用
.format()
方法,用法:
< 模板字符串 >.format(< 逗号分隔的参数 >)
注意:.
是精度或者字符串最大输出长度。
列表(list)
- 列表创建里面元素可以进行修改
- 使用
[]或者list()
创建,元素间用逗号隔开,分隔 - 列表中的元素类型可以不同
s = [2,43,"3fd"]
s[2] = "xmq"
print(s)# 输出:[2, 43, 'xmq']
常用一些函数(下面不包含序列公共部分)
ls.append(x)
在列表ls末尾添加元素x
ls.insert(pos,x)
在列表ls第pos个位置处添加元素x
ls.remove(x)
将列表ls的第一个出现的x删除掉
ls.pop(i)
将列表ls中的第i个位置取出来并且删除该列表元素
元组(tuple)
- 元组和列表类似,只是元组中的元素设置成了
readonly
,不可以进行修改。 - 使用
小括号()或tuple()
创建,元素中间用逗号分隔 - 也可以不使用小括号,那就默认是元组
序列数据类型(列表/字符串/元组)索引问题
- 列表[数字],表示取第数字个索引的字符/元素
s='123456789'
print(s[-1])
print(s[-2])
print(s[1])
#9
#8
#2
- 列表[数字1:数字2],表示取从数字1到数字2-1这段列表:
s='123456789'
print(s[1:-1])#-1索引是指向9的
print(s[0:3])
#2345678
#123
- 列表[:数字],表示从0索引开始取,直到取到数字-1的索引:
s='123456789'
print(s[:-1])#-1索引是指向9的
#12345678
- 列表[::数字],表示从0索引开始,每隔数字-1个元素取一次,比如数字是2的话,就取0,2,4…索引的元素
s='123456789'
print(s[::2])#-1索引是指向9的
#13579
- 列表[::-1] 逆转/reverse
s='123456789'
print(s[::-1])#-1索引是指向9的
#987654321
- 列表[数字a:数字b:数字c],表示从数字a开始到数字b-1结束这段序列,每隔数字c取一次
s='123456789'
print(s[1:-1:2])# 2468
组合数据类型之映射类型
字典(map)
- 字典其实就是一个一个映射键值对
(key->value)
组成的容器,其中key
键必须是唯一的不可以重复(如果出现冲突了,会选择后者),value
可以的! - 采用
大括号{}和dict()
创建,键值对用冒号分隔键值对,用逗号分隔元素:
{<键1>:<值1>,<键2>:<值2>,<键3>:<值2>......}
字典key重复问题:
常用的操作函数
del d[k]
删除字典d中键值k对应的键值对
k in d
判断k键值是否在d中
d.keys()
返回字典d中所有键值信息
d.values()
返回d字典中所有值信息
d.items()
返回字典d中所有键值对信息
dict.get(key, default=None)
返回指定键的值,如果键不在字典中返回 default 设置的默认值
测试:
s = {1:"xxx",2:"lds"}
print(s.keys())
print(s.values())
print(s.items())
'''
输出:
dict_keys([1, 2])
dict_values(['xxx', 'lds'])
dict_items([(1, 'xxx'), (2, 'lds')])
'''
注意:可以看出返回的是对应的列表,也就是说我们可以对其进行修改!!!
测试:
python程序的输入输出
input()
输入函数,会自动把内容设为字符串型
print()
输出函数,输出所要输出的内容
eval()
评估函数,去掉参数最外层的引号然后执行余下的语句,这函数经常和input连用,
eval(input())
s='1+2'
print(s)#输出:1+2
print(eval(s))#输出:3
python文件(file)
文件处理步骤:
打开-操作-关闭
文件的打开模式(可以进行合并使用,和c是一致的):
文件打开操作:
<变量名> = open(<文件名>,<打开模式>)
文件操作:
read()
readline()
write()
writeline()
了解了解即可,二进制文件和文件中的转换!!!
import关键字用法
import + 模板名
导入对应的模板
from 模板名 import *
导入对应模板中的属性和行为(函数/字段)
from 模板名 import 行为(函数)
导入对应模板中的行为(函数)
文章出处登录后可见!