系列文章目录
Python学习记录之数学函数、算数运算符、字符串、列表文章目录
一、Python基本知识
1.编程中会遇到的错误及help函数
语法错误、运行时错误和逻辑错误
使用help函数可以获得类或模块的帮助信息。
2.数据类型
整型(
i
n
t
int
int) 浮点型(
f
l
o
a
t
float
float) 字符串型(
s
t
r
str
str)
内置函数
t
y
p
e
(
变
量
)
type(变量)
type(变量)可以查看数据的类型
3.变量命名
变量名未定义就可以使用,会报错 NameError
变量命名规则:
1.只能使用字母、下划线和数字
2.必须以下划线或字母开头
3.不能用保留字作为变量名字
4.变量名长度不限
可以使用以下语句同时为多个变量命名:
var1, var2, ...,varN = exp1, exp2, ...,expN
从键盘获取输入
input 函数从键盘读取输入数据,并将其作为字符串返回,然后输入的数据被分配给一个命名的变量,共进一步处理。
varname = input(提示语句)
## 提示语句可选,是一个字符串,如果有则会在终端上输出提示
程序遇到该语句时,程序暂停并等待用户输入。键入完毕后,按回车键提交输入,然后该函数以字符串的形式返回输入的数据。
## 下面是一个例子
>>> a = input("please enter a figure:")
please enter a figure:4
>>> a
'4'
>>> b = input()
Hello
>>> b
'Hello'
>>>
提示:以下是本篇文章正文内容,下面案例可供参考
二、python中的数学函数
python 中的数字有4中类型:整数、浮点数、复试(带字母 i i i 或 j j j 的)和布尔
常见的数学函数如下:
函数名 | 函数作用 |
---|---|
abs(number) | 返回 number 的绝对值 |
pow(a,b) | 返回 a b a^b ab |
round(number) | 将数字舍入为最接近的整数 |
round(number, ndigits) | 舍入到小数点后 ndigits 位 |
math模块中 的一些标准数学函数和常量
名字 | 作用 | 示例 |
---|---|---|
math.pi | 返回 pi | 3.141592653589793 |
math.e | 返回3 | 2.718281828459045 |
math.ceil(n) | 返回大于或等于n的最小整数 | math.ceil(3.14)=4 |
math.floor(n) | 返回小于或等于n的最大整数 | math.floor(3.14)=3 |
math.fbs(n) | 返回n绝对值的浮点形式 | math.fabs(5)=5.0 |
math.sqrt(n) | n 的开方 | math.sqrt(225)=15.0 |
math.log(n) | l o g e n log_e^n logen | math.log(2)=0.6931 |
math.log(n, b) | l o g b n log_b^n logbn | math.log(2,2)=1.0 |
math.sin(n) | s i n ( n ) sin(n) sin(n) | |
math.cos(n) | c o s ( n ) cos(n) cos(n) | |
math.tanh(n) | t a n h ( n ) tanh(n) tanh(n) | |
math.degrees(n) | 弧度转角度 | math.degrees(math.pi/2)=90 |
math.radians() | 角度转弧度 | math.radians(90)=1.5707 |
设置数字格式 :format(数,格式)
说明:格式部分 说明值 保留的最小字符数,指小数点后的字符数,包括小数前后的数字和小数字符本身(我觉得这话有一点点问题)。默认情况下,所有数字都默认右对齐。如果宽度大于值得长度,则数字将打印为右对齐,并通过从宽度中减去值得长度来确定前面的空格。另一方面,如果宽度小于值得长度,则宽度的长度会自动增加以适合值的长度,并且不会添加前面的空格。
小tip: “,.2f” 这样不仅设置小数点后保留两位,而且数字大的话会在值中间自动加都好
———— “.2%” 保留两位小数并加百分号
更改默认对齐方式
符号 | 作用 |
---|---|
> | 输出在指定宽度内对齐的值 |
< | 输出在指定宽度内左对齐的值 |
设置整数格式
字符 | 作用 |
---|---|
b | 二进制形式 |
x | 16进制格式 |
o | 八进制格式 |
<10d | 在特定宽度内分配数字 |
三、算数运算符
符号 | 作用 | 示例 |
---|---|---|
/ | 实数分割符 | 10 / 2=5.0 |
// | 整除 | 10 // 2=5 |
** | 幂运算 | 5**2=25 |
% | 取余运算 | 10%3=1 |
优先级表
优先级如下:
算子
列表、字典、集合
索引、切片、函数调用、属性引用
幂运算
正、负、按位非
*,/, //, %
+,-
<<,>>按位左移、右移
& 按位并
| 按位或
in, not in, is, is not, <, <=, >, >=,!=, ==
not 布尔非
and 布尔和
or 布尔或
if...else 条件表达式
lambda lambda表达式
四、字符串
Bool值
python 中以下值被认为是False
- None
- False
- 0
- 空序列,如 [], ()
- 空字典,{}
- 其他的都是真的
转义序列
符号 | 作用 |
---|---|
\n | 换行 |
\t | 制表符,或一个空格 |
\\ | 反斜杠 “\” |
\’ | 单引号 |
\" | 双引号 |
字符串
python 中用一对单引号或双引号括起来的字符,单个字符也是字符串
- len(字符串) 可以返回字符串中的字符数
- 两个字符串中间用“+”会把两个字符串连起来
- 字符串乘一个数会让字符串重复好几遍,但是不能乘以非 int 型数
- 可以按索引访问字符串中单个字符,及字符串切片,就像列表一样
- 字符串比较,从第一个字符开始,对应比较ASCII码值,知道可以比出结果。如“linker”>“lilnquish” False.另外,短字符串出现在另一个长字符的开头,则较短字符串较小
- 格式化字符串:format(字符串,宽度)
例:print(format(“python”,“10s”)) python____(后面有四个空格)
默认字符串左对齐,右对齐使用符号">",format(“python”,">10s"),如果字符串长度大于指定宽度,则宽度会自动增加以匹配字符串的长度。
字符串方法
1. 测试字符串
函数 | 功能 |
---|---|
str.isalnum() | 如果字符串中所有字符都是字母或数字(包含数字、"\"或字母的字符串)则返回true,否则false |
str.isalpha() | 如果字符串中所有字符都是字母, 则返回true,否则false |
str.isdigit() | 如果字符串中所有字符都是数字, 则返回true,否则false |
str.islower() | 如果字符串中所有字符都是小写, 则返回true,否则false |
str.isupper() | 如果字符串中所有字符都是大写, 则返回true,否则false |
str.isspace() | 如果字符串中所有字符都是空格字符, 则返回true,否则false |
2.搜索和替换字符串
函数 | 功能 |
---|---|
str.endswith(sub) | 如果字符串以子字符sub结尾,则返回true, 否则false |
str.startswith(sub) | 如果字符串以子字符sub开头,则返回true, 否则false |
str.find(sub) | 返回找到子字符串sub的字符串最低索引。如果未找到则返回子字符串sub |
str.rfind(sub) | 返回找到子字符串sub的字符串最高索引。如果未找到则返回子字符串sub |
str.count(sub) | 返回在字符串str中找到的子字符串sub的出现次数,如果未找到匹配项,则返回0 |
str.replace(old, new) | 将子字符串old替换为new后返回一个薪字符串。请注意,它不会更新它调用的对象。 |
3.转换字符串
函数 | 功能 |
---|---|
str.lower() | 在将字符串的所有字符转换为小写后,返回字符串的新副本 |
str.upper() | 在将字符串的所有字符转换为大写后,返回字符串的新副本 |
str.capitalize() | 在仅将字符串的第一个字母大写后,返回字符串新副本 |
str.title() | 在将每个单词中的第一个字母大写后,返回字符串新副本 |
str.strip() | 在删除所有前导和尾随空格字符后返回字符串新副本 |
str.strip(chars) | 从字符串的开头和结尾删除chars后,返回字符串的新副本 |
str.swapcase() | 在将小写字母转换为大写字母后,返回新副本,反之亦然 |
4.格式化方法
函数 | 功能 |
---|---|
center(width) | 将字符串置于长度为width的字段中,返回字符串的新副本 |
ljust(width) | 返回长度width字段中左对齐的字符串的新副本 |
rjust(width) | 返回长度width字段中右对齐的字符串的新副本 |
五、列表
序列是一个通用术语,指以下类型的数据:字符串、列表、元组、字典、集合
- 可以直接 print(列表)输出列表
- 列表可以包含相同或不同类型的元素
- 可以用构造函数list 创建列表
- 列表是可修改的
- 可用in 和 not 检查列表中是否存在元素
- 列表串联,“+”连接列表,但是不会影响被串联列表的地址。“*”号也是。
- 比较列表,仅当涉及的操作数包含相同类型的元素时,列表比较才有效。过程是从头开始比较相同索引处的元素,仅当达到列表末尾或列表中的相应字符不相同时,比较才会停止。
创建列表
[expression for item in iterable]
// 根据需要创建列表,其元素都是某些操作的结果。
//工作原理:在每次迭代中,从可迭代对象中分配一个值,然后计算前面的expression,结果将用于生成列表的值。
//也可以加上if语句
[expression for item in iterable if condition]
//与上面的区别是只在expression用于condition为True时生成列表值
列表方法
函数 | 功能 |
---|---|
len() | 返回序列中元素数 |
sum() | 返回序列中元素和 |
max() | 返回序列中值最大的元素 |
min() | 返回序列中值最小的元素 |
insert(index, item) | 在指定的index添加item。如果index大于最后一个有效值,则添加到列表末尾 |
index(item) | 返回指定item的第一个匹配项的索引。如果列表中不存在指定的item,则会发生异常 |
remove(item) | 从列表中删除指定的item的一个匹配项。如果列表中不存在指定的item,则会发货所能异常 |
count(item) | 返回item在列表中出现的次数 |
clear() | 从列表中删除所有元素 |
sort() | 按升序对列表进行排序 |
reverse() | 反转列表中元素的顺序 |
extend(sequence) | 将sequence追加到列表末尾 |
pop([index]) | 删除指定index的元素定返回该元素。如果未指定Index, 将从列表中删除并返回最后一个元素。如果index无效,则会发生异常。 |