1、变量
变是指变化,量是指反映某种状态
例:
level =1 或 2
username = ‘xuanxuan’
password = ‘123’
python里的“=”是赋值的意思,并不是真的等于
变是指变化,量是指反映某种状态
例:
level =1 或 2
username = ‘xuanxuan’
password = ‘123’
python里的“=”是赋值的意思,并不是真的等于
变量有三大要素:
内存地址:并非真正的内存地址,而是python转变成的一串数字。print(id(username))查看内存地址
数值:变量被赋予的值
数值类型:就是数值的类型。print(type(username)) 查看数值类型
内存地址:并非真正的内存地址,而是python转变成的一串数字。print(id(username))查看内存地址
数值:变量被赋予的值
数值类型:就是数值的类型。print(type(username)) 查看数值类型
2、引用计数和垃圾回收机制
引用计数:就是指被调用的次数
例:
x = 'a' #a的引用计数 = 1
y = x #a的引用计数 = 2
垃圾回收机制:
变量被赋值之后,会在内存中划去一块区域,当一套程序程序运行完毕后,将解除相应内存中的占用
数字的默认缓冲区:
-5~256这个区间的数字的内存地址是相同的(为了节省内存)
“==”是数值的运算符,代表数值的真的等于
“is”是身份的运算符,代表内存地址和数值都一样才是true,否则false
引用计数:就是指被调用的次数
例:
x = 'a' #a的引用计数 = 1
y = x #a的引用计数 = 2
垃圾回收机制:
变量被赋值之后,会在内存中划去一块区域,当一套程序程序运行完毕后,将解除相应内存中的占用
数字的默认缓冲区:
-5~256这个区间的数字的内存地址是相同的(为了节省内存)
“==”是数值的运算符,代表数值的真的等于
“is”是身份的运算符,代表内存地址和数值都一样才是true,否则false
3、程序与用户交互
例:
info = input('你好,客官!想要买点啥?')
print(info)
运行后,这里的系统会输出'你好,客官!想要买点啥?
这时需要客户输入
输入的内容就是赋值给info
最后打印info
这就是交互的过程
例:
info = input('你好,客官!想要买点啥?')
print(info)
运行后,这里的系统会输出'你好,客官!想要买点啥?
这时需要客户输入
输入的内容就是赋值给info
最后打印info
这就是交互的过程
4、注释
1、行前加“#”
2、快捷键:“ctrl + ?”
3、''' ''' 三引号中的内容是注释的内容(用于多行)
1、行前加“#”
2、快捷键:“ctrl + ?”
3、''' ''' 三引号中的内容是注释的内容(用于多行)
5、数据类型
1、整型:int 整数 ,比如:游戏等级,身份证号,年龄
2、浮点型:float 小数, 比如:薪资,身高,体重
3、字符串:str在引号(单引号,双引号,三引号)里定义的一堆字符,比如:名字,国籍,地址
这了三引号内容被当作值赋予了变量,这时不作为注释
1、整型:int 整数 ,比如:游戏等级,身份证号,年龄
2、浮点型:float 小数, 比如:薪资,身高,体重
3、字符串:str在引号(单引号,双引号,三引号)里定义的一堆字符,比如:名字,国籍,地址
这了三引号内容被当作值赋予了变量,这时不作为注释
6、数字运算和字符串拼接(+,-,*,/,//,%)
数字运算:
print(10 + 5)
print(10 - 5)
print(10 * 5)
print(10 / 5)
print(10 // 3)取整
print(10 % 3)取余
字符串运用的运算符只有两个(+,*)
name1 = 'xuan'
name2 = 'yuan'
print(name1+name2)字符串的拼接 运行结果:xuanyuan
数字运算:
print(10 + 5)
print(10 - 5)
print(10 * 5)
print(10 / 5)
print(10 // 3)取整
print(10 % 3)取余
字符串运用的运算符只有两个(+,*)
name1 = 'xuan'
name2 = 'yuan'
print(name1+name2)字符串的拼接 运行结果:xuanyuan
name1 = 'xuan'
name2 = 2
print(name1*name2)字符串的倍增 运行结果:xuanxuan
name2 = 2
print(name1*name2)字符串的倍增 运行结果:xuanxuan
7、列表:
在[]内,用逗号分隔开,存放多个任意类型的元素
在[]内,用逗号分隔开,存放多个任意类型的元素
例:定义变量,姓名,年龄,职业,公司,公司员工数
myinfo = ['xuanxuan',18,'student',['中国银行',2000]]
取姓名:print(myinfo[0])
取公司名字:print(myinfo[3][0])
myinfo = ['xuanxuan',18,'student',['中国银行',2000]]
取姓名:print(myinfo[0])
取公司名字:print(myinfo[3][0])
字典类型:
定义花括号内,用逗号分割key:value,value可以是任意类型,但是key必须不可变类型
状态:存放多个值
定义花括号内,用逗号分割key:value,value可以是任意类型,但是key必须不可变类型
状态:存放多个值
例:
info = {
'name' : 'xuanxuan',
'age' : 18
'jop' : 'student'
}
取姓名:print(info['name']) 当取值元素不存在时,会报错
或:print(info.get(name)) 当取值元素不存在时,会显示空
'name' : 'xuanxuan',
'age' : 18
'jop' : 'student'
}
取姓名:print(info['name']) 当取值元素不存在时,会报错
或:print(info.get(name)) 当取值元素不存在时,会显示空
8、布尔:true,false
状态:成立,不成立,用来做逻辑运算---》判断
a = 1
b = 1
print(a != b) 不成立,so false
状态:成立,不成立,用来做逻辑运算---》判断
a = 1
b = 1
print(a != b) 不成立,so false
9、类型
可变类型:
在id不变的情况下,value可以变,则称为可变类型,如列表,字典
例1:
a = [1,2,3,4,5]
print(id(a))
a[1] = 99
print(a)
print(id(a))
例2:
info = {
'name': 'xuanxuan',
'age': 18,
'job': 'student'
}
print(id(info))
info['age'] = 16
print(id(info))
在id不变的情况下,value可以变,则称为可变类型,如列表,字典
例1:
a = [1,2,3,4,5]
print(id(a))
a[1] = 99
print(a)
print(id(a))
例2:
info = {
'name': 'xuanxuan',
'age': 18,
'job': 'student'
}
print(id(info))
info['age'] = 16
print(id(info))
不可变类型:value一旦改变,id也改变,则称为不可变类型(id变,意味着创建了新的内存空间)
如int,float,str类型
例:
x = 123
print(id(x))
x = 321
print(id(x))
如int,float,str类型
例:
x = 123
print(id(x))
x = 321
print(id(x))
10、格式化输出,占位符(%s:可以占位字符串和整型,%d:整型,%f:符点)
例1:
name = 'xuanxuan'
age = 18
print('my name is %s my age is %s' % (name, age))
运行结果:my name is xuanxuan my age is 18
例2:补全信息
name = 'xuanxuan'
age = 18
sex = 'man'
job = 'teacher'
例1:
name = 'xuanxuan'
age = 18
print('my name is %s my age is %s' % (name, age))
运行结果:my name is xuanxuan my age is 18
例2:补全信息
name = 'xuanxuan'
age = 18
sex = 'man'
job = 'teacher'
msg = '''
------------ info of %s -----------
Name : %s
Age : %s
Sex : %s
Job : %s
------------- end -----------------
'''
print(msg % (name, name, age, sex, job))
或者:在''' '''后加" % (name, name, age, sex, job)"
------------ info of %s -----------
Name : %s
Age : %s
Sex : %s
Job : %s
------------- end -----------------
'''
print(msg % (name, name, age, sex, job))
或者:在''' '''后加" % (name, name, age, sex, job)"
11、赋值
1、链式赋值
a = b = c = d = 1
2、交叉赋值
a = 1 b = 2 print(a, b) a, b = b, a print(a, b)
运行结果:
3、解压赋值
l = [1,2,3,4,5] a,b,c,d,e = l print(a,b,c,d,e)
运行结果:
12、基本逻辑运算符(if...elif...else)
即(如果...否则如果...否则)
age = 20 high = 170 success = True if age: print('ok') else: print('不OK') if age > 18: if success: print('咱们结婚吧!') else: print('去他妈的爱情!') elif high > 165: print('你真漂亮,亭亭玉立') else: print('你真可爱')
运行结果:
13、基本输入:input (默认数据类型为 字符串)
所以当有需要时,我们与要指定数据类型
score = int(input('请输入你的成绩:')) if score >= 90: print('优秀') elif score >= 80 and score < 90: print('良好') elif score >=60 and score < 80: print('合格') else: print('不及格,回家叫家长吧')
14、循环(while,for)
1、while循环
例1:
count = 0 while count < 10: count += 1 # count = count + 1 print('hi~%s' % count)
运行结果:
例2:取列表
pass:不执行任何操作,继续运行下边的操作
len(l):列表长度
i = 0 l = ['a', 'b', 'c', 'd','e'] while i < len(l): if i == 2: pass print(l[i]) i += 1
运行结果:
break:后面不执行,跳出循环
i = 0 l = ['a', 'b', 'c', 'd','e'] while i < len(l): if i == 2: break print(l[i]) i += 1
运行结果:
无限循环:while True
count = 0 while True: print('ha-%s' % count) count += 1
运行结果:无限的+1下去
2、for循环
例1:字符串循环
result = 'hello,world' for i in result: print(i)
运行结果:
例2:字典循环
info = { 'name': 'aaa', 'age': 18, 'job': 'it' } for i in info.values(): #默认循环key,加.values()循环values print(i)
运行结果:
例3:列表循环:(元组循环基本一样,只是括号用小括号,能读不能改)
l = [1,2,3,4,5] for i in l: print(i)
运行结果:
例4:continue(跳过下方,继续循环)
for i in range(10): if i == 7: continue print(i)
运行结果:
例5:步长
for i in range(0,10,2):#2是步长 print(i)
15、random模块
使用这个模块,必须先导入 import random
例:产生一个1~10的随机数,有以下三种方法:
import random l = [1,2,3,4,5,6,7,8,9,10] result = random.choice(l) print(result)
import random result = random.randint(0, 10) print(result)
import random result = random.randrange(10) print(result)
运行五次结果:
扩展练习:猜拳游戏
思想:
1、需要游戏的提示信息, print
2、需要与系统交互,才能和电脑猜拳,input
3、系统也需要出拳的程序,random
4、游戏的结果:赢,输,平
5、对于比赛结果的计数
6、需要循环,进行第二次游戏,while
import random win = 0 #胜利次数 lose = 0 #失败次数 tie = 0 #平局次数 while True: #建立游戏循环 print('胜:%s 败:%s 平:%s' % (win, lose, tie)) print('