Python 学习笔记02(数据/流程)上
数据类型
整数(int)
- 与数学中整数概念一致
- 整数可正可负
- 默认情况下,整数采用十进制。其它进制需要
- 增加相应的引导符号
进制 | 符号 | 示例 | 十进制 |
---|---|---|---|
二进制 : | 0b或0B | 0b10 | 2 |
八进制: | 0o或0O | 0o10 | 8 |
十六进制: | 0x 或0X | 0x10 | 16 |
浮点数(float)
- 与数学中的实数概念一致
- 取值范围与精度都有限制
表示方式:
小数:1.23,3.14,-9.01
科学计数法:1.23x109 1.23e9
精度问题:浮点数运算存在不确定尾数,有误差!(可以用Round函数消除尾数)
复数(complex)
- 与数学概念一致
- 实部和虚部构成 (虚部使用 j 表示)
- real 方法取实部,imag 方法取虚部
运算
关系运算符同 JAVA
等于== , 不等于!= , 大于> , 大于等于>= , 小于< , 小于等于<=
逻辑运算
与或非(and or not)
赋值运算
这里用一个示例说明:
# 直接赋值
>>> a=8
>>> b=4
>>> print(a,b)
8 4
# 交换变量值
>>> a,b=b,a
>>> print(a,b)
4 8
#多个赋值
>>> i,j=[1,2]
>>> print(i,j)
1 2
>>> i,*j=[1,2,3]
>>> print(i,j)
1 [2, 3]
>>> i,j=[1,2,3]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: too many values to unpack (expected 2)
>>>
算数运算符
加减乘除与数学中一致
浮点数除法 / (100/5 = 20.0)
整数除法 // (100//5 = 20)向左取整
取模 % (9%4 = 1)
幂 ** (2**3 为2的的三次方)
math 函数
函数或常数 | 功能 |
---|---|
e | 自然常数 |
pi | 圆周率 |
log(x[,base]) | 返回以base为底的对数,缺省为e |
pow(x,y) | 返回x的y次方 |
sqrt(x) | 返回x的平方根 |
fabs(x) | 返回x的绝对值 |
round(x[,n]) | 返回浮点数x的四舍五入值,n代表舍入到小数点后的位数 |
divmod(x,y) | 返回x和y的商和余数 |
字符串
引号
表示形式:(三引号表示多行文本)
单引号:'abc'
双引号:"hello"
三引号:'''hello
world '''
转义字符
符号 | 含义 |
---|---|
\ | 反斜杠符号 |
' | 单引号 |
" | 双引号 |
\a | 响铃 |
\b | 退格(Backspace) |
\n | 换行 |
\v | 纵向制表符 |
\t | 横向制表符 |
\r | 回车 |
\f | 换页 |
\ooo | 最多三位 八进制,例如:\12代表换行 |
\xyy | 十六进制数,yy代表的字符,例如:\x0a代表换行 |
运算符
“+” 表示连接字符串
“*” 表示复制字符串
索引
>>> s = "emptinessboy"
>>> s[0]
'e'
>>> s[-1]
'y'
>>> s[0:3]
'emp'
>>>
[::-1]可以用来反转序列
例子:提取温度符号C前面的数字
用户输入 26C 则返回 26 ,用户输入 8C 则返回 8
>>> s = "26C"
>>> s[0:-1]
'26'
>>> s = "8C"
>>> s[:-1]
'8'
>>>
“:” 的前后可以省略,前面省略则为从头开始,后面省略则为到最后一个
格式化
传统方法 %
类似 Java,略有不同
( “%.2f” % (参数1, 参数2, ……) )
新方法
语法:
模板字符串.format(参数1,参数2 ……)
format() 方法的基本使用:
模板 | 方法 |
---|---|
: | 引导符号 |
<填充> | 用于填充的单个字符 |
<对齐> | <左对齐 >右对齐 ^居中对齐 |
<宽度> | 槽的设定输出宽度 |
, | 数字的千位分隔符适用于整数和浮点数 |
<.精度> | 浮点数小数部分的精度或字符串的最大输出长度 |
<类型> | 整数类型 b, c, d, o, x, X 浮点数类型 e, E, f, % |
# 使用模板字符串
>>> s = "{} is {} years old"
>>> s.format("Emptinessboy",20)
'Emptinessboy is 20 years old'
# 使用名称
>>> s = "{name} is {age} years old"
>>> s.format(name="Emptinessboy", age=20)
'Emptinessboy is 20 years old'
# 控制精度
>>> a ,b = 6, 6.66
>>> s = "a={:2d},b={:.1f}"
>>> s.format(a,b)
'a= 6,b=6.7'
>>> s = "a={:<5d},b={:<5.1f}"
>>> s.format(a,b)
'a=6 ,b=6.7 '
特殊方法
str.find() 方法检测字符串中是否包含指定子字符串 ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。
语法:
str.find("要查找的子字符串", beg=0, end=len(string))
str.strip() 方法可以去除字符串中的空格
str.upper() str.lower() 方法可以改变大小写
is类函数可以判断是否为某种类型:
isdigit() 判断是不是数字
如果要判断中文数字或者罗马数字 则需要使用isnumeric
res = 'Jason 666 heiheihei'
res.islower() # False 判断字符串是否是全小写的
res.isupper() # False 判断字符串是否是全大写的
res.istitle() # False 判断字符串英文单词是否都是首字母大写的
列表合成字符串 join()
前提是列表内本身就是字符串
>>> t = ["hi","/","emptinessboy"]
>>> ' '.join(t)
'hi / emptinessboy'
内置函数
转换函数
函数名 | 含义 |
---|---|
bool() | 根据传入的参数的逻辑值创建一个新的布尔值 |
int() | 根据传入的参数创建一个新的整数 |
float() | 根据传入的参数创建一个新的浮点数 |
complex() | 根据传入参数创建一个新的复数 |
str() | 创建一个字符串 |
ord() | 返回Unicode字符对应的整数 |
chr() | 返回整数所对应的Unicode字符 |
bin() | 将整数转换成2进制字符串 |
oct() | 将整数转化成8进制数字符串 |
hex() | 将整数转换成16进制字符串 |
list() | 根据传入的参数创建一个新的列表 |
示例:
>>> int("1a",16)
26
>>> int("10",8)
8
>>> int(" 10 ")
10
>>> int(10)
10
>>>
随机函数库 random
要使用random库,先要用 “import random” 语句引入 random 库。
import random
random 库的常用函数
函数名 | 含义 | 示列 |
---|---|---|
random.random() | 返回一个介于左闭右开[0.0, 1.0)区间的浮点数 | random.random() |
random.uniform(a, b) | 返回一个介于【a,b】的浮点数。 | random.uniform(1,10) |
random.randint(a,b) | 返回【a,b】的一个随机整整。 | random.randint(15,30) |
random.randrange([start], stop, [step]) | 从指定范围内,获取一个随机数 | random.randrange(10, 30, 2) |
random.choice(sequence) | 从序列中获取一个随机元素 | random.choice([3,78,43,7]) |
random.shuffle(x) | 用于将一个列表中的元素打乱,即将列表内的元素随机排列 | random.shuffle(l) , l是序列 |
random.sample(sequence, k) | 从指定序列中随机获取长度为k的序列并随机排列 | random.sample([1,4,5,89,7],3) |
random.seed(n) | 对随机数生成器进行初始化的函数,n代表随机种子。参数为空时,随机种子为系统时间 | random.seed(2) |
序列操作函数
max() 可以从一个序列中返回序列中的最大值
min() 可以从一个序列中返回序列中的最小值
len() 可以求序列长度

This blog is under a CC BY-NC-ND 4.0 Unported License
本文链接:https://coding.emptinessboy.com/2020/06/Python-%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B002%EF%BC%88%E6%95%B0%E6%8D%AE-%E6%B5%81%E7%A8%8B%EF%BC%89%E4%B8%8A/