2.变量,注释,条件分支
变量,注释,条件分支
目标:学习Python最基础的语法知识,可以用代码快速实现一些简单的功能。
概要:
- 初识编码(密码本)
- 编程初体验
- 输出
- 初识数据类型
- 变量
- 注释
- 输入
- 条件语句
1.编码(密码本)
计算机中所有的数据本质上都是以0和1的组合来存储。
在计算机中会将中文内存转换成 01010101010… ,最终存储到硬盘上。
2.编程初体验
编码必须要保持:保存和打开一直,否则会乱码。
默认Python解释器是以UTF-8编码的形式打开文件。如果想要修改Python的默认解释器编码,可以这样干:
# -*- coding:gbk -*-print("德玛西亚")
建议:所有Python代码文件的都要以UTF-8编码保存和读取。
3.输出
将结果或内容想要呈现给用户。
print("人在塔在")
print(" * * ")
print(" * * * * ")
print(" * * * * * * ")
print(" * * * * * * * * ")
print(" * * * * * * * * * * ")
print(" * * * * * * * * * * * * ")
print(" * * * * * * * * * * * * ")
print(" * * * * * * * * * * * * ")
print(" * * * * * * * * * * * * * * ")
print(" * * * * * * * * * * * * * * * * ")
print(" * * * * * * * * * * * * * * * * * * ")
print(" * * * * * * * * * * * * * * * * * * * * ")
print(" * * * * * * * * * * * * * * * * * * * * * * ")
print(" * * * * * * * * * * * * * * * * * * * * * * * * ")
print(" * * * * * * * * * * * * * * * * * * * * * * * * ")
print(" * * * * * * * * * * * * * * * * * * * * * * * * ")
print(" * * * * * * * * * * * * * * * * * * * * * * * * * * ")
print(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
print(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
print(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
print(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
print(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
print(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
print(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
关于输出:
默认print在尾部会加换行符
print("看着风景美如画") print("本想吟诗增天下")""" 输出: 看着风景美如画 本想吟诗增天下 """
想要不换行,则可以这样干
print("看着风景美如画",end="") print("本想吟诗增天下",end="")""" 输出: 看着风景美如画本想吟诗增天下 """
print("看着风景美如画",end=",") print("本想吟诗增天下",end=".")""" 输出: 看着风景美如画,本想吟诗增天下. """
练习题
- 使用print输出自己的姓名
- 使用print输出
春眠不觉晓,
出处闻啼鸟,
夜来风雨声,
花落知多少。 - 是用print输出
春眠不觉晓,出处闻啼鸟,夜来风雨声,花落知多少。
4. 初识数据类型
刚上学时,老师教我们 数字 、拼音、汉字、真假判断 等,然后我们根据学到的内容写作文,老师来检查并打分。
现在学编程,我教大家 int、str、bool 等,然后大家根据这些内容来写代码,写完代码交给Python解释器去运行。
4.1 整形(int)
整形,整数。
整型,其实就是以前数学课上讲的整数(不包含小数),在写代码时用于表示整数相关的东西,例如:年龄、存款、尺寸、手机号等。
一般我们提到的:5、18、22、99、… 等整数 在Python中都称为是整型,且支持 加/减/乘/除/取余/指数 等操作。
print(666)print(2 + 10)print(2 * 10)print(10 / 2)print(10 % 3)print(2 ** 4)
4.2 字符串(str)
字符串,其实就是我们生活中的文本信息。例如:姓名、地址、自我介绍等。
字符串有一个特点,他必须由引号引起来,如:
单行字符串
print("我是盖伦")
print("我是盖伦伦")
print("德玛西亚")
多行字符串
print("""德玛西亚""")
print('''德玛西亚''')
对于字符串:
加,两个字符串可以通过加号拼接起来。
print( "盖伦" + "是德玛西亚之力" )
乘,让整形和字符串进行相乘,以实现让字符串重复出现N次并拼接起来。
print(3 * "盖伦")
4.3 布尔类型(bool)
布尔类型中共有两个值:True / False
print(1 > 2)
print(False)print(1 == 1)
print(True)
name = input("请输入你的用户名:")if name == "盖伦":print("用户登录成功")
else:print("用户登录失败")
补充:
1 > 2
1 == 3
"盖伦" == "vn"
1 == "ez"1 > "vn" # 注意,数字和字符串无法进行大小比较
4.4 类型转换
上文数据类型int/str/bool有了初步了解,他们都有自己不同的定义方式。
- int,整型定义时,必须是数字且无引号,例如:5、8、9
- str,字符串定义时,必须用双引号括起来,例如:”德玛西亚”、”盖伦”、”666”
- bool,布尔值定义时,只能写True和False
不同的数据类型都有不同的功能,例如:整型可以加减乘除 而 字符串只能加(拼接)和乘法。
如果想要做转换可遵循一个基本规则:想转换什么类型就让他包裹一些。
例如:str(666) = "666"是将整型转换为字符串、int(“888”)是将字符串转 888。
转换为整形:
# 字符串转换为整形(度可度之人)int("666")int("999")"6" + "9" # 的结果应该是: "69"int("6") + int("9") # 的结果是:15int("alex是sb") # 报错# 布尔类型转换为整形int(True) # 转换完等于 1int(False) # 转换完等于 0
转换为字符串
# 整形转字符串
str(345)
str(666) + str(9) # 结果为:"6669"# 布尔类型转换为字符串
str(True) "True"
str(False) "False"
转换为布尔类型
# 整形转布尔
bool(1) True
bool(2) True
bool(0) False
bool(-10) True# 字符串转布尔
bool("alex") True
bool("砂玻帮你") True
bool("") False
bool(" ") True
三句话搞定类型转换:
其他所有类型转换为布尔类型时,除了 空字符串、0以为其他都是True。
字符串转整形时,只有那种 “988” 格式的字符串才可以转换为整形,其他都报错。
想要转换为那种类型,就用这类型的英文包裹一下就行。
str(...) int(...) bool(...)
练习题
计算整型50乘以10再除以5的商并使用print输出。
判断整型8是否大于10的结果并使用print输出。
计算整型30除以2得到的余数并使用print输出。
使用字符串乘法实现 把字符串”我爱我的祖国”创建三遍并拼接起来最终使用print输出。
判断 字符串”wupeiqi”和”alex”是否相等的结果并使用print输出。
判断 整型666和整型666是否相等的结果并使用print输出。
判断 字符串”666”和整型666是否相等的结果并使用print输出。
看代码写结果(禁止运行代码):
print( int("100")*3 ) print( int("123") + int("88") ) print( str(111) + str(222) ) print( str(111)*3 ) print( int("8") > 7 ) print( str(111) == 111 ) print( bool(-1) ) print( bool(0) ) print( bool("") ) print( bool("你好") ) print( True == True) print( True == False) print( bool("") == bool(0) )
注意:类型转换不是改变原来值,实际在底层是新创建了一个值。例如有整数 6 ,然后使用 str(6) 转化了一下得到 “6”,实际上这个字符串”6”是依据整数6新创建的。
5. 变量
变量,其实就是我们生活中起别名和外号,让变量名指向某个值,格式为: 【变量名 = 值】,以后可以通过变量名来操作其对应的值。
name = "盖伦"
print(name) # 盖伦
age = 18
name = "盖伦"
flag = 1 > 18
address = "德玛西亚" + "战争学院"
addr = "德玛西亚" + "战争学院" + name # "德玛西亚战争学院盖伦"print(addr)
print(flag)
age = 18
number = 1 == 2
注意:
- 给变量赋值
age = 18
- 让age代指值
age=18
5.1 变量名的规范
age = 18
name = "盖伦"
flag = 1 > 18
address = "德玛西亚" + "战争学院"
三个规范(只要有一条就会报错):
变量名只能由 字母、数字、下划线 组成。
不能以数字开头
na9me9 = "alex"
不能用Python内置的关键字
def = "alex" break = 123
[‘and’, ‘as’, ‘assert’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘exec’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘not’, ‘or’, ‘pass’, ‘print’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]
两个建议:
下划线连接命名(小写)
lol_name = "盖伦" lol_age = 19
见名知意
age = 18 color = "red" current_user_name = "vm"
练习题
name = "吉诺比利"
name0 = "帕克"
name_1 = "邓肯"
_coach = "波波维奇"
_ = "卡哇伊"
1_year = "1990" # 错误
year_1_ = "1990"
_1_year = "1990"
nba-team = "马刺" # 错误
new*name = "伦纳德" # 错误
5.2 变量内存指向关系
通过学习上述变量知识让我们对变量了有了初步认识,接下来我们就要从稍稍高级一些的角度来学习变量,即:内存指向(在电脑的内存中是怎么存储的)。
情景一
name = "盖伦"
在计算机的内存中创建一块区域保存字符串”盖伦”,name变量名则指向这块区域。
情景二
name = "盖伦"
name = "vn"
在计算机的内存中创建一块区域保存字符串”盖伦”,name变量名则指向这块区域。然后又再内存中创建了一块域保存字符串”vn”,name变量名则指向”vn”所在的区域,不再指向”盖伦”所在区域(无人指向的数据会被标记为垃圾,由解释器自动化回收)
情景三
name = "盖伦"
new_name = name
在计算机的内存中创建一块区域保存字符串”盖伦”,name变量名则指向这块区域。new_name变量名指向name变量,因为被指向的是变量名,所以自动会转指向到name变量代表的内存区域。
情景四
name = "盖伦"
new_name = name
name = "vn"
在计算机的内存中创建一块区域保存字符串”盖伦”,name变量名则指向这块区域(红色线), 然后new_name指向name所指向的内存区域,最后又创建了一块区域存放”vn”,让name变量指向”vn”所在区域.
情景五
num = 18
age = str(num)
在计算机的内存中创建一块区域保存整型18,name变量名则指向这块区域。通过类型转换依据整型18再在内存中创建一个字符串”18”, age变量指向保存这个字符串的内存区域。
至此,关于变量的内存相关的说明已讲完,由于大家都是初学者,关于变量的内存管理目前只需了解以上知识点即可,更多关于内存管理、垃圾回收、驻留机制等问题在后面在进行讲解。
练习题
看代码结果
gailun_length = 10 ez_length = 15 total = gailun_length + ez_length print(total)
按要求写代码
# 假设age为小明的年龄 age = 18 # 问:已知小李比小明大3岁,计算小李年龄赋值给ming_age变量并输出。 ming_age = age + 3 print(ming_age) # 问:已知大刘比小明和小李年龄的和还要大5岁,计算大刘的年龄赋值给liu_age变量并输入。 liu_age = age + ming_age + 5 print(liu_age)
看代码写结果
nickname = "一米八大高个" username = nicknameusername = "弟弟" print(nickname) print(username)
看代码写结果
nickname = "一米八大高个" username = nickname nickname = "弟弟"print(nickname) print(username)
看代码写结果
nickname = "一米八大高个" username = "弟弟" text = username + nickname print(text)
看代码写结果
nickname = "一米八大高个" username = nickname nickname = "弟弟" text = username + nickname print(text)
看代码写结果
string_number = "20" num = int(string_number)data = string_number * 3 print(data) # "202020"value = num * 3 print(value) # 60
6. 注释
写代码时候,如果想要对某写内容进行注释处理,即:解释器忽略不会按照代码去运行。
单行注释(前面用 # 号)
# 声明一个name变量 name = "vn"# 声明一个age变量 age = 19 # 这表示当前用户的年龄
多行注释(多个 # 号 或者 用 三引号)
# 声明一个name变量 # 声明一个name变量 # 声明一个name变量 name = "alex"""" 多行注释内容 多行注释内容 多行注释内容 """ age = 19
7. 输入
输入,可以实现程序和用户之间的交互。
# 1. 右边 input("请输入用户名:") 是让用户输入内容。
# 2. 将用户输入的内容赋值给name变量。
name = input("请输入用户名:")if name == "vn":print("登录成功")
else:print("登录失败")
data = input(">>>")
print(data)
特别注意:用户输入的任何内容本质上都是字符串。
提示输入姓名,然后给姓名后面拼接一个“你好”,提示输入姓名,然后给姓名后面拼接一个“你好”,最终打印结果。
name = input("请输入用户名:") text = name + "你好" print(text)
提示输入 姓名/位置/行为,然后做拼接并打印:xx 在 xx 做 xx 。
name = input("请输入用户名:") address = input("请输入位置:") action = input("请输入行为:")text = name + "在" + address + action print(text)
提示输入两个数字,计算两个数的和。
number1 = input("请输入一个数字:") # "1" number2 = input("请输入一个数字:") # "2"value = int(number1) + int(number2) print(value)
8.条件语句
if 条件 :条件成立之后的代码...条件成立之后的代码...条件成立之后的代码...
else:条件不成立之后执行的代码...条件不成立之后执行的代码...条件不成立之后执行的代码...
name = input("请输入用户名:")
if name == "vn":print("vn你好")
else:print("略略路")
提醒:统一缩进问题(都是使用四个空格 = tab)。
name = input("请输入用户名:")
if name == "vn":print("你好")print("你好") # 缩进不一致会报错
else:print("略略略")
8.1 基本条件语句
示例1
print("开始") if True:print("123") else:print("456") print("结束")# 输出结果 开始 123 结束
示例2
print("开始") if 5==5:print("123") else:print("456") print("结束")
示例3
num = 19 if num > 10:print("num变量对应值大于10") else:print("num变量对应值不大于10")
示例4
username = "wupeiqi" password = "666" if username == "wupeiqi" and password == "666":print("恭喜你,登录成功") else:print("登录失败")
示例5
username = "wupeiqi"if username == "wupeiqi" or username == "alex":print("VIP大会员用户") else:print("普通用户")
示例6
number = 19 if number%2 == 1:print("number是奇数") else:print("number是偶数")
number = 19 data = number%2 == 1 if data:print("number是奇数") else:print("number是偶数")
示例7
if 条件:成立
print("开始") if 5 == 5:print("5等于5") print("结束")
练习题
- 提示用户输入用户名和密码,用户名等于"wupeiqi"且密码等于"uuu"就输出登录成功;否则输出登录失败。
- 猜数字,提示用户输入一个数字,判断数字如果大于10,就输出猜错了;否则输出猜对了。
- 提示用户输入一个数字,判断是否为偶数,是偶数则输出 偶偶偶数,否则输出 奇奇奇数。
8.2 多条件判断
if 条件A:A成立,执行此缩进中的所有代码...
elif 条件B:B成立,执行此缩进中的所有代码...
elif 条件C:C成立,执行此缩进中的所有代码...
else:上述ABC都不成立。
num = input("请输入数字")
data = int(num)
if data>6:print("太大了")
elif data == 6:print("刚刚好")
else:print("太小了")
score = input("请输入分数")
data = int(score)if data > 90:print("优")
elif data > 80:print("良")
elif data > 70:print("中")
elif data > 60:print("差")
else:print("不及格")
8.3 条件嵌套
if 条件A:...
elif 条件B:...
if 条件A:if 条件A1:...else:...
elif 条件B:...
模拟10086客服
print("欢迎致电10086,我们提供了如下服务: 1.话费相关;2.业务办理;3.人工服务")choice = input("请选择服务序号")if choice == "1":print("话费相关业务")cost = input("查询话费请按1;交话费请按2")if cost == "1":print("查询话费余额为100")elif cost == "2":print("交互费")else:print("输入错误")
elif choice == "2":print("业务办理")
elif choice == "3":print("人工服务")
else:print("序号输入错误")
总结
- 什么是编码?打开文件时为什么会出现乱码?
- pycharm如何设置文件编码?
- python解释器去打开代码文件时,默认使用编码是什么?如何修改?
- print输入
- 各数据类型格式 以及 相关之间如何实现转换?
- 变量的命名规范
- 用户通过input输的内容均为字符串类型。
- 条件语句。
练习
谈谈你了解的编码以及为什么会出现乱码的现象?
编码相当于是一个`密码本`,其中存储着文字和01010的对应关系。乱码的出现时因为文件的存储方式和打开方式不一致导致。另外,如何数据丢失也可能会造成乱码。
Python解释器默认编码是什么?如何修改?
Python解释器默认编码:utf-8 在文件的顶部通过设置: # -*- coding:编码 -*- 实现修改。
用print打印出下面内容:
⽂能提笔安天下, 武能上⻢定乾坤. ⼼存谋略何⼈胜, 古今英雄唯是君。
print("⽂能提笔安天下,") print("武能上⻢定乾坤.") print("⼼存谋略何⼈胜,") print("古今英雄唯是君。")
text = """ ⽂能提笔安天下, 武能上⻢定乾坤. ⼼存谋略何⼈胜, 古今英雄唯是君。 """ print(text)
变量名的命名规范和建议?
三条规范(必须遵循,否则定义变量会报错)- 变量名只能由 字母、数字、下划线 组成。- 变量名不能以数字开头。- 变量名不能是Python内置关键字 二条建议(遵循可以显得更加专业,不遵循也可以正常运行不报错)- 下划线命名法,多个单词表示的变量名用下划线连接(均小写)- 见名知意,通过阅读变量名就能知道此变量的含义。
如下那个变量名是正确的?
name = '盖伦' _ = 'vn' _9 = "德玛西亚" 9name = "ez" # 错误 oldboy(edu = 666 # 错误
设定一个理想数字比如:66,让用户输入数字,如果比66大,则显示猜测的结果大了;如果比66小,则显示猜测的结果小了;只有等于66,显示猜测结果正确。
num = input("请输入数字") data = int(num) if data > 66:print("大了") elif data < 66:print("小了") else:print("正确")
提示⽤户输入 “盖伦” ,判断⽤户输入的对不对。如果对, 提示盖伦你好, 如果不对, 提示我不是盖伦。
text = input("请输入内容") if text == "盖伦":print("盖伦你好") else:print("我不是盖伦")
写程序,成绩有ABCDE5个等级,与分数的对应关系如下.
A 90-100 B 80-89 C 60-79 D 40-59 E 0-39
要求用户输入0-100的数字后,你能正确打印他的对应成绩等级.
score = input("请输入分数") data = int(score)if data >= 90 and data <= 100:print("A") elif data >= 80 and data <90:print("B") elif data >= 60 and data <80:print("C") elif data >= 40 and data <60:print("D") elif data >= 0 and data <40:print("E") else:print("输入错误")
score = input("请输入分数") data = int(score)if 90 <= data <= 100:print("A") elif 80 <= data < 90:print("B") elif 60 <= data < 80:print("C") elif 40 <= data < 60:print("D") elif 0 <= data < 40:print("E") else:print("输入错误")
2.变量,注释,条件分支相关推荐
- Python|Git remote|hosts|PyCharm常用快捷键|变量转换|命名|类型|运算符|分支|调整tab|循环|语言基础50课:学习记录(1)-项目简介及变量、条件及循环
目录 系列目录 均引自原项目地址: Python语言基础50课简介及相关网址 修改 hosts 文件 解决 GitHub 上图片无法显示 视频资源 Python语言基础50课代码等文件资源 表1. P ...
- Python 工匠:编写条件分支代码的技巧
『Python 工匠』是什么? 我一直觉得编程某种意义上是一门『手艺』,因为优雅而高效的代码,就如同完美的手工艺品一样让人赏心悦目. 在雕琢代码的过程中,有大工程:比如应该用什么架构.哪种设计模式.也 ...
- windows系统-函数的条件分支实现用汇编语言解释
下面让我们来看一下条件分支的实现方法.条件分支的实现方法同循环处理的实现方法类似,使用的也是cmp指令和跳转指令,这一点估计大家也预料到了. 没错,条件分支就是利用这些指令来实现的.不过,为了以防万一 ...
- Shell脚本基础 、 使用变量 、 条件测试及选择 、 列表式循环案例
Shell脚本基础 . 使用变量 . 条件测试及选择 . 列表式循环案例 1 案例1:Shell脚本的编写及测试 1.1 问题 1.2 方案 1.3 步骤 2 案例2:重定向输出的应用 2.1 问题 ...
- 零基础入门学习 Python(4)条件分支、while循环、逻辑连接符、引入外援
Python的比较操作符 Python的比较操作符 含义 > 左边大于右边 >= 左边大于等于右边 < 左边小于右边 <= 左边小于等于右边 == 左边等于右边 != 左边不等 ...
- 用 C 语言开发一门编程语言 — 条件分支
目录 文章目录 目录 前文列表 条件分支 排序函数 等于函数 if 函数 递归函数 源代码 前文列表 <用 C 语言开发一门编程语言 - 交互式解析器> <用 C 语言开发一门编程语 ...
- JavaScript基础06-day08【if练习、条件分支语句switch、for循环】
学习地址: 谷粒学院--尚硅谷 哔哩哔哩网站--尚硅谷最新版JavaScript基础全套教程完整版(140集实战教学,JS从入门到精通) JavaScript基础.高级学习笔记汇总表[尚硅谷最新版Ja ...
- lua 区间比较_TI-Lua 系列教程2.4.1: 条件分支
2.4.1 条件分支 数学上,分段函数在不同的区间,可以有不同的表达式.这些不同的表达式,可以视为分段函数的分支. 要想在程序中实现这样的一个分段函数,就需要使用分支结构,来实现不同区间对输入的不同计 ...
- case when then else_啃食Oracle:条件分支表达式CASE
啃食Oracle:条件分支表达式CASE CASE表达式是条件分支表达式,类似于if - elsif -else条件分支语句.常见用法是在select的表达式列表中使用. 以下图示来自于官方文档 上图 ...
最新文章
- R语言使用timeROC包计算无竞争情况下的生存资料多时间AUC值、R语言使用timeROC包的plotAUCcurve函数可视化多时间生存资料的不同标记物情况下对应的AUC曲线、并进行对比
- Hyper-V下虚拟机无法启动的故障排除
- 重磅发布 | 30+ 阿里巴巴云原生「顶流」,给你一堂《云原生技术实践公开课》
- Rolling Guidance Filter
- 空间数据挖掘的主要方法总结
- 通信网络安全分层及关键技术解决
- java字节码_好的,每个接触Java字节码的人
- Python进阶(上下文管理器与with语句)
- php打印错误日志到本地,nginx+php怎么打印php的错误日志?
- java udp 服务器方_Java的UDP通信的小程序,UDP服务器
- 当推荐系统遇见知识图谱会发生什么?
- 27. Minimize casting
- 【OR】YALMIP 鲁棒优化
- html flash mp3播放器,网页实用最简单的flash mp3播放器代码-多样式
- CVPR历年best paper(2000-2018)
- 计算机无线网怎么安装教程,wifi怎么安装,教您电脑如何安装wifi
- Program received signal SIGFPE,Arithmetic exception.
- Nginx企业级配置
- chm打开秒退_Mac_Mac电脑程序无响应怎么办?Mac程序无响应解决方法,虽然Mac电脑一向以运行稳定、 - phpStudy...
- Variant 数据类型介绍