python编程基础-学习笔记入门篇-运算符与基本数据类型

1.基本运算符

1.1算术运算符

  基本的加减乘除分别对应‘+’、‘-’、‘*’、‘/’
特殊算术运算符:
  取模(余):%,返回商的余数
  幂:**,返回x的y次幂
  取整://,返回商的整数部分

3%2#输出1
2%7#输出2
2**3#输出8
7//2#输出3
-7//2#输出-4
'''
这里要注意一下,python通常是向左取整的,并不是四舍五入
'''

1.2比较运算符

  比较运算符比较的结果为布尔值,即True和False
  通常的比较运算符有:
等于:==
不等于:!=
大于:>
小于:>
大于等于:>=
小于等于:>=
举个例子:

3==3#结果为False
3!=2#结果是True
1>2#结果False

1.3赋值运算符

=,直接赋值
赋值运算符就是在上述七个算术运算符基础上加个‘=’,如y+=x就相当于y=y+x、y/=x相当于y/x。

x,y=1,2
y%=x

1.4逻辑运算符

  与:and,如果前面的x为0或者False,那么x and y 不管y为何值,一定返回前面的0/False,若前面的x为其他值,则x and y返回y的值
  或:or,如果x不是0或者False,x or y则返回前面的x值,否则返回后面的y值
  非:not,只有当x为0或者False时,not x返回True,否则一律返回False。
举例:

0 and 3#返回0
False and 3#返回False
1 and 3#返回3
0 or 3#返回3
1 or 3#返回1
not 0#返回True
not 5#返回False

1.5位运算符

  位运算符是按照二进制来的,因此使用位运算符的两个变量必须为数值型数据。以8和3两个数字举例,常见位运算符如下:
  按位与:&,参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0。
  按位或:|,只要对应的两个二进位有一个为1时,结果位就为1。
  按位异或:^,当两对应的二进位相异时,结果为1
  按位取反:~,对数据的每个二进制位取反,即把1变为0,把0变为1
  左移:y<<x,把y的各二进位全部左移x位。移位时高位丢弃,低位补0
  右移:y>>x,把y的各二进位全部右移x位。

x,y=8,3#8=0000 1000,3=0000 0011
x & y#返回0000 0000,输出0
x | y#返回0000 1011,输出11
x ^ y#返回0000 1011,输出11
~x#返回1111 0111,输出-9,-9的二进制编码是9的二进制编码(0000 1001)的反码(1111 0110)+1
x<<y#返回0100 0000,输出64
x>>y#返回0000 0001,输出1

1.6成员运算符

  in:如果在指定位置找到了值,则返回True,否则返回True
  not in:反之,如果在指定位置没找到值,则返回True
  例:

'w' in 'world'#返回True
'R' in 'world'#区分大小写,返回False
1 not in [1,2,3,4,5]#返回False

1.7身份运算符

  is:用于判断两个标识符是不是引用自同一个对象,是返回True。
  not is:判断两个标识符是不是引用自不同对象,不是返回True。
  is与比较运算符==含义很像,区别是is是判断引用的对象是不是占用同一块内存空间。比较的是对象的id,而 ‘= =’比较的是值
  例:

x=y=[1,2,3]
z=[1,2,3]
x is y#返回True
x == z#返回True
x is z#返回False

1.8运算符优先级

优先级从上到下:

**~                                       按位取反
*  /  %  //                             乘除运算
+ -                                     加减法
>> <<                                   左移右移
&                                       按位与
^ |                                     按位异或、按位或
<=   >=    <   >                        比较运算
==   !=                                 等于运算
= %= /= //= -= += *= **=                赋值运算
is / is not                             身份运算
in /not in                              成员运算
not/and/or                              逻辑运算

2.python六大基本数据类型

2.1 String(字符串)

  Python中的字符串可以用’单引号’ ,“双引号” 或者’’‘三引号’’'括起来。同时使用反斜杠 \ 转义特殊字符,前面加‘r’不发生转义,具体哪些转义字符见:点这,转载于博客园
  Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。
  Python 字符串不能被改变。向一个索引位置赋值,比如str[0] = 'm'会导致错误。

str = 'Hello'

print (str)          # 输出字符串
print (str[0:-1])    # 输出第一个到倒数第二个的所有字符
print (str[0])       # 输出字符串第一个字符
print (str[2:5])     # 输出从第三个开始到第五个的字符
print (str[2:])      # 输出从第三个开始的后的所有字符
print (str + " World") # 字符串可以用+运算符连接在一起,用*运算符重复。
print (str * 2)      # 输出字符串两次,也可以写成 print (2 * str)
print('wo\nrld')       #以\n为记号换行
print(r'wo\nld')      #把\n当字符串输出

运行结果如下:

>>>Hello
>>>Hell
>>>H
>>>llo
>>>llo
>>>Hello World
>>>HelloHello
>>>wo
   rld
>>>wo\nld

2.2 Numbers(数字)

  python支持四种不同数字类型:
    int:整数
    float:浮点数
    bool:布尔类型,True和Flase,1和0
    complex:complex(a,b)表示a+bi。a,b都是浮点数,bi是虚部。
  在不同类型的值计算前,需要进行类型转换。混合计算时,python会自动把整型数据转化为浮点数据。

2.3 List(列表)

列表用[ ]进行标识,列表的数据项不需要具有相同的类型,支持、字符、列表、元组。列表的索引、切片方式与字符串一样,同样也可以用+进行拼接。

list=[0,1,2,3]
list=['a','b','c']
list=[0,1,'a']
list=[0,1,2,['a','b'],3]#此时列表长度为5

  列表的基本操作:
  增:append/insert
    区别:append增加在列表尾部,insert可以通过参数选择插入下标。
   删:pop,删除尾部元素
   改:直接重新赋值
   查:索引下标

list=list.append(1#在列表list中加入元素1
list=list.insert(1,2#在第二位插入元素2
list=list.pop()#删除最后一个元素
list[2]='a'#修改第三位为‘a’
list[3]#查看列表第4个值
list[3][0]#输出‘a’,以上面最后一个嵌套列表List为例。

2.4 Tuple(元组)

  元组用( )标识,支持、字符、列表、元组,可以嵌套。元组不能修改,查找方法与列表相同

2.5 Set(集合)

  集合用{ }标识。支持字符、数字以及元组,集合不能修改,因此集合里面不能有列表,也不可以集合嵌套。
  集合的基本操作:
    增:add,
    删:remove,
    查:由于集合是无序的,所以集合不能索引,因此通过成员运算符‘in’查找

set.add('a')
set.remove('b')
'c' in set#返回布尔类型数据

2.6 Dictionary(字典)

  字典也由{}标识,由索引key和对应的value组成,字典是一种映射类型,它的元素是键值对。
  字典的关键字必须为不可变类型,且不能重复,重复则会覆盖原有value值。
  字典的基本操作:
    增:增加键值对
    删:删除键值对
    改:对应key值改value值
    查:通过get

dict = {'a':1, 2:[0, 1, 'b']}#创建字典
dict.keys()#输出所有键
dict.values()#输出所有值
dict[3]=4#增加一个键值对,输出:{'a': 1, 2: [0, 1, 'b'], 3: 4}
dict['a']=8#改,输出:{{'a': 8, 2: [0, 1, 'b']}}
dict.get(2)#输出键名是2的value

2.7 数据类型转换

  在python中,基本数据类型的转换只需要将数据类型作为函数名。例如,将
变量名为a元组tuple转换为list只需要list(a)就可以了。
  转化时还可加入参数,list(str.split(’ '))以空格为分隔符转换列表。
  注:列表转化为字典的时候,必须要有两个,要以zip函数将两个list分别对应划为key和value。例:dict(zip(keylist,valuelist))
  在数据分析中,常常会使用pandas与numpy库,因此最常用的往往是DataFrame、ndarry、Series,我在写代码过程中,常常会由于这个数据类型不对报错,在后面讲pandas与numpy会详细写。

  • 9
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九七不会用python

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值