python学习笔记:1、变量和简单数据类型
1.1变量
定义1:变量,指在计算机编程中与关联的标识符配对的内存存储位置,在使用时含相关类型的值,其值可以修改。
注意:在Python语言中,变量在指定的同时,必须强制赋初始值,否则解释器报错。
>>>a #a变量未赋值,解释器认为非法,报未定义出错
>>>a=0 #a变量赋予初始值0,解释器执行通过
1.多个变量赋值
Python允许同时多个变量赋值
>>>one=two=three=10
>>>print(one,two,three) #print函数允许多值打印输出,用逗号分隔变量
10 10 10 #print输出值
或
>>>one,two,three=10,10,10
>>>print(one,two,three) #print输出值也为连续的三个10
2.变量值类型
Python语言变量值的类型在赋值后才被隐形确定。例如a=0,那么0就是整数类型的值;a=‘OK’,那么OK就是字符串类型的值;a=True,那么True就是布尔类型的值。
Python语言的基本变量类型包括字符串(String)、数字(Numeric)、列表(List)、元组(Tuple)、字典(Dictionary)五大类。
1.2字符串
定义2:字符串,由任意字节的字符组成,用单引号(’)、双引号(’’)或三引号(’’’)成对表示。
正确字符串使用方式
>>>name='Tom'
>>>name1="Jerry"
>>>name2='''Sreck'''
或者
>>>name,name1,name2='Tom',"Jerry",'''Sreck'''
字符串中可以包含换行符、制表符以及其他特殊字符
1.2.1字符串基本操作
1.字符串值读取
正向递增序号:利用下标字符串从0开始,后续为1、2、3…
反向递减序号:从最后一位-1开始,依次为-2,-3,-4……
(1)单下标读取:[下标]。
>>>name='Tom is a cat!'
>>>name[1]
o
(2)切片:[左下标:右下标]。(左下标到右下标但不包含最后一个字符)
>>>name[4:6]
is
(3)带冒号省略下标方式切片:[:右下标][左下标:][:]。
>>>name[:3]#读取下标为0~3的字符
Tom
>>>name[:]#读取整个字符串
>Tom is a cat!
(4)带步长的切片读取:[左下标:右下标:步长]。
步长:相当于间距
>>>name[::2]
'Tmi a!'
(5)负数下标读取:用负数下标从右到左读取对应的字符串值。
>>>name[-1]
!
>>>name[-4:-1]
cat
2.字符串合并(用加号进行合并)
>>>name='Tom'
>>>job='teacher'
>>>record=name+','+job
>>>print(record)
'Tom,teacher'
3.字符串值修改
>>>name='Three cool cat'
>>>new_name=name[:11]+'dogs'
>>>print(new_name)
'Three cool dogs'
上述字符串值得修改,是通过读取子字符串合并的方式实现的。不能直接对字符串进行修改操作。
4.字符串值删除
整个字符串值得删除
>>>del(name)
del(x)函数删除内存中一个指定的对象,x可以是字符串、数字、列表、元组、字典、类等。
1.2.2其他常用操作
1.获取字符串长度
用len函数可以获取字符串的长度(len(x)函数返回一个对象的长度,其中x可以表示字符串、列表、元组、字典)
2.r/R原始字符串控制符号
>>>print('C:\back\name') #字符串里含特殊转义符号,\b和\n
C:ack #没有使用r情况下,\b转为了退格符,实现了退一格的效果
ame #\n转为了换行符,实现其后字母的换行显示
>>>print(r'C:\back\name')
C:\back\name #在使用r符号情况下,字符串原样输出,特殊转义符不起作用
3.重复输出字符串(*)
>>>print('Cat'*2) #重复显示两个Cat,2*'Cat'与'Cat'*2等价
CatCat
4.格式字符串(%)
>>>age=10
>>>printf("Tom's name is %d"%(age)) #%d为格式化整数
Tom's name is 10
1.3数字和运算符
1.3.1算术运算符
较C语言不同的运算符
** 幂 返回x的y次幂
// 取整数 返回商的整数部分
1.3.2整数
1.加、减、乘、除运算
运算优先级与数学里的是一样的
2.取模、幂、取整除运算
幂的优先级最高,其次为乘、除、取模、取整,再次为加、减
1.3.3浮点数
由于计算机内存中存储浮点数的位数有限,所以超过指定长度后,末尾将采取近似值处理。因此,浮点数不一定是精确值
1.3.4复数
我们可以通过(x).real检测复数实部
(x).imag检测复数虚部(其中x表示一个复数)
1.3.5布尔
用于逻辑判断
1.3.6二进制
用Ob开始表示二进制数
bin()函数把十进制数转为二进制数
& 按位与运算符
| 按位或运算符
^ 按位异或运算符
~ 按位反转运算符 将二进制数+1之后乘以-1
<< 右移动运算符
>> 左移动运算符
1.4数据类型转换
complex(x,y)转化为复数函数
str(x)转化为字符串函数
bin(x)转化为二进制函数
oct(x)转化为八进制函数
hex(x)转化为十六进制函数
chr(x)十进制数转为ASCII字符
ord(x)ASCII字符转为十进制数