Python学习 基本数据类型
程序员文章站
2022-04-07 17:29:16
...
python基础-基本数据类型
重新做人系列 拒绝瞎操作
一、进制转换
- 十进制:逢10进1,1,2,3,4,5,6,7,8,9,10,11······
- 二进制:逢2进1, 001,010,011,100,101,110,111······
- 八进制:逢8进1,1,2,3,4,5,6,7,10,11,12,13,14,15,16,20······
- 十六进制:逢16进1,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
- 二进制 -> 十进制:10010010 -> 146,2**7+2**4+2**1
- 二进制 -> 八进制:10010010 -> 0o222, 10(2) 010(2) 010(2)
- 二进制 -> 十六进制:10010010 -> 0x92, 1001(9) 0010(2)
二、数据类型
三、标识符和关键字
- 标识符由字母、下划线和数字组成,且数字不能开头。
- 标识符是区分大小写的:Andy != andy。
- 命名规则:见名字知意。
- 小驼峰式命名法(lower camel case): 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aCat。
- 大驼峰式命名法(upper camel case): 每一个单字的首字母都采用大写字母,例如:FirstName、LastName。
- 还有一种命名法是用下划线“_”来连接所有的单词,比如send_buf。
- 关键字是已经被python预定义,且具有特殊含义的标识符,不允许开发者自行定义和关键次相同名字的变量,否则会引起程序错误。
注:如何在python中查看关键字?
>>> import keyword
>>> keyword.kwlist
四、python中的输出
(一)占位符
>>> age = 10
>>> print('我今年%d岁了'% age)
我今年18岁了
(二)转义符
1. 可以用反斜杠对双引号进行转义。
>>> print("I l\"o\"ve you")
I l"o"ve you
2、可以用单引号引起这个字符串。
>>> print("I l'o've you")
I l'o've you
- 式符号和格式化操作符辅助命令
格式符号 | 转换 |
---|---|
%s | 通过str() 字符串转换来格式化 |
%d | 有符号十进制整数 |
%o | 八进制整数 |
%x | 十六进制整数(小写字母) |
%X | 十六进制整数(大写字母) |
%e | 索引符号(小写’e’) |
%f | 浮点实数,浮点数默认取小数点后六位,要标明.2f |
%G | %f和%E的简写 |
m.n | m显示最小总宽度,n是小数点后的位数,“。是小数点” |
- | 用于左对齐 |
+ | 在正数前面显示“+”号 |
# | 在八进制前显示0o,在十六进制前显示0x |
0 | 显示的数字前面填充“0”取代空格 |
1. 用format()格式化str1
>>> str1 = "{a} love {b}.{c}"
>>> print(str1.format(a = "I", b = "you", c = "com"))
I love you.com
2、如果为{0},{1},{2}则默认,不用说明。
>>> str1 = "{0} love {1}.{2}"
>>> print(str1.format("I", "you", "com"))
I love you.com
3、怎么显示PI = 3.14,用format前面字符串怎么写?
>>> print("{0}{1:.2f}".format("PI = ",3.1415926))
PI = 3.14
- 1
五、运算符
(一)算数运算符
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 | 两个对象相加 a + b 输出结果 30 |
- | 减 | 得到负数或是一个数减去另一个数 a - b 输出结果 -10 |
* | 乘 | 两个数相乘返回一个被重复若干次的字符串 a * b 输出结果 200 |
/ | 除 | b / a 输出结果 2 |
// | 取整除 | 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0 |
% | 取余 | 返回除法的余数 b % a 输出结果 0 |
** | 指数 | a**b 为10的20次方, 输出结果 100000000000000000000 |
算数运算符的优先级: * > / % // > + - 有括号要先算括号里面的
(二)赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
+= | 加法赋值运算符 | c += a 等效于 c = c + a |
-= | 减法赋值运算符 | c -= a 等效于 c = c - a |
*= | 乘法赋值运算符 | c = a 等效于 c = c a |
/= | 除法赋值运算符 | c /= a 等效于 c = c / a |
%= | 取模赋值运算符 | 返c %= a 等效于 c = c % a |
**= | 幂赋值运算符 | c = a 等效于 c = c a |
//= | 取整除赋值运算符 | c //= a 等效于 c = c // a |
(三)比较(即关系)运算符
运算符 | 描述 |
---|---|
== | 检查两个操作数的值是否相等,如果是则条件变为真。 |
!= | 检查两个操作数的值是否相等,如果值不相等,则条件变为真。 |
> | 检查左操作数的值是否大于右操作数的值,如果是,则条件成立。 |
< | 检查左操作数的值是否小于右操作数的值,如果是,则条件成立。 |
>= | 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立。 |
<= | 检查左操作数的值是否小于或等于右操作数的值,如果是,则条件成立。 |
(四)逻辑运算符
运算符 | 逻辑表达式 | 描述 |
---|---|---|
and | x and y | “与”:如果 x 为 False,x and y 返回 False,否则它返回 y 的值。 |
or | x or y | “或”:如果 x 是 True,返回 True,否则它返回 y 的值。 |
not | not x | “非”:如果 x 为 True,返回 False 。如果 x 为 False,返回 True。 |
1、逻辑运算符优先级:not > and > or
2、在Python中True为1,False为0
3、台条件里,只要不为0,条件都成立。
六、数据类型转换
函数 | 转换 |
---|---|
int(x [,base ]) | 将x转换为一个整数 |
float(x) | 将x转换为一个浮点数 |
complex(real [,imag ]) | 创建一个复数,real为实部,imag为虚部 |
str(x) | 将对象 x 转换为字符串 |
repr(x) | 将对象 x 转换为表达式字符串 |
eval(str) | 用来计算在字符串中的有效Python表达式,并返回一个对象 |
tuple(s) | 将序列 s 转换为一个元组 |
list(s) | 将序列 s 转换为一个列表 |
chr(x) | 将一个整数转换为一个Unicode字符 |
ord(x) | 将一个字符转换为它的整数值 |
hex(x) | 将一个整数转换为一个十六进制字符串 |
oct(x) | 将一个整数转换为一个八进制字符串 |
bin(x) | 将一个整数转换为一个二进制字符串 |
1、把str1转化为八进制数的整形
>>> str1 = '10'
>>> num = int(str1, 8)
8
2、复数的用法
>>> c1 = 10 + a4
>>> c2 = complex(10, 4) # c1和c2显示的结果一样
3、repr() 括号中不管是什么类型,都能转为为字符串。
>>> a = 10
>>> repr(a)
'10'
4、eval() 把字符串形式还原成为原来的类型
>>> a = '[1,2,3]'
>>> eval(a)
[1,2,3]
5、十六进制数转化成十进制数
>>> a = '0xa'
>>> b = int(a, 16)
10
>
七、补充
- 如何在python中四舍五入?
>>> a = 5.4
>>> b = 5.9
>>> c = int(a+0.5)
>>> d = int(b+0.5)
- 计算出 not 1 or 0 and 1 or 3 and 4 or 5?
1、python中and是从左到右计算表达式的,则都为真,则返回最后一个值,若为假,则返回第一个假的值。
>>> -1 and -2
-2
>>> -1 and 0
0
>>> 0 and -1
0
2、python中的or也是从左到右计算表达式的,谁先为真取谁。
>>> -1 or -2
-1
>>> 0 or -2
-2
-
运算符排序
幂运算 > 正负号 > 算术运算符 > 比较运算符 > 逻辑运算符、 -
位运算
①&按位与:全1才1,否则0. 任何数&1为0,&0为0
② | 按位或: 有1就1,都是0才为0,任何数 | 0 都为任何数。
③^按位异或:不相同为1,相同为0
④~按位取反:~9 = 10 n取~ 为 ~(n+1) -
如何快速完成乘法和除法运算
①<<按位左移: 快速完成乘法 5 << 1 左移一位乘以2
②>>按位右移:快速完成除法 5 >> 1 右移一位地板除2
上一篇: python实现五子棋游戏
下一篇: c语言类型浅谈