欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python学习 基本数据类型

程序员文章站 2022-04-07 17:29:16
...

python基础-基本数据类型  

重新做人系列  拒绝瞎操作

一、进制转换

  1. 十进制:逢10进1,1,2,3,4,5,6,7,8,9,10,11······
  2. 二进制:逢2进1, 001,010,011,100,101,110,111······
  3. 八进制:逢8进1,1,2,3,4,5,6,7,10,11,12,13,14,15,16,20······
  4. 十六进制:逢16进1,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
  5. 二进制 -> 十进制:10010010 -> 146,2**7+2**4+2**1
  6. 二进制 -> 八进制:10010010 -> 0o222, 10(2) 010(2) 010(2)
  7. 二进制 -> 十六进制:10010010 -> 0x92, 1001(9) 0010(2)

二、数据类型

Python学习 基本数据类型


三、标识符和关键字

  • 标识符由字母、下划线和数字组成,且数字不能开头。
  • 标识符是区分大小写的: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岁了

(二)转义符

Python学习 基本数据类型

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
*= 乘法赋值运算符 = a 等效于 c = c a
/= 除法赋值运算符 c /= a 等效于 c = c / a
%= 取模赋值运算符 返c %= a 等效于 c = c % a
**= 幂赋值运算符 = 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