#学习笔记
#每日练习
课堂笔记
变量 变量即变化的量,核心是变与量 执行程序的本质就是一系列状态的变化
a = 1 print(a) print("hello") name = 'zhangsan' sex = 'male' age = 19 level = 10 print(name,sex,age,level) print(name,sex,age,level,sep='-')
变量名只能是字母、数字、或下划线的任意组合,不能以数字开头 变量名的第一个字符不能是数字 关键字不能声明为变量名 定义方式:驼峰命名
AgeOfBoy = 56 NumberOfStudent = 90 # 下划线(推荐使用) age_of_boy = 56 number_of_student = 90
注意:定义变量名,不好的方式 1.变量名为中文,拼音 2.变量名过长,变量名词不达意 代码提示:通义灵码
关键字:for from if import in is.... 事先定义好,有着特殊含义和用途的单词 尽量避免使用
a = 10 print(a) x = 'Info:18' y = 'Info:19' z = 'Info:19' print(id(x)) print(id(y)) print(id(z)) print(x == y) print(y == z) print(z is y)
Python提供了交互的模式 Python实现int的时候有个小整数池 避免因创建相同的值而重复申请内容空间所带来的效率问题 Python解释器会在启动的时候创建出小整数池,范围是[-5,256] 该范围内的小整数对象是全局解释器范围内被重复使用,用于不会被FC回收
a = 4 print(id(a)) b = 3 b += 1 print(id(b))
Pycharm出于对性能的考虑,会扩大小整数池的范围,其他字符串,不可变类型也包含相同的处理方式。这是一种优化机制,至于范围到底多大,无需研究
y = -6 print(id(y)) x = -6 print(id(x)) print(x == y) print(x is y) y = 255 print(id(y)) x = 254 x += 1 print(id(x))
Python中的优化机制:鸭子机制,鸭子类型 内容管理:引用计数与垃圾回收机制 OC语言:引用计数机制——》苹果手机——》引用计数 +1 -1 GC Java语言:安卓手机——》垃圾回收机制——》GC 自动垃圾回收机制 程序交互:input input:用户输入任何值,都存成字符串类型
age = 10 salary = 3.1415926 a = 2**64 print(type(a)) print(type(age)) print(type(salary))
# 多行字符串,必须使用多引号 msg = ''' aaa bbb ccc ''' print(msg)
Python3:用户输入任何值,存成字符串类型 Python2:用户输入什么类型,就存成对应的类型 1.字符串相加的效率不高,申请了一个新的内存空间存入,相当于两个字符串的空间被复制了一次。 2.只能字符串相加,不能数字相加,不能字符串加其他类型
name = 'wangwu' print(id(name)) age = '19' print(id(age)) people = name+age print(id(people)) print(people) print(name*5) name = 'xiaobing' print(name) name = str('zhangsan') print(name) msg = "my name is lisi , 24 yers old" print(msg)
布尔;一个为True 一个为False
a = 3 b = 5 print(a>b) print(a<b) if a>b: print('is true') else: print('is false')
条件句的作用 目标:条件语句的作用,if语法,if...else 多重判断 if嵌套 比如:去网吧,判断年龄,18-25岁 语法结构: if 条件: 条件成立执行代码
if True: print('条件成立执行代码1') print('条件成立执行代码2') # 没有缩进到if语句块,所有和if条件无关 print('程序继续执行') # 用户年龄大于18 age = 19 if age >= 18: print('可以进网吧') print('系统关闭')
用户可以输出自己的年龄,如何系统进行判断是否成年 使用int转换数据类型
age = int(input('请输入你的年龄:')) if age > 18: print(f'您的年龄是{age},已成年,可以上网') print('系统关闭') # if...else... # 条件成立执行if下方代码,条件不成立执行else下方代码 age = int(input('请输入你的年龄:')) if age > 18: print(f'您的年龄是{age},已成年,可以上网') else: print(f'您的年龄是{age},未成年,不可以上网') print('系统关闭')
多重判断 小于18岁,童工 18-25岁,合法工作年龄 大于60岁,退休
age = int(input('请输入你的年龄:')) if age < 18: print(f'您的年龄是{age},童工') elif 18<= age <=60: print(f'您的年龄是{age},合法工作年龄') elif age > 60: print(f'您的年龄是{age},退休年龄') print ('系统关闭')
# if嵌套: # 坐车:如果有钱可以上车,没钱不能上车 # 上车后有空坐,可以坐下 # 如果没有空座,站着 # 假设money = 1表示有钱,money = 0表示没钱 # seat = 1 表示空座,seat = 0表示没空座
money = 1 seat = 0 if money == 1: print('有钱,顺利上车') if seat == 1: print('有空座,坐下') else: print('没有空座,站着') else: print('没钱,不能上车')
# 猜拳游戏 # 需求:参与游戏的角色:玩家:手动出拳 电脑:随机出拳 # 判断输赢:玩家出拳和电脑出拳,石头剪刀布
# 导入random模块 # 使用random模块中的随机整数功能 import random # 计算电脑出拳的随机数字 computer = random.randint(0,2) player = int(input('请输入出拳数字:0-石头,1-剪刀,2-布:')) # 玩家胜利:p0:c1 p1:c2 p2:c0 if ((player == 0)and(computer == 1))or(player == 1) and(computer == 2)or(player == 2)and(computer == 0): print('玩家胜利') # 平局:玩家=电脑 elif player == computer: print('平局') else: print('电脑胜利') print(computer)
# 随机数 # 使用步骤 1.导入模块 2.使用这个模块的功能 import random num = random.randint(0,4) print(num)
# 三目运算符 # 三木运算符:三元运算符或三元表达式 # 语法: # 条件成立执行表达式if条件 else条件不成立执行的表达式
a = 1 b = 2 c = a if a>b else b print(c)
# 需求:有两个变量,比较大小,如果变量1 大于 变量2 执行 变量1-变量2 # 否则变量2-变量1 aa = 10 bb = 61 cc = aa - bb if aa>bb else bb - aa print(cc)
# 基本运算符 a = 10 b = 20 c = 30 print(a+b) print(a*b) print(a/b) print(a-b) print(a%b) # 幂运算 返回x的y次幂 print(a**b) # 取整除, 返回商的整数部分 print(a//b)
# 比较运算 > < >= <= == != print(a == b) print(a != b) print(a < b) print(a > b) print(a <= b) print(a >= b)
# 赋值运算 c = a + b print(c) c += a print(c) c -= a print(c) c *= a print(c) c /= a print(c) # 取模赋值 c %= a print(c) # 幂赋值 c **= a print(c) # 取整除赋值 c //= a print(c)
# 逻辑运算符:and or not # 布尔与 布尔或 布尔非 x = 10 y = 20 z = 5 # and 布尔与,如果两个条件都成立,结果为真,否则为假 if x > z and y < z : print(True) else: print(False) # or 布尔或,如果两个条件有一个成立,结果为真,否则为假 if x > z or y < z : print(True) else: print(False) # not 布尔非,取反 not(a and b) if not(x > z or y < z): print(True) else: print(False)
# 三者的优先级:高到低 not or and print(3 > 4 and 4 > 3 or 1 == 3 and 'x' == 'x' or 3 > 3) # 用括号 print((3 > 4 and 4 > 3) or (1 == 3 and 'x' == 'x') or 3 > 3) print(not(3 > 4 and 4 > 3) or (1 == 3 and 'x' == 'x') or 3 > 3) age_of_girl = 30 if age_of_girl >= 30: print('大龄') else: print('年龄') age_of_girl = 30 height = 171 weight = 99 is_pretty = True if age_of_girl >= 18 and age_of_girl < 22 and height >= 170 and weight < 100 and is_pretty == True: print('可以成婚') else: print('不可以成婚') # 身份运算 is == # is 比较的是id # == 比较的是值 x = 10 y = 20 print(x == y) print(x is y)
每日习题加企业面试题
# 题目1 # 题干 # 用户输入年龄,如果年龄超过60岁,输出:可以退休了。 # # 训练目标 # if语句基础语法的使用; # 比较运算符的使用。 # 用户输入年龄 age = int(input('请输入您的年龄:')) # 条件判断 if age > 60: print('可以退休了') # 题目2 # 题干 # 用户输入年龄,如果年龄超过60岁,输出:"可以退休了", 否则,输出:"小伙子,加油干!" # # 训练目标 # if…else语法 # 用户输入年龄 age = int(input('请输入您的年龄:')) # 条件判断 if age > 60: print('可以退休了') else: print('小伙子,加油干!') # 题目3 # 题干 # 用户输入年龄,按照如下标准书写程序,判断用户处于哪个年龄阶段,并提示:您的年龄是xx: 青少年/青年/中年/老年。 # # 年龄段划分标准:0-17岁为青少年;18-35岁为青年;36-59为中年,60-99岁为老年。 # # 训练目标 # 1.elif多重判断写法; # 2.逻辑运算符的使用方法。 # 用户输入年龄 age = int(input('请输入您的年龄:')) # 条件判断 if age > 0 and age <= 17: print(f'您的年龄是{age}:青少年') elif age > 18 and age <= 35: print(f'您的年龄是{age}:青年') elif age > 35 and age <= 59: print(f'您的年龄是{age}:中年') else: print((f'您的年龄是{age}:老年')) # 题目1 # 题干 # 坐公交:假设坐公交需要买票上车,书写程序要求如下: # # 1. 如果有票则可以上车,否则不能上车 # 上车后,如果有座位可以坐下,否则不能坐下。 # 已有程序如下,请补全程序: # # # ticket取值为1表示有票,取值为0表示无票 # ticket = 1 # # # seat取值为1表示有坐,取值为0表示无座 # seat = 1 # 训练目标 # if嵌套书写方法 ticket = 1 seat = 1 # 第一层if判断是否有票 if ticket == 1: print('可以上车') # 第二层if判断是否有座位 if seat == 1: print('可以坐下') else: print('不可以坐下') else: print('不可上车') # 题目2 # 题干 # 用户登录输入验证码,已知验证码是axyz, 验证码正确可以登录,否则输出:验证码错误。 # # 训练目标 # 比较运算符==的使用方法 # 获取用户的验证码 code = input('请输入验证码:') if code == 'axyz': print('验证码正确可以登录') else: print('验证码错误') # 题目3 # 题干 # 制作用户登录系统:已知A用户注册的用户名为aaa,密码是123456。具体要求如下: # # 登录时需要验证用户名、密码、验证码(固定验证码为qwer)。 # # 提示:系统先验证验证码是否正确,正确后再验证用户名和密码。 # # 训练目标 # 1. if…else语句格式 # 2. # 比较运算符 == 和 # 逻辑运算符 # 3. # if嵌套语句格式 # 获取用户的用户名、密码以及验证码 name = input('请输入用户名:') password = input('请输入密码:') code = input('请输入验证码:') if code == 'qwer': if name == 'aaa' and password == '123456': print('登录成功') else: print('用户名或密码错误') else: print('验证码错误') # 企业面试题 # 1. a=1,b=2,不用中间变量交换a和b的值? # 2. 简述你对input()函数的理解? """ 1. a=1,b=2,不用中间变量交换a和b的值? 答:a = a+b b = a-b a = a-b 或者 a,b = b,a 2. 简述你对input()函数的理解? 答:input()函数是基本的输入函数,假如在前面什么都不加,那么无论输入的是什么类型数据,input()函数都会转换为字符串,如果需要非字符串类型,那么需要进行数据类型转换 """