python基础

执行Python程序的两种方式

  • 交互式——优点:一直保存;缺点:代码全部写完才能调试

  • 命令行式——优点:边运行边执行;缺点:终端关闭即消失

变量

定义:描述世间万物的状态

作用:存储数据和标记数据

特征表示:打印变量值、查看内存空间(id)、查看数据类型(type)

组成部分:变量名、赋值、变量值

变量名命名规范:

  • 由数字、字母、下划线组成。

  • 变量名第一个字符不能为数字。

  • 关键字不能为变量名。

变量名风格:

  • 驼峰体

  • 下划线(推荐)

常量:变量名全部为大写。

变量内存管理

垃圾回收机制:当定义一个变量x=10时,此时内存就会开辟一条内存空间存储这个变量值10,变量值10的引用计数为1,如果再定义一个变量x=11,此时内存又会开辟另一条内存空间给这个变量值11,但是之前存在变量名x,故内存会解除x与10的连接,让x与11连接,此时变量值10没有变量名连接,引用计数为0,在python中属于垃圾,python会自动处理并释放变量值为10的内存占用,这就是垃圾回收机制。

引用计数:只要某个变量值绑定着门牌号,就不是垃圾,反之变量值没有绑定着门牌号,这个变量值就是垃圾,python就会自动清理这个垃圾。在python中这个门牌号被称作引用计数。

x = 10  # 10引用计数加1为1
y = x  # 10引用计数加1为2
x = 11  # 10引用计数减1为1;11引用计数加1为1
del y  # 10引用计数减1为0,触发python垃圾回收机制,python清理10的内存占用

小整数池

定义:Python实现int时为了避免因创建相同的值而重复申请内存空间所带来的效率问题。

  • 在解释器中范围为[-5,256],该范围内的小整数对象是全局解释器范围内被重复使用,永远不会被垃圾回收机制回收。

  • 在pycharm中,有所优化,时间间隔短的,无论多大,id都一样。

交叉赋值

x = 100
y = 200
x,y = y,x
print(x,y) #200 100

注释

# 单行注释
'''
多行注释
'''

如何盲打

  • 刚开始一定要慢,严格按照图中所示控制手指

  • 养成习惯,从大脑记忆到肌肉记忆

  • 盲打

  • 敲完一个字符手指马上回位,强化神经线路

数据类型

  • 数字类型(整型int和浮点型float)

  • 字符串类型(str)

    定义:一串被串起来的字符,在单引号、双引号或三引号内包裹的一串字符。需要注意的是:三引号内的字符可以换行,而单双引号内的字符不行。

    s1 = 'allen'
    s2 = "my name is 'allen'"  #单双引号同时使用的字符串
    s3 = '''
    hello,my name is 'allen'.'''
    print(s3) #打印有换行
    s4 = '''hello,my name is 'allen'.'''
    print(s4) #打印无换行
    print(s1+s2)#进行加法运算
    print(s1*10)#进行乘法运算
    
  • 列表类型(list)——存不是目的,取才是目的。

    定义:在[]内用逗号分隔开任意类型的值。

    lis = ['name','age','gender','hobby']
    print(lis[0]) #name
    print(lis[-1]) #hobby
    
  • 字典类型(dict)

    定义:在{}内用逗号分隔开多个元素,每一个元素都是key: value的格式,其中value是任意格式的数据类型,key由于具有描述性的作用,所以key通常是字符串类型。

    dic = {'name':'allen',
           'age':22,
           'gender':'male',
           'hobby':['read','music','run','piao']}
    print(dic['hobby']) #['read', 'music', 'run', 'piao']
    
  • 布尔类型(True和False)

    定义:用于逻辑判断,不会直接引用。

    print(bool(0))
    print(bool(None))
    print(bool([]))
    print(bool({}))
    print(bool(''))
    print(bool(False))
    #python中所有数据类型都自带布尔值,只有0、None、False、空数据类型的布尔值为False,其余全为True。
    

解压缩

定义:超市打包是把多个商品放在一起,解压缩其实就是解包把多个商品一次性拿出来。

name_list=['alex','egon','allen']
x,y,z=name_list
print(x,y,z) #alex egon allen
x,_,z=name_list#不想要的可使用万能的下划线
print(x,z) #alex allen
*_,z=name_list # *表示所有
print(*_,z) #alex egon allen
info_dict={'name':'allen','age':18,'gender':'male'}
x,y,z=info_dict
print(x,y,z) #name age gender

用户交互

定义:用input方法接受用户输入信息。

username = input('请输入用户名:')
print(type(username)) #<class 'str'>
#无论我们输入的值是数字类型、字符串类型、列表类型,input的接收值都是字符串类型。

posted on 2019-07-29 19:52  岱宗夫  阅读(159)  评论(0编辑  收藏  举报

导航