python学习3:基础语法——变量&数据类型

变量:

注意项

  • 变量不需要声明,直接赋值使用。
  • 没有像js那样的自增自减(var i=0;i++ ,这种写法在python里不支持),要使用+= -=
  • 变量名由数字字母下划线构成,数字不开头。python的变量支持中文,但我们尽量不用。
  • 不能使用特殊字符 $ * # @ 等
  • 不能使用关键字和保留字(举个栗子,如def、pass、try等这些语法关键字不能作为变量名。这点跟其他语言一样,不多说了)
  • 严格区分大小写

变量赋值

  • a = 1
  • a = b = 1
  • a, b = 1, 2

小tips: python中俩个变量交换值:

a = 1
b = 2
a, b = b, a
# 此时,就完成了a,b俩个值的互换,即a的值变成了2,b的值为1

数据类型:

python一共六种数据类型,其中str、tuple为不可变的数据。
我们可以利用type()方法检测出数据的类型

字符串 str

  • 属于不可变数据
  • 声明方法:
    string1 = '单引号包起来的是字符串'
    string2 = "双引号里的也是字符串"
    '''我们也是字符串'''
    """我们还是字符串"""
    
  • 转义符 \
    # 试想这样一个场景,我们有如下一句代码:
    string = "小明说:“你好,python!”"
    # 这句里出现了俩对双引号,python怎么识别字符串的起止位置呢?所以我们这么写:
    string = "小明说:\"你好,python!\""
    # \ 在这里就起到了转义的作用,让它后面的双引号丧失了自己的原有作用
    
  • 字符串前缀:
    string1 = r'\t\r\n'  # 前缀r表示之后的字符串都为普通字符串,\的转义功能将失效
    string2 = u'u表示本段字符串将用unicode解码'
    string3 = b'b表示这段字符串是bytes(二进制)'
    
  • 字符串通过下标(偏移量)来访问每一个字符:
    string = "零一二三四五六七"
    print(string[2])   # 控制台打印结果为:二
    
  • 下标范围 < 字符串长度
  • 字符串切片
    string = '零一二三四五六七'
    slice1 = string[2:5:1]  # 2表示开始的下标,5表示结束的下标,1表示步长
    print(slice1) 
    # 控制台打印结果为:二三四  可见切片取头不取尾
    # 步长为1时我们可以省略不写,即上面的slice1可以省略为string[2:5]
    slice2 = string[5:2:-1] # 步长当然也可以为负数
    print(slice2)   #结果为:四三二
    
    # 留点作业,自己尝试一下吧:
    print(string[2:7:2])
    print(string[2:9:2])
    print(string[-2:2:-1])
    print(string[-5:-2])
    

数值

  • 类型:
整型 浮点型 复数
int() float()
  • 进制转换(将十进制转换为其他进制)

      bin(num) 十进制 -->二进制     
      oct(num) 十进制 --> 八进制    
      hex(num)  十进制 --> 十六进制    
    
  • 浮点型控制小数位数:.

      %0.2f
      round(float,位数)
    
  • 类型转化

     字符型、浮点型 --> 整型   int()
     字符型、整型 --> 浮点型	float()
    
    string = '123'
    int1  = int(string)   # int1 = 123
    float1 = float(string)   # float1 = 123.0
    int2 = int(float1)   
    float2 = float(int1)
    

列表 list

  • 属于可变数据
  • 定义:储存一系列相关数据的集合,相当于js里的数组
  • 列表可以存储任意数据类型
  • 下标范围小于列表长度
  • 可以使用切片(参见字符串切片)
  • 声明方法:
    list1 = [1, 2, 3, 4, 5]
    list2 = ['a', 'b', 'c']
    list3 = [1, 'a', [2, 3]]
    list4 = [list1, list2, list3]
    list5 = list('123456')
    
  • 常用内建函数:

    内建函数:指python自身已经封装好的方法(函数)。

    list.append(item)   在末尾插入item     
    list.insert(index,item)   在index位插入item         
    list.pop(index)   删除            
    list.remove(item)list中删除item    
    del list[index]   删除list的第index个    
    list.clear()    清空    
    list.copy()     浅拷贝
    list.count(item)     计数,有多少个item     
    list.extent(list1)         扩展,扩充,把list1的内容放到list    
    list.index(item)    返回item的下标    
    list.reverse()      倒排,反转    
    list.sort()     升序。(降序需要再执行一次reverse())   
    推导式:[表达式 for 元素 in 序列 《if 条件》]
            arr1=[1,2,3,4,5,6]    
            arr2=[item*2 for item in arr1 if item<4]    
            print(arr2)    
    生成式:(表达式 for 元素 in 序列 《if 条件》)     
            数组只是作为一个算法存在内存中,需要用到的时候才生成出来
    # 推导式和生成式在之后的博客中会进行详细讲解,此处只做了解。
    

元组 tuple

  • 不可变数据。(相当于不可变得列表)
  • 创建一个元组:
    tuple1=1,2,3,4)    
    tuple2=[1,2],[3,4])    
    tuple3=()    
    tuple4=1,#单位数的元组要加逗号    
    tuple5=1,2,3,4    
    tuple6=tuple([1,2,3,4])  
    
  • 常用内建函数:
    tuple.index(item)   #返回item首次出现的下标
    tuple.count(item)   #查找item有几个
    

字典 dict

  • 可变数据。
  • 在js里叫对象,json格式
  • 创建一个字典:
    dict1={`name`:'牛巨侠'}
    dict2=dict(name='牛巨侠',age=18)
    dict2=dict(['name','age'],['牛巨侠','18'])
    dict.fromkeys(keylist,value)  #快速创建值一样的字典
    
  • 字典的访问:
    dict[key]   #获得key的值,如果不存在则报错
    dict.get(key[,default]) #获得key的值,如果不存在则返回default或None
    
  • 常用内建函数:
    dict.clear()    清空字典
    dict.copy()    浅拷贝
    dict.fromkeys(key,value)    快速给key赋相同的值
    dict.get(key[,default]) 获得key的值,如果不存在则返回default或None
    dict.items()    返回键值序列
    dict.keys()    返回键序列
    dict.values()    返回值序列
    dict.pop(key)    删除key对应的item
    del dict[key]    删除key对应的item
    dict.setdefault(key,default)    设置一个默认的值(如果key不存在,则给他设置默认的值为default)
    dict.update()   更新字典,传入可选参数或其他字典进行更新
    

集合 set

  • 可变的数据。
  • 元素都是唯一的,不存在相同的元素。
  • 创建一个集合:
    set1=set"12345")
    set2=set"山西省")
    set3=set[1,2,3,4,1]# 实现去重
    
  • 常用内建方法:
    set.add()   添加元素
    set.copy()   浅拷贝
    set.clear()   清空集合
    set.pop()   删除任意一位元素
    set.remove(item)   移除
    set.update(集合|序列)   更新
    
  • 集合的操作:
    &   交集
    |   并集
    -   补集
    ^   对称集 (并集-交集)
    >   包含
    >=  
    <
    <=
    

布尔型 bool

NoneType

这一节内容比较多,请多练习。

猜你喜欢

转载自blog.csdn.net/weixin_43705559/article/details/88609713