导图社区 Python34
Python 34 函数参数的灵活使用 1.默认值参数 2.列表参数 1)默认值参数 有参数的函数而言,必须在调用时制定参数 #给函数参数定义默认值 def max(num1=0, num2=0...
编辑于2022-11-14 20:56:23 山东省Python基本语法&基本数据类型
字符串类型
文本信息在程序中使用字符串类型表示,用一对引号括起来。 存在0~n-1和-n~-1两种序列方式
判断是否为字符串及编解码
判断字符串
type(字符串)返回类型
isinstance(字符串,类型)返回True or Flase
字节串类型与字符串类型转化
encode()字符串转化为字节串
decode()字节串转化为字符串
转义字符
\b退格,将光标移到前一列的位置
\\斜线
\f换页符
\'单引号
\n换行符
\"双引号
\f回车
\ooo 3位八进制对应的字符
\t水平制表符
\xhh 2位十六进制对应的字符
\v垂直制表符
\uhhhh 4位十六进制数表示的Unicode字符
为避免对字符串中的转义字符转移,可以加上r或R
字符串索引
字符串利用方括号[]通过索引值得到对应位置的字符
正向索引 0~n-1
反向索引 -n~-1
字符串切片
切片的格式一般为<字符串或字符串变量>[N:M:step]
参数N是切片的起始索引序号
参数M是切片的结束索引序号
参数step是切片的二步长(可省略
字符串的操作
字符串的操作符
x+y连接两个字符串
x*n(n*x)复制n次字符串x
x in s若x是s的字串则返回True,否则返回Flase
字符串处理函数
len(x)
返回字符串x的长度或者是其他组合类型的元素个数
str(x)
把任意类型转换为字符串形式
chr(x)
返回Unicode编码对应的单字符
ord(x)
返回单个字符对应的Unicode编码
字符串处理方法
str.lower()
以小写的方式全部返回str的副本
str.upper()
以大写的方式全部返回str的副本
str.split(sep=None)
返回一个列表,以sep作为分割点,sep默认为空格
str.count(sub)
返回sub字串出现的次数
str.replace(old,new)
返回字符串str的副本,所有old字串都被替换为new
str.center(width,fillchar)
字符串居中函数,fillchar参数可选
str.strip(chars)
从字符串str中去掉在其左侧或右侧chars中列出的字符
str.join(iter)
将iter变量的每一个元素后面增加一个str字符串
应用举例
"Python".lower() 'python'
"Python".upper() 'PYTHON'
"Sunshine always comes after the rain".split()#默认以空格分割 ['Sunshine', 'always', 'comes', 'after', 'the', 'rain']
"姓名,年龄,性别,电话,住址".split(",") ['姓名,年龄,性别,电话,住址']#(因为两个逗号不是同一种
"Everything will be ok".count("i") # 统计“i”出现的次数
"Sunshine always comes after the rain".replace(" ",",") # 把原来的“ ”替换为“,”
"Python".center(15,"*") # 字符串居中,用“*”填补空余 '*****Python****' "Python".center(3,"*") 'Python'
"###brave###".strip("#") # 去掉字符串中左右出现的“#”字符 'brave'
>>> ls = ["Python","Java","C++","Jsp"] >>> "**".join(ls) # 每一个元素后面都加一个“**” 'Python**Java**C++**Jsp' >>> ",".join("12345") '1,2,3,4,5'
format()的用法
<模板字符串>.format(<逗号分隔的参数>)
formatf()方法参数的使用顺序
默认按顺序,也可以写数字但不能同时用
formatf()方法的格式控制
{<参数序号>;<格式控制标记>} 引导函数 : <填充> 用于填充的单个字符 <对齐> <左对齐>右对齐^居中对齐 <宽度> 草的设定输出宽度 <,> 数字的千位分隔符适用于整数和浮点数 <.精度> 浮点数小数部分的精度或字符串的最大输出长度 <类型> 整数类型:b,c,d,o,x,X;浮点数类型:e,E,f,% 格式控制标记总共6个字段,这些字段均为可选,可以组合使用
整数 b:输出整数的二进制方式 c:输出整数对应的Unicode字符 d:输出整数的十进制 o:输出整数的八进制 x:输出整数的小写十六进制 X:输出整数的大写十六进制
浮点数 e:输出浮点数对应的小写字母e的指数形式 E:输出浮点数对应的大写字母E的指数形式 f:输出浮点数的标准浮点形式 %:输出浮点数的百分比形式
应用举例
"{:*<20}".format("python") # 左对齐,*号填充,宽度 20 'python**************' >>> "{:*<2}".format("python") 'python'
"{:5,}".format(4567893245545) # 使用千位分隔符,宽度 5 '4,567,893,245,545'
"{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(520) # 输入的整数对应转成不同的格式 '1000001000,Ȉ,520,1010,208,208'
"{0:e},{0:E},{0:f},{0:%}".format(3.14159) # 输入的浮点数对应转成不同的格式 '3.141590e+00,3.141590E+00,3.141590,314.159000%'
数字类型
整数类型
数据进制表示
二进制 0b或0B引导
八进制 0o或0O引导
十进制 无引导符号
十六进制 0x或0X
数据进制转化
bin(x)将x转化为二进制整数
oct(x)将x转换为八进制整数
int(x)将x转换为十进制整数
hex(x)将x转换为十六进制整数
数据类型转化
type(x)对x变量进行类型判断,适用于任何数据类型
int(x)将x转换为整数类型
float(x)将x转换为浮点数类型
str(x)将x转换为字符串类型
浮点数类型
整数的运算精度比浮点数高
浮点数无法直接表示0.1,二十通过最接近0.1的二进制,会产生一个不确定的尾数 所以会出现0.1+0.2!=0.3的情况
复数类型
a+bj,特别注意只有虚部且虚部为1,那么1不能省略
对于复数z,z.real和z.imag分别确定z的实数部分和虚数部分
数字类型的运算
数值运算操作符
x+y求两数之和
x-y求两数之差
x*y求两数之积
x/y求两数之商,结果为浮点数
x//y伤后取整
x%y商后取余
x**y表示x的y次幂
-x一个数的负数
+x一个数自身
数值运算函数
abs(s)绝对值
divmod(x,y)输出为二元组(x//y,x%y)
pow(x,y)或pow(x,y,z)表示x**y或(x**y)%z
round(x)或round(x,d)对x的值保留d位小数
max(x1,x2....xn)取最大值
min(x1,x2.. ..xn)取最小值
其他操作符
逻辑操作符
and与
or或
not非
比较操作符
<小于
<=小于等于
>=大于等于
>大于
==等于
!=不等于
真假值
真
"python" >=1 <=1
假
"" 0 []空 ()空 {}空 none
位运算
&按位与
|按位或
~按位取反
……按位异或 同为0,异为1
<<左移
>>带符号右移
基本语法元素
引用
import<库名> import<功能库名>as别名
用户自定义的函数名字可以和库中函数的名字一样
from<库名>import<函数名>
用户自定义的函数名不能和库中函数名相同
命名规则
标识符一般由一串字符串组成,可以是任意字母、数字、下划线或汉字,但不能以数字开头,也不能与关键字同名
and as assert break class continue def del elif else except False finally for from global if import in is lambda None nonlocal not or pass raise return Ture try while with Yield
变量
在标识符中,在运行过程中被修改的量被称为变量。 表达式 与 赋值语句
常量
一旦赋值就不能改变值的标识符,Python中无法定义常量
基本语句
基本输入输出
<变量>=input(<提示性文字>)输入函数,默认格式为字符串
<变量>=eval(<字符串>),去掉字符串外面的引号,通常和input函数一起使用。
print(<待输出字符串>)
输出一个或多个变量print(a,b,c)
用于混合输出字符串与变量值,print('{}一堆奇怪的东西{}'.format(a,b))
默认会在后面加换行,可以通过加 ,end"一些奇怪的东西" 来输出其他东西替换换行。
分支语句
单分支语句
if<条件>: <语句块>
双分支语句
if<条件>: <语句块> else<条件>: <语句块>
多分支语句
if<条件>: <语句块> elif<条件>: <语句块> elif······: else: <语句块>
循环语句
条件循环语句
while(<条件>): <语句块>
遍历循环语句
for<循环变量>in<遍历结构>: <语句块>
ls=[1,3,5,7]
range(<循环次数>) range(a,b)取a不取b
程序的格式框架
缩进
每行语句开始前的空白区域,用来表示包含和层次关系。 当表示分支、循环、函数、类等程序含义时,在if、while、for、def、class等后面加:表示缩进
注释
对代码进行说明。#表示一行注释的开始三个(单/双)成对的引号之间也表示注释。 shift+/表示快捷注释
续行符
反斜杠\表示续行,但后面不能存在东西。
高级语言的转换
编译
将源代码全部转换成目标代码后在运行代码的过程。
解释
将源代码逐句转换成目标代码同时逐句运行目标代码的过程。