• day04 Cpython解释器的垃圾回收机制 小整数池 可变不可变类型 python2中与用户交互的机制 数据类型的基本使用 运算符与if判断的基本用法


    内存管理

    # 1. Cpython解释器的垃圾回收机制
    # 什么是垃圾:当一个值身上没有人绑定任何变量名(该值的引用计数=0)时,该值就是一个垃圾
    
    # 引用计数增加
    # age=18 # 18的引用计数等于1
    # x=age  # 18的引用计数等于2
    # print(age)
    # print(x)
    
    # 引用计数减少
    # age=19 #18的引用计数等于1
    # print(age)
    
    # del x #18的引用计数等于0
    
    
    # 2. 变量值的三个特征:
    # id: 反映的是内存地址
    # type:数据类型
    # 值:
    # age=18
    # # print(id(age))
    # print(type(age))
    # print(age)
    
    #总结:
    # 2.1. id相同,值一定相同
    # 2.2. 值相同,id可以不同
    '''
    >>> x='name:egon age:18***'
    >>> y='name:egon age:18***'
    >>> id(x)
    2847698422856
    >>> id(y)
    2847698422928
    '''
    
    
    # x=11111111111111111111111111231231231231222222222222
    # y=11111111111111111111111111231231231231222222222222
    #
    # print(id(x))
    # print(id(y))
    
    
    #3. is 与 ==
    # ==:值是否相等
    # is:id是否相等
    
    #4. 可变类型与不可变类型
    # 可变类型: 值改变,id不变,证明就是在改变原值
    # 不可变类型:值改变,id也变,证明根本不是在改变原值,是创建了新值,原值就是不可变类型
    # x=10
    # print(id(x))
    # x=11
    # print(id(x))
    
    
    l=['a','b','c']
    print(id(l))
    l[0]='A'
    print(id(l))
    # print(l)

    python2中与用户交互

    # 1. 在python3中只有一个input:
    # 特点:会用户输入的任意内容都存成str类型
    
    # x=input('>>>: ') #x='123123123'
    # print(type(x))
    
    # salary=input('>>: ') #salary='3000'
    # salary=int(salary)
    # print(salary * 12) #
    
    # 2. 在python3中只有一个raw_input,与python3的input一模一样
    # x=raw_input('>>>: ')
    
    # 要求用户必须输入一个明确的类型,输入什么类型就存成什么类型
    x=input('>>>: ')
    

    数据类型的基本使用

    # 一: 数字类型
    #1. 整型int
    #作用:用来记录年龄、等级、各种号码状态
    #定义:
    # age=10 #age=int(10)
    # print(type(age))
    #使用:
    # print(age + 1)
    # print(age > 3)
    
    #2. 浮点型float
    #作用:用来记录身高、体重、工资状态
    #定义:
    # salary=3.1 #salary=float(3.1)
    # print(type(salary))
    #使用:
    # print(3.1 + 2.3)
    # print(3.1 > 2.3)
    # print(3.1 > 2)
    # print(3.1 + 2)
    
    # 二:字符串类型str
    # 作用:用来记录描述性质状态,比如名字、性别
    # 定义:在单引号('')、双引号("")、三引号内(''' ''',""" """),包含一系列的字符
    x='abc' # x=str('abc')
    # print(type(x))
    
    y="abc"
    
    z="""
    abc
    xxxx
    """
    
    # print(type(x))
    # print(type(y))
    # print(type(z))
    
    # msg='my name is "egon"'
    # 使用:
    # print('abc'+'def') # 仅限于str类型直接相加
    # print('abc'*10) # *的只能是数字
    
    # 了解:ASCII表
    # x='abcdef'
    # y='z'
    # print(x > y)
    
    # print('a' > 'Z' )
    # print('a' > 10 )
    
    # 三:列表类型list
    # 作用:用来记录多个值,用索引对应值,索引反映是位置
    # 定义:在[]内用逗号分隔开多个任意类型的值
    # l=[1,3.1,'xxx',['a','b','c']] #l=list(...)
    # print(type(l))
    # 使用
    # print(l[0])
    # print(l[2])
    # print(l[3][0])
    
    # students_info=[
    #     ['egon',18,['play',]],
    #     ['alex',18,['play','sleep']]
    # ]
    #
    # print(students_info[1][2][0])
    
    # 四:字典类型dict
    # 作用:用来记录多个值,用key对应value,其中key对value有描述性的功能
    # 定义:在{}内,用逗号分割开多元素,每一个元素都是key:value的形式,其中value可以是任意类型,而key通常应该是str类型
    # d={'x':1,'y':3.1,'z':['a','b'],'m':{'aaa':1111}} #d=dict(...)
    # print(type(d))
    # 使用:
    # print(d['x'])
    # print(d['m']['aaa'])
    # print(d['z'][1])
    
    # 列表的方式
    #         name   age  gender   compay_info
    # emp_info=['egon',18,'male',['Oldboy','SH',200]]
    # print(emp_info[1])
    # print(emp_info[3][2])
    
    # 字典的方式
    # emp_info={'name':'egon','age':18,"gender":'male','company_info':['Oldboy','SH',200]}
    
    # print(emp_info['age'])
    # print(emp_info['company_info'][0])
    
    # names=['egon','alex','kevin']
    # dic={'name1':'egon','name2':'alex','name3':'kevin'}
    
    # 五:布尔类型:True,Flase
    # print(type(True))
    # print(type(False))
    
    # tag1=True
    # tag2=True
    # print(id(tag1))
    # print(id(tag2))
    
    # age=18
    # print( age > 18)
    
    # 所有数据类型自带布尔值
    # 布尔值为假的数据类型:0,None,空
    # print(bool([]))
    # print(bool(''))
    # print(bool(None))
    
    # 六 None
    # print(type(None)) 

    运算符与if判断的基本用法

    #01 比较运算符
    #> >=
    #< <=
    #==
    #!=
    # print(10 != 11)
    
    # 了解
    # x=None
    # print(x == None)
    # print(x is None)
    
    # l1=['abc',1,['a','b','c']]
    # l2=['abc','aa',]
    # print(l2 > l1)
    
    #02 逻辑运算符
    #and:连接左右两个条件,只有两个条件同时成立时and运算的结果为True
    # print(10 > 9 and 3 > 2 and 'egon' == 'egon' and True)
    
    #or:连接左右两个条件,两个条件成立任意一个or运算的结果就为True
    # print(False or False or True or False or 3 > 10)
    
    # res=(True or (False and True)) or ((False or True) and False)
    #res=(True or False) or (True and False)
    #res=True or False
    # print(res)
    
    #not
    # print(not 10 > 3)
    
    # x=None
    # print(not x is None)
    # print(x is not None)
    
    # age1=18
    # age2=19
    # print(age2 is not age1)
    
    #
    name_bk='egon'
    pwd_bak='123'
    name=input('please input your name: ')
    pwd=input('please input your password: ')
    if name == name_bk and pwd == pwd_bak:
        print('login successfull')
        print('login successfull')
        print('login successfull')
        print('login successfull')
        print('login successfull')
    else:
        print('username or password error')
    

      

    今日作业

    作业:
    一、整理博客,复习今天上课所讲知识点
    二、今日练习题
    	1、python test.py执行的三个阶段是什么?在哪个阶段识别文件内的python语法?
    	2、将下述两个变量的值交换(选做题,涉及知识点为变量的赋值运算)
    		s1='alex'
    		s2='SB'
    	3、判断下述结果
    		msg1='alex say my name is alex,my age is 73,my sex is female'
    		msg2='alex say my name is alex,my age is 73,my sex is female'
    		msg1 is msg2
    		msg1 == msg2
    
    	4、什么是常量?在python中如何定义常量
    	5、有存放用户信息的列表如下,分别存放用户的名字、年龄、公司信息
    		userinfo={
    			'name':'egon',
    			'age':18,
    			'company_info':{
    				'cname':'oldboy',
    				'addr':{
    					'country':'China',
    					'city':'Shanghai',
    				}
    			}
    
    		}
    		要求取出该用户公司所在的城市
    
    		students=[
    		    {'name':'alex','age':38,'hobbies':['play','sleep']},
    		    {'name':'egon','age':18,'hobbies':['read','sleep']},
    		    {'name':'wupeiqi','age':58,'hobbies':['music','read','sleep']},
    		]
    		取第二个学生的第二个爱好
    
    	6、
    		students=[
    			{'name':'egon','age':18,'sex':'male'},
    			{'name':'alex','age':38,'sex':'fmale'},
    			{'name':'wxx','age':48,'sex':'male'},
    			{'name':'yuanhao','age':58,'sex':'fmale'},
    			{'name':'liwenzhou','age':68,'sex':'male'},
    		
    		]		
    		要求循环打印所有学生的详细信息,格式如下
    		<name:egon age:18 sex:male>
    		<name:alex age:38 sex:fmale>
    		<name:wxx age:48 sex:male>
    		<name:yuanhao age:58 sex:fmale>
    		<name:liwenzhou age:68 sex:male>
    
    	7、编写程序,#根据用户输入内容打印其权限
    
    		'''
    		egon --> 超级管理员
    		tom  --> 普通管理员
    		jack,rain --> 业务主管
    		其他 --> 普通用户
    		'''
    	8、编写程序,实现如下功能
    		# 如果:今天是Monday,那么:上班
    		# 如果:今天是Tuesday,那么:上班
    		# 如果:今天是Wednesday,那么:上班
    		# 如果:今天是Thursday,那么:上班
    		# 如果:今天是Friday,那么:上班
    		# 如果:今天是Saturday,那么:出去浪
    		# 如果:今天是Sunday,那么:出去浪
    
    	以下为选做题:
    	9、while循环练习
    		#1. 使用while循环输出1 2 3 4 5 6 8 9 10
    		#2. 求1-100的所有数的和
    		#3. 输出 1-100 内的所有奇数
    		#4. 输出 1-100 内的所有偶数
    		#5. 求1-2+3-4+5 ... 99的所有数的和
    		#6. 用户登陆(三次机会重试)
    		#7:猜年龄游戏
    		要求:
    		    允许用户最多尝试3次,3次都没猜对的话,就直接退出,如果猜对了,打印恭喜信息并退出
    		#8:猜年龄游戏升级版 
    		要求:
    		    允许用户最多尝试3次
    		    每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序
    		    如何猜对了,就直接退出 
    
    	10、编写计算器程序,要求
    		1、用户输入quit则退出程序
    		2、程序运行,让用户选择具体的计算操作是加法or乘法or除法。。。然后输入数字进行运算
    		3、简单示范如下,可以在这基础上进行改进
    		while True:
    		    msg='''
    		    1 加法
    		    2 减法
    		    3 乘法
    		    4 除法
    		    '''
    		    print(msg)
    		    choice = input('>>: ').strip()
    		    num1 = input('输入第一个数字:').strip()
    		    num2 = input('输入第二个数字:').strip()
    		    if choice == '1':
    		        res=int(num1)+int(num2)
    		        print('%s+%s=%s' %(num1,num2,res))
    
        
        11、选择题,预习字符串内置方法,做如下练习题
        # 写代码,有如下变量,请按照要求实现每个功能 (共6分,每小题各0.5分)
    	name = " aleX"
    	# 1)    移除 name 变量对应的值两边的空格,并输出处理结果
    	# 2)    判断 name 变量对应的值是否以 "al" 开头,并输出结果

    	# 3)    判断 name 变量对应的值是否以 "X" 结尾,并输出结果

    	# 4)    将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
    	# 5)    将 name 变量对应的值根据 “l” 分割,并输出结果。
    	# 6)    将 name 变量对应的值变大写,并输出结果

    	# 7)    将 name 变量对应的值变小写,并输出结果

    	# 8)    请输出 name 变量对应的值的第 2 个字符?
    	# 9)    请输出 name 变量对应的值的前 3 个字符?
    	# 10)    请输出 name 变量对应的值的后 2 个字符?

    	# 11)    请输出 name 变量对应的值中 “e” 所在索引位置?

    	# 12)    获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo。
    

      

  • 相关阅读:
    Bolero and Data Mining
    2007年3月15日 网站论坛出现以下错误/forum/inc/Dv_ClsMain.asp,行 1344
    A Probabilistic Model for Retrospective News Event
    信息抽取的资料文档
    Textual Data Mining and WEBSOM
    DockPanel Suite更新到2.6了 武胜
    Use Custom Events from your WCF ServiceHost http://www.codeproject.com/Tips/150702/UseCustomEventsfromyourWCFServiceHost 武胜
    Unable to convert MySQL date/time value to System.DateTime 解决方案 转 武胜
    XML 转义字符 武胜
    Using Nini .NET Configuration Library 武胜
  • 原文地址:https://www.cnblogs.com/wangmiaolu/p/9985162.html
Copyright © 2020-2023  润新知