学习python
-
三种引号
- 单引号
''
表示字符串,单引号内可以加双引号 - 双引号
""
表示字符串,双引号内可以加单引号 - 三引号
'''或"""
支持换行,其他两个不支持换行name = ''' 123
-
字符串的转义符
- \n 换行
- \t 横向制表符
- \r 回车
- \b 退格符
- \a 响铃
- \e 转义
- \f 换页
- \v 纵向制表符
- \000 空
- \ 续行符
- \ 反斜杠符号
- ‘ 单引号
- ” 双引号
- \oyy 八进制数,y 代表 0~7 的字符,例如:\012 代表换行。
- \xyy 十六进制数,以 \x 开头,yy代表的字符,例如:\x0a代表换行
- \other 其它的字符以普通格式输出
-
关于变量
-
可设多个变量
x,y,z = 1,2,3
-
变量命名 使用:
英文字母,下划线_和数字
组成 -
关键字不能做变量名 在管理员模式下输入
python
回车在输入import keyword
回车在输入print(keyword.kwlist)
回车 可显示不能用作变量名的英文 -
关键字:
'False','None','True','and','as','assert','break','class','continue','def',
'del','elif','else','except','finally','for','form','global','if','import',
'in','is','lambda','nonlocal','not','or','pass','raise','return','try',
'while','with','yield'
-
内置函数(BIF)也不做变量名:
'ArithmenticError','AssertionError','AttributeError','BaseException','BlockingIOError','BrokenPipeError','BufferError','BytesWarning','ChildprocessError,'ConnectionAbortedError','ConnectionError,'ConnectionRefusedError','ConnectionResetError','DeprecationWarning','EOFError','ELLipsis','EnvironmentError','Exception','False','FileExistsError','FileNotFoundError','FloatingPointError','FutureWarning','GeneratorExit','IOError','ImportError','ImportWarning','IndentationError','IndexError','InteruptedError','IsADirectoryError','KeyError','KeyboardInterrupt','LookupError','MemoryError','ModuleNotFoundError','NameError','None','NotADirectoryError','NotImplemented','NotImplementedError','OSError','OverflowError','PendingDeprecationWarning','PermissionError','ProcessLookupError','RecursionError','ReferenceError','ResourceWarning','RuntimeError','RuntimeWarning','StopAsyncIteration','StopInteration','SyntaxError','SyntaxWarning','SystemError','SystemExit','TabError','TimeoutError','True','TypeError','UnboundLocalError','UnicodeDecodeError','UnicodeEncodeError','UnicodeError','UnicodeTranslateError','UnicodeWarning','UserWarning','ValueError','Warning','WindowsError','ZeroDivisionError','__build_class__','__debug__','__doc__','__import__','__loader__','__name__','__package__','__spec__','abs','all','any','ascii','bin','bool','bytearray','bytes','callable','chr','classmethod','compile','complex','copyright','credits','delattr','dict','dir','divmod','enumerate','eval','exec','exit','filter','float','format',frozenset','getattr','globals','hasattr','hash','help','hex','id','input','int','in=sinstance','issubclass','iter','len','license','list','locals','map','max','memoryview','min','next','object','oct','open','ord','pow','print','property','quit','range','repr','reversed','round','set','setattr','slice','sorted','staticmethod','str','sum','super','tuple','type','vars','zip'
-
输入输出
1.a = input (‘请输入:’) print(a) 注:
input接受的内容都为字符串
2.input
输入 print
输出,打印
-
Math模块
import math
回车
math.pi
回车
结果输出圆周率:3.141592653589793
dir(math) 查看模块内容
-
数值类型
1.整数int
例:123
2.浮点数float
例:0.001
- 2.1 浮点数高精度计算
-
import decimal
回车
-
-
- decimal.Decimal(
'1.01'
) – decimal.Decimal('0.9'
)得
Decimal('0.9'
)
- decimal.Decimal(
-
-
-
注:
可以使用decimal
模块来做浮点数的精确计算,使用时传入的是一个字符串
-
3.布尔型bool
两个值True(值为1)和False(值为0)
-
数值类型计算
1. + – * / %
取余
**幂运算
//整除
2.符号:
!=
不等于
==
相等>=
小于等于<=
大于等于<
小于>
大于3.与:
and
表示并且
或者和
的意思 只有两边为真才为真4.或:
or
表示或者
的意思 只要有一边为真则为真5.非:
not
表示取反的意思 真变假,假变真 -
Python运算符优先级
1. **
指数 (最高优先级)
2. ~ + -
按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
3. * / % //
乘,除,求余数和取整除
4. + -
加法减法
5. >> <<
右移,左移运算符
6. &
位 ‘AND’
7. ^ |
位运算符
8. <= < > >=
比较运算符
9. == !=
等于运算符
10. = %= /= //= -= += *= **=
赋值运算符
11. is is not
身份运算符
12. in not in
成员运算符
13. not and or
逻辑运算符
-
分辨类型
1.type()
比较运算符返回结果为bool值
-
字符串格式化
- %
格式化 占位符
- %d
格式化整数 ~~ %6d 表示字符串长度
- %f
格式化浮点数(小数) ~~ %06.2d 0表示填充;2表示只保留两位小数
- %c
格式化ASCLL码 ~~ %97 输出对应数值的ASCLL码符 得到'a'
- %o
八进制输出 ~~ %8 输出八进制 得到'10'
- %x
十六进制输出 ~~ %16 输出十六进制 得到'10'
- %o
八进制输出 ~~ %8 输出八进制 得到'10'
- %e
格式化输出科学计数法 ~~ %10000 输出科学技数表示法 得到'1.000000e+04'
- %r
对象原样输出 ~~ %'123' 原样输出对象 得到"'123'"
- %s
格式化字符串
s=’hello’ t=’kt’print('%s %s'
%(s,t)) 输出拼接字符串 得到字符串'hello kt'
-
字符串的format 方法
'{a:.2f}'
.format(a=12.3333)保留两位小数
输出12.33
'{:.2%}'
.format(0.35)以百分号形式输出
输出35.00%
'{0:x}'
.format(20)转换成16进制
输出14
'{b:0<10}'
.format(a=12.3,b=13.35)左对齐,填充数字0
输出13.3500000
'{a:*^10}'
.format(a=12.3,b=13.35)居中对齐
输出***12.3***
'{{hello {} }}'
.format(‘python’)转义大括号
{ hello python }
'f= 'hello {0}'
.format f(‘python’)当作函数调用
输出'hello python'
-
-
字符串通常是不可变 但可用
replace
()方法替换原字符串,但并不会修改原字符串,只会返回一个新的对象,字符串所有的方法都是如此
-
-
-
可变对象:list、dict、set
-
-
-
不可变对象:数值、str、元组
-
upper()
全变成大写lower()
全变成小写capitalize()
首字母大写title()
单词首字母大写,标题形式strip()
去掉两边空格split()
字符串的切割 (‘字符串’,次数)join()
拼接strip()
去掉两边空格find()
查找 查找元素在字符串中的索引值,找不到元素会返回-1
-
字符串内部提供判断方法
isalpha()
判断全是字母isdigit()
判断全是数字islower()
判断全是小写isupper()
判断全是大写
-
字符串的编码
encode(encoding= '' )
将字符串编码成指定的编码decode( '' )
在转换回来
-
Python包含以下函数:
cmp(list1, list2)
比较两个列表的元素len()
列表元素个数max()
返回列表元素最大值min()
返回列表元素最小值list()
将元组转换为列表
-
条件语句
1.if else
if 判断条件:
print()
else:
print()
if 判断条件:
print()
elif 判断条件:
print()
else:
print()
复制代码
2.三目运算
print(True if a>5 else False)
复制代码
3.while循环
a = 1
while a<5:
print(a)
a +=1 依次执行,直到循环结束
else:
print('循环结束')
若while后面的条件写True,则内部需要加break来终止循环,使用break终止的循环,是不会执行else的内容
continue只会跳出当前循环,直接执行下一次循环
复制代码
4.for循环
for i in 'python':
print(i) 循环这个字符串的长度len 决定循环次数
复制代码
结果为p y t h o n
for i in range(10):
print(i,end=',')
复制代码
结果为0,1,2,3,4,5,6,7,8,9
range函数可以取到一个范围内的整数 range(开始,结束,步长)
print里面的end可以设置每个值打印之后输出的字符串,默认是换行
-
-
- 可迭代对象:字符串,列表,元组,字典,集合
-
for i in range(1,6,2):
print(i,end='')
i = 'python'
print(i,'*')
复制代码
结果为1python*
3python*
5python*
for i in range(1,20):
if i % 2 ==0 or i % 3 ==0:
continue
else:
print(i,end=',')
复制代码
结果为1,5,7,11,13,17,19
for
循环和while
循环都可以使用break
和continue
同时也可接else
,当循环被break
终止时,else
不会执行
for i in range(1,20):
if i % 2 ==0 or i % 3 ==0:
continue
elif i % 15 ==0:
break
else:
print(i,end=',')
else:
print('循环结束')
复制代码
结果为1,5,7,11,13,17,19,循环结束
list = []
列表里几乎可以放任何python对象
-
取100以内所有偶数:
-
1.
for i in range(101): if i % 2 == 0: print(i)
-
2.
list_a = [] for i in range(101): if i % 2 == 0: list_a.append(i)
-
3. 列表推导表达式
list_b = [i for i in range(101) if i % 2 == 0 ]
i
是保存在列表中得值for i in range(101)
for循环来得到值if i % 2 == 0
if判断来对值进行筛选[ ]
用中括号括起来,表示列表
-
list 列表
-
-
索引 index 从0开始,负索引从尾部往前数 -1 为最后一位 list = [开始:结束:步长]
-
添加的三种方法:append
(‘单个添加’);extend
([‘批量添加’,’批量添加’]);insert
(1,’指定位置添加’)
删除的三种方法:pop
(‘一次移除一个’);remove
([‘移除指定元素’]);claer
(‘一次性清空’)
列表的其他方法:count
(‘统计元素个数’);reverse
([‘将列表顺序颠倒,不排序’]);sort
(‘对列表中元素进行排序,采用Timsort算法排序’);copy
(‘复制’);
-
元组:
()
里面的为元组
,类似列表,也可以索引取值,但元素不能更改,一旦确定,就无法改变
。如果元组只有一个元素(1,)
还是要跟上逗号,否则会当作一个元素
,而不是元组
拆包
: 元组可以同时赋值给多个变量,只要变量个数不超过元组长度,变量前面加上*
号则可以将多个元素都接受,并组成一个列表
例:
a = (1,)
b = (['hello','python','!',])
c = ([6,8,10,])
tuple_d = a,*b,*c
print(tuple_d)
复制代码
结果为((1,),'hello','python','!',6,8,10)
可以用type(tuple_d)
去进行检测
-
字典:
字典以键值对的形式定义
1. dict_a = {} 空字典
2. dict_b = dict(a=1,b=2) 使用dict函数定义字典
3. dict_c = {‘a’:1,’b’:2} 常规定义方式,结果与dict_b结果相同
字典的增删改查
- 通过
key
来取值,key
不存在则报错 - 通过
get()
方法来取值,key
不存在,也不会报错 - 通过
setdefault()
方法来查找,当key
存在则返回values
值,如果key不存在则添加键值对
- 通过
update()
方法可以更新key
的值,如果key
不存在则添加键值对
keys()
方法可得到所有的key
values()
方法可得到所有的values
items()
方法可得到所有的键值对
pop()
方法可删除指定的key
popitem()
方法可删除字典中的最后一个键值对
clear()
方法可删除字典中的所有元素
集合的运算
- 交集:两个集合中相同的元素用
set()
表示&
- 并集:两个集合不同的元素合并在一起
|
- 差集:两个集合减去两个集合中相同的元素
-
创建一个空集合必须用 set()
而不是 { }
,因为 { }
是用来创建一个空字典。
集合的增删改查
- add() 添加元素
- update() 添加 参数可以是列表,元组,字典等
- pop() 随机删除集合中的一个元素
- remove() 移除元素