Python常用运算符和常用数据类型

命名规范:

标识符:即我们自己在写代码的时候取得名字。命名的符号。

例如:项目名 project name  包名:package name  模块名即文件名:    .py

取名字(标识符)时的规范:由字母数字下划线组成,但是不能以数字开头。

命名时不同字母数字之间最好用下划线隔开,可提升代码的可读性   例如:test_0222

命名时不能用关键字   int   if   while

a=1   a为变量名  , 变量名也是标识符也要符合上述规范。

注释:

单行注释: ctrl+/   

多行注释:成对单引号、成对双引号、成对三个引号   ' '  " "  ''' ''' 

常见报错:

name ‘a’ is not defined(变量没有被定义,没有被赋值)

注:当要使用某个变量的时候要确定它已经被定义和赋值

Can't convert 'int' object to str implicitly(数据类型不一致)

数据类型:

数据类型分为:整型和浮点型

整形:int    例如   a=10

浮点数:float    例如   a=10.0

可直接进行加减乘除,例如:print(a+20)

布尔值:bool   boolean       True和False首字母必须大写

字符串:str     成对的单引号、双引号、三引号都是字符串

s=1是整形   str(s)则强制转化为字符串类型

type(数据)函数是查看数据类型的,例如   a=“1”    print(type(a))

len(数据)函数是用来统计数据的长度,例如s=‘hello!’   print(len(s))

字符串里的元素:单个字母、数字、汉字、单个符号都称之为元素。

例如:s=‘hello!’    里面有六个元素

字符串取值:字符串名[索引值]    例如:s=‘hello!’   字符串s的第5个元素就是“!”,print(s[5])和print(s[-1])打印出来就是‘!’

索引:python索引正序是从0开始标记的(例如:0,1,2,3,4,5),返序是从-1开始的(例如:-1,-2,-3,-4,-5)

字符串取多个值:切片   字符串名[索引头:索引尾:步长]    步长默认为1  例如:print(s[1:5:1])   1 2 3 4 5取头不取尾即输出为‘ello’   print(s[1:5:2])   1 3 5 即输出为‘el’

print(s[:])这个是从正无穷取到负无穷

将s=hello!输出为倒序,即print(s[-1:-7:-1])和print(s[::-1])

字符串的分割:字符串.split()    列表里的子元素都是字符串类型      返回的则是一个列表类型的数据

指定的切割符  例如 print(s.split('l'))  则输出['he','','o!']

指定切割次数  例如  print(s.sprint('l',1))  l切割1次输出为[helo!]   

print(s.sprint('l',2)) l被切割2次输出为[heo!]

字符串的替换:  字符串.replace(指定替换值,新值)

例如:s='hello!'     new=s.replace('l','@')      print(new)则输出he@@o!

字符串去除指定字符:   字符串.strip(指定字符)   只能去掉头和尾的指定字符

print(s.strip()) 则默认去掉空格   

例如:s='hello!'    print(s.strip(‘h’))则输出ello

字符串拼接:  用+号拼接   要保证 + 号左右两边的变量值类型要一致

例如:a=‘张三’  b=‘你好’  print(a+b) 则输出 张三你好

字符串格式化输出:    % format  

格式化输出1:format 用{}来占坑

例如:name='张三'   age=18   print('今年{}{}么?'.format(name,age)) 则输出为 今年张三18么?

name='张三'   age=18   print('今年{1}{0}么?'.format(name,age)) 则输出为 今年18张三么?

格式化输出2:用%来占坑   %s字符串  %d数字   %f浮点数

例如:name='张三'   age=18   print('今年{%s}{%d}么?'%(name,age)) 则输出为 今年张三18么?

%s可以填任何数据

%d只能填数字  整型   浮点数

%f可以填数字

%d保留整数部分

name='张三'   score=99.99   print('{%s}考了{%d}分'%(name,score)) 则输出为 张三考了99分

%f自动补小数点后6位

name='张三'   score=99.99   print('{%s}考了{%f}分'%(name,score)) 则输出为 张三考了99.9900分

.几f则小数点后保留几位,例.3f

name='张三'   score=99.99   print('{%s}考了{%.3f}分'%(name,score)) 则输出为 张三考了99.990分

 列表 list  符号[ ]

a=[ ]    可以存在空列表,列表里面可以包含任何类型的数据,列表里面的元素根据逗号进行分隔

例如:a=[1,0.02,'hello',[1,2,3],True] 列表a一共有5个元素。    

如果要存储的数据是同一个类型的建议用列表

往列表里增加数据:append    添加在末尾,只能添加一个数据  ,可以添加任何类型数据

例如:a[1,2,3]    a.append('4')    print(a)输出为[1,2,3,4]

insert  插入数据   要根据索引指定位置插入

例如:a[1,2,3]    a.insert('3')    print(a)输出为[1,2,3,4]

删除   pop()根据索引删除某个元素,什么都不填默认删除最后一个元素,    

例如:a=[1,2,3,4]     a.pop(2)    print(a)输出为[1,2,4]

a=[1,2,3,4]    a.pop()    print(a)输出为[1,2,3]

remove()指定删除某个值

例如:a[‘张三’,‘李四’,‘王五’]     a.remove(‘张三’)    print(a)输出为['李四',‘王五’]

res=a.pop()    会返回被删除的那个元素      函数return关键字

a=['张三','李四','王五']       b=a.pop(1)      print(b)   则输出为[‘张三’,[‘王五’]

修改     a[索引值]=新值

例如:a=['张三','李四','王五']     a[2]='小明'    print(a)输出为[‘张三’,'李四','小明']

元组tuple   符号()   可以存在空元组 例如a=()

元组里面可以包含任何类型的数据

元组里面的元素根据逗号来进行分隔

获取元组里面的单个值:  元组[索引值]    例如:a=('张三','李四','王五')    print(a[2])输出为王五

元组一般用来操作数据库的时候会存放条件,元组不支持任何修改

字典 dict    符号{ }   大括号,花括号   输出无顺序   字典里的key必须是唯一的

可以存在空字典a={}

字典里面数据存储方式:key:value

字典里面的value可以包含任何类型的数据

字典里面的元素  根据逗号来进行分隔

例如:a={'name':'张三','age':'8岁','class':'3年级'}

字典取值:    字典[key]

例如:print(a['name'])  输出为张三

删除:   pop[key]

例如:a.pop('name')    print(a)输出为'age':'8岁','class':'3年级'

b=a.pop('name')    print(b)输出为'张三'

新增:  a[新key]=value

例如:a={'name':'张三','age':'8岁','class':'3年级'}   a['体重']='65kg'

print(a)  输出为{'name': '张三', 'age': '8岁', 'class': '三年级', '体重': '65kg'}

修改: a[已存在的key]=新value

例如:a={'name':'张三','age':'8岁','class':'3年级'}   a['class']='四年级'

print(a)  输出为{'name': '张三', 'age': '8岁', 'class': '四年级'}

运算符:5大类

算数运算符:+  -   *    %

模运算/取余运算:      一般用来判断某个数是奇数还是偶数

例:a=4   print(a%2)  若输出为0则是偶数,反之是奇数

赋值运算符:   =     +=     -=

把左边的值赋值给右边就叫赋值运算,例如a=5

若a=5   a+=5   则print(a)输出为10    相当于a=a+5

若a=5    a-=2   则print(a)输出为3      相当于a=a-2

比较运算符:>   >=    <     <=    !=    ==  6种运算符

若a=10   b=5     print(a>b)   则输出True

逻辑运算符: and   or     拓展:not

and的左右两边结果都为真才为真,只要有一个为假就为假

or的左右两边结果都为假才为假,只要有一个为真就为真

逻辑运算符返回的值也是布尔值    

成员运算符: in     not in

返回值也是布尔值

例如:s=‘hello’   print(‘o’  in   s) 则输出为True

例如:d=[1,2,3]   print(‘1’  in   d) 则输出为True

例如:t={'age':'30','name','张三']   print(‘age’  in   t) 则输出为True      字典的判断主要是key

控制语句:分支分流

循环语句  for  while

判断语句   if   elif    else

当if后面的语句满足条件,运算结果是True ,那么就会执行他的子语句

例如:

age = 20

if  age>18

      print(“恭喜你,成年了”)

则输出   恭喜你,成年了

if条件语句(比较/逻辑/成员运算  均可)  

用字符串、元组、列表、字典去控制   空数据 ==False  非空数据==True

例如:  a=[]   if  a:print(‘你好’)则不会执行,无输出

若: a=[1]   if  a:print(‘你好’)则输出为  你好

直接用布尔值去控制

例如:if  True:   print(‘你好’)  则输出为    你好     

if   条件语句           一个条件语句里面只能有一个if和一个eles     eles后面不能添加条件语句

     子语句

eles:

     子语句

例如:age=20

          if     age>=18:

          print('成年')

          else:

          print(‘未成年’)

if   条件语句           if   elif可以加条件语句     else后面不能添加条件语句

     子语句

elif  条件语句

     子语句

else:

     子语句

例如:age=20

          if     age>=18:

          print('成年')

          elif   0

          print('未成年')

          else:

          print(‘您输入的年龄有误’)

Random随机数

例如:从1-9生成随机数,然后输入一个数字跟这个随机数比较,若大于,则打印bigger,若小于则输出less

import random

a=random.randint(1,9)

b=int(input('请输入数字'))

if a

print('bigger')

elif a>b:

print('less')

循环   for    while

for循环:

for  item  in   某个数据类型:(数据类型包含:字符串、列表、元组、字典、集合)

for循环的循环次数由数据的元素个数决定

例如:

a=[1,2,3,4,5]

for  b  in  a:      for循环遍历a里面的元素    然后赋值给b

      print(b)

输出为:

1

2

3

4

5

如何变量a是字典的话的,则遍历的是key,返回的也是key

d={‘name’:‘小明’,‘age’:‘20’}

print(d.values())获取字典里面的所有values值

print(d.keys())获取字典里面的所有key值

for  item  in  d.values():

      print(item)遍历的是字典d里面的所有value值


range函数  生成整数序列

range(m,n,k)  m头,默认为0   n尾    k步长,默认为1,取头不取尾

例如:a=range(1,5,1)   print(list(a))输出为1,2,3,4

a=range(5)   print(list(a))输出为0,1,2,3,4

while   控制循环

while  条件表达式

         代码块

首先判断while后面的条件表达式是否成立,如果是True,那就执行代码块。执行完毕后继续判断

while后面的条件表达式,直到false为止。为防止代码进入死循环,需加一个变量来控制次数

例如:a=1

          while   a<=10:

                     a=a+1

循环10次

while 与 if 语句搭配使用  break  continue

使用函数可提高代码的复用性例如:

def Total(b):

a=0

    sum=0

    while a

a+=1

        sum=a+sum

print(sum)

Total(b=5)

Total(b=10)

动态参数/·不定长参数   *args   arguments

在函数内部体现为元组

def  make_sandwich(*args):

       print(args)

make_sandwich(‘生菜’、‘鸡蛋’、‘培根’、‘牛肉’)

关键字参数 key-value    **kwargs    key   word   必须加**

在函数内部体现为字典

def    kw_function(**kwargs):

         print(kwargs)

kw_function(x=1,y=2)

变量作用域、

全局变量   和局部变量

1、作用范围不一样    全局  在模块里面都能调用    函数的局部变量只能用于函数内

2、当全局和局部变量同名且同时存在的时候   函数优先调用局部变量

3、当局部变量没有   就优先用全局的

4、global声明一个全局变量

a=1 全局变量

def   add(b)

       a=5    局部变量

       print(a+b)

add(10)

输出结果为15

你可能感兴趣的:(Python常用运算符和常用数据类型)