Python学习笔记---day02快速上手
day02快速上手
课程目标:学习Python最基础的语法知识,可以用代码快速实现一些简单的功能
课程概要:
- 初识编码(密码本)
- 编程体验
- 输出
- 初识数据类型
- 变量
- 注释
- 输入
- 条件语句
1. 编码
计算机中所有的数据本质上都是以0和1的组合来存储
在计算机中有这么一个编码的概念(密码本)
每种编码都有自己的一套密码本,都维护自己的一套规则,如:
utf-8编码:
刘 -> 01111111 000110101 0100110101
小 -> 01000100 000011100 1011001010
伟 -> 10101011 011110100 1110011101
gkb编码
刘 -> 00010111 110100111 1101001001
小 -> 01000100 000011100 1011001010
伟 -> 11101101 111010110 0101100110
所以,使用的不同的编码保存文件时,硬盘的文件中存储的0/1也是不同的
注意:以某个编码的形式保存文件,以后就要以这种编码去打开这个文件,否则就会出现乱码
2. 编程体验
编码必须要保持:保存和打开一致,否则会乱码
默认Python解释器UTF-8编码的形式打开文件。如果想要修改Python的默认解释器编码,可以如下形式:
# -*- coding:gbk -*- print('我是你二大爷')
建议:所有Python代码文件都以UTF-8编码保存和读取。
3. 输出
将结果或内容想要呈现给用户
print("看着风景美如画")
print(adidas)
关于输出
默认print在尾部会加换行符
print('看这风景美如画') print('本想吟诗赠天下')输出:看这风景美如画本想吟诗赠天下
想要补换行,可以这样做:
print('看这风景美如画', end='') print('本想吟诗赠天下', end='')输出: 看这风景美如画本想吟诗赠天下
练习题
print('输出自己的姓名:刘小伟')# 换行输出
print('春眠不觉晓,')
print('处处闻啼鸟。')
print('夜来风雨声,')
print('花落知多少。')# 一行输出
print('春眠不觉晓,', end='')
print('处处闻啼鸟。', end='')
print('夜来风雨声,', end='')
print('花落知多少。', end='')输出:
输出自己的姓名:刘小伟
春眠不觉晓,
处处闻啼鸟。
夜来风雨声,
花落知多少。
春眠不觉晓,处处闻啼鸟。夜来风雨声,花落知多少。
4. 初识数据类型
4.1 整型(int)
整型、整数
整型,其实就是以前数学课上讲的整数(不包含小数),在写代码时用于表示整数相关的东西,例如:年龄、存款、尺寸、手机号等。一般我们提到的:5、18、22、99…等整数在Python中都称为整型,且支持加/减/乘/除/指数等操作。
print(666)print(2 + 10)print(2 * 10)print(20 / 4)print(10 % 3)print(5 // 3)
4.2 字符串(str)
字符串,其实就是我们生活中等文本信息,例如:姓名,地址,自我介绍等
字符串有一个特点,必须由引号引起来,如:
单行字符串
print("我是Bruce_liu")print('中国北京昌平区')输出:
我是Bruce_liu
中国北京昌平区
多行字符串
print('''dfasfsakfjsakjfajfksa;kfsad;klfafas;
fasfjsakfsklafjklsa
fsadjksa;fasjdkfa;f;sa;f
fdsajklfjdas;f''')输出:
dfasfsakfjsakjfajfksa;kfsad;klfafas;
fasfjsakfsklafjklsa
fsadjksa;fasjdkfa;f;sa;f
fdsajklfjdas;f
对于字符串,运算符只支持两种:
加, 两个字符串可以通过加号拼接起来
"alex" + '是金角大王吧' 'alex是金角大王吧'print("alex" + '是金角大王吧') print('alex是金角大王吧')输出: alex是金角大王吧 alex是金角大王吧
乘,让整型和字符串进行相乘,以实现让字符串重复出现N次并拼接起来
print('我想吃饺子' * 3)输出: 我想吃饺子我想吃饺子我想吃饺子
4.3 布尔类型(bool)
布尔类型总共两个值:True / False
1 > 2
1 == 1输出:
False
True
name = input('请输入用户名:')
if name == 'Alex':print('用户登陆成功!')
else:print('用户登陆失败!')
4.4 类型转换
上文数据类型int/str/bool有了初步了解,他们都有自己不同的定义方式。
- int,整型定义时,必须是数字且无引号,例如:5、8、9
- str,字符串定义时,必须用双引号括起来,例如:“中国”、“刘小伟”、“666”
- bool,布尔值定义时,只能写True和False
不同的数据类型都有不同的功能,例如:整型可以加减乘除而字符串只能加(拼接)和乘法。
如果想要做转换可遵循一个基本规则:想转换什么类型就让它包裹一下。例如:str(666)是将整型转换为字符串、int(‘888’)是将字符串转为整型。
转为整型:
# 字符串转换整型
int("666")
int('999')
"6" + "9" 结果是"69"
int("6") + int("9") 结果是15# 布尔类型转换为整型
int(True) 转换完等于1
int(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('fdasfda') True
bool('') False
bool(' ') True
三句话搞定类型转换
其他所有类型转换为布尔类型时,除了空字符串、0以外其他都是True
字符串转整型时,只有那种“988”(数字型)格式的字符串才能转为整型,其他都报错
想要转为哪种类型,就用这类型的英文包裹一下就行
str(...) int(...) bool(...)
注意:类型转换不是改变原来值,实际在底层是新创建了一个值。例如有整数6,然后使用str(6)转化了一下得到“6”,实际上这个字符串“6”是依据整数6新创建的。
练习题
- 计算整型50乘以10再除以5的商并使用print输出
- 判断整型8是否大于10的结果并使用print输出
- 计算整型30除以2得余数并使用print输出
- 使用字符串乘法实现把字符串“我爱我的祖国”创建三遍并拼接起来最终使用
- 判断字符串"liuxiaowei"和"bruce"是否相等的结果并使用print输出
- 判断整型666和整型666是否相等的结果并使用print输出
- 判断字符串"666"和整型666是否相等的结果并使用print输出
- 看代码写结果(禁止运行代码)
print(int("100")*3) 300
print(int("123") + int("88")) 211
print(str(111)+str(222)) "111222"
print(str(111)*3) "111111111"
print(int("8")>7) True
print(str(111) == 111) False
print(bool("")) False
print(bool(-1)) True
print(bool(0)) False
print(bool("你好")) True
print(True == True) True
print(True == False) False
print(bool("") == bool(0)) True
print(50 * 10 / 5)print(8 > 10)print(30 % 2)print('我爱我的祖国' * 3)print('liuxiaowei' == 'alex')print(666 == 666)print(666 == str(666))输出:
100.0
False
0
我爱我的祖国我爱我的祖国我爱我的祖国
False
True
False
5 .变量
变量,其实就是我们生活中起别名和外号,让变量名指向某个值,格式为:【变量名=值】,以后可以通过变量名来操作对应的值。
name = "刘小伟"
print(name) # 刘小伟
age = 18
name = 'alex'
flag = 1 > 18
address = '北京昌平' + '沙河' + name # "北京昌平沙河alex"print(addr)
print(flag)
age = 18
number = 1 == 2 # False
注意:
- 给变量赋值 age = 18
- 让age代指 age =18
5.1 变量名的规范
age = 18
name = 'alex'
flag = 1 > 18
address = '北京昌平' + '沙河'
三个规范:
变量名只能由字母、数字、下划线组成
变量名不能以数字开头
na9me9 = "alex"
不能用Python内置的关键字
def = 'alex' break = 123
[‘and’, ‘as’, ‘assert’, ‘break’ , ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘except’, ‘exec’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’,‘not’, ‘or’, ‘pass’, ‘print’, ‘raise’, ‘return’,‘try’, ‘while’, ‘with’, ‘yield’]
两个建议:
下划线连接命名(小写)
father_name = 'liuxiaowei' brother_age = 19
见名知意
age = 18 color = 'red' current_user_name = '吉诺比利' n1 = 123 # 不可取 n2 = 456 # 不可取
练习题
name = '吉诺比利'
name0 = '帕克'
name_1 = '波波维奇'
_coach = '邓肯'
_ = '卡哇伊'
1_year = '1990' # 错误
_1_year = '1990'
nba-team = '马刺' # 错误
new*name = '伦纳德' # 错误
5.2 变量内存指向关系
通过学习上述变量知识让我们对变量有了初步认识,接下来我们就要从稍高级一些的角度来学习变量,即:内存指向(在电脑的内存中是怎么存储的)
情景一
name = 'liuxiaowei'
在计算机的内存中创建一块区域保存字符串’liuxiaowei’, name变量名则指向这块区域。
情景二
name = 'liuxiaowei'
name = 'alex'
在计算机的内存中创建一块区域保存字符串’liuxiaowei’, name变量则指向这块区域。然后又在内存中创建了一块区域,然后又在内存中创建了一块区域保存字符串’alex’, name变量名则指向’alex’,不再指向’liuxiaowei’所在区域(无人指向的数据会被标记为垃圾,由解释器自动回收)
情景三
name = 'liuxiaowei'
new_name = name
在计算机的内存中创建一块区域保存字符’liuxiaowei’, name变量名则指向这块区域。new_name变量名指向name变量,因为被指向的变量名,所以自动会转指向到name变量代表到内存区域
情景四
name = "liuxiaowei"
new_name = name
name = 'alex'
在计算机的内存中创建一块区域保存字符串"liuxiaowei", name变量名则指向这块区域(灰色线),然后new_name指向name所指向的内存区域,最后又创建了一块区域存放’alex’,让name变量指向’alex’所在区域
情景五
num = 18
age = str(num)
在计算机的内存中创建一块区域保存整型18,name变量名则指向这块区域。通过类型转换依据整型18再在内存创建一个字符串“18”,age变量指向保存这个字符串的内存区域
练习题
看代码结果
alex_length = 3 liuxiaowei_length = 18 total = alex_length + liuxiaowei_length print(total)输出: 21
按要求写代码
# 假设age为小明的年龄 age = 18 # 问:已知小李比小明大3岁,计算小李年龄赋值给ming_age 变量并输出 xiaoli_age = age + 3 ming_age = xiaoli_age print(ming_age) # 问:已知大刘比小明和小李年龄大和还要大5岁,计算大刘的年龄赋值给liu_age变量并输出 liu_age = xiaoli_age + ming_age + 5 print(liu_age)
看代码写结果
nickname = '一米八大高个' username = nicknamenickname = '弟弟' 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 = 'alex'age = 19 # 这表明当前用户的年龄注意:快捷键 command + ?(mac)、 control + ?(windows)
多行注释
""" 多行注释 多行注释 """
7. 输入
输入,可以实现程序和用户之间的交互 。
# 1. 右边input('请输入用户名:')是让用户输入内容
# 2. 将用户输入的内容赋值给name变量name = input('请输入用户名:')if name == 'alex':print('登陆成功!')
else:print('登陆失败!')
data = input(">>>")
print(data)
特别注意:用户输入的任何内容本质上都是字符串
提示输入姓名,然后给姓名后面拼接一个“烧饼”,提示输入姓名,然后给姓名后面拼接一个“烧饼”,最终打印结果
name = input('请输入姓名:') name = name + '烧饼' print(name)输出: 请输入姓名:alex alex烧饼
提示输入姓名/位置/行为,然后做拼接并打印:xx在xx做xx
name = input('请输入姓名:') address = input('请输入位置:') action = input('请输入行为:')text = name + '在' + address + action print(text)
提示输入两个数字,计算两个数字的和
num1 = input('请输入一个数字:') # '1' num2 = input('请输入一个数字:') # '2'value = num1 + num2 print(value)
8. 条件语句
if 条件:条件成立之后的代码...条件成立之后的代码...条件成立之后的代码...
else:条件不成立之后执行的代码...条件不成立之后执行的代码...条件不成立之后执行的代码...
name = input('请输入姓名:')
if name == 'alex':print('sb')
else:print('db')
提醒:统一缩进问题(都是使用四个空格 = tab)
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
usernam = 'liuxiaowei' password = '666' if username == 'liuxiaowei' and password == '666':print('恭喜你,登陆成功') else:print('登陆失败')
示例5
username = 'liuxiaowei'if username == 'liuxiaowei' or username == 'alxex':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('结束')
练习题
提示用户输入用户名和密码,用户名等于‘liuxiaowei’且密码等于’uuu’就输出登录成功,否则输出登录失败
username = input('输入用户名:') password = input('输入密码:')if username == 'liuxiaowei' and password == 'uuu':print(f'{username}登录成功') else:print(f'{username}登录失败')
猜数字,提示用户输入一个数字,判断数字如果大于10, 就输出猜错了;否则输出猜错了
number = input('请输入一个数字:') if int(number) > 10:print('猜错了') else:print('猜对了')
提示用户输入一个数字,判断是否为偶数,是偶数则输出偶数,否则输出奇数
number = input('请输入一个数字:') data = int(number) % 2 == 0 if data:print(f'{number}是偶数') else:print(f'{number}是奇数')
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('>>>\n查询话费请按1;交话费按2')if int(cost) == 1:print('查询话费余额为100')elif int(cost) == '2':print('交话费')
elif choice == '2':print('业务办理')
elif choice == '3':print('人工服务')
else:print('序号输入错误')
总结
- 什么是编码?打开文件时为什么会出现乱码?
- pycharm如何设置文件编码
- python解释器去打开代码文件时,默认使用编码是什么?如何修改?
- print输入
- 各数据类型格式以及相关之间如何实现转换
- 变量的命名规范
- 用户通过input输入的内容均为字符串类型
- 条件语句
今日作业
谈谈你了解的编码以及为什么会出现乱码的现象?
Python解释器默认编码是什么?如何修改?
默认编码:utf-8 在文件顶部通过设置:# -*- coding=编码 -*- 实现修改
用print打印出下面内容
文能提笔安天下, 武能上马定乾坤。 心存谋略何人胜, 古今英雄唯是君。
print('文能提笔安天下,') print('武能上马定乾坤。') print('心存谋略何人胜,') print('古今英雄唯是君。')print('文能提笔安天下,', '\n武能上马定乾坤。', '\n心存谋略何人胜,', '\n古今英雄唯是君。')
变量名的命名规范和建议?
如下哪个变量名是正确的?
name = '刘小伟' _ = 'alex' _9 = '老男孩' 9name = '宝浪' # 错误 oldboy(edu = 666 # 错误 出现了字母、数字、下划线以外的字符
设定一个理想数字比如:66, 让用户输入数字,如果比66大,则显示猜测结果正确
num = input('>>> \n输入一个数字:') if int(num) > 66:print('大了') elif int(num) < 66:print('小了') elif int(num) == 66:print('正确')
提示用户输入"爸爸",判断用户输入的对不对,如果对,提示真聪明,如果不对,提示你是傻逼么
person = input('>>> 输入爸爸:') if person == '爸爸':print('傻逼吗') else:print('真聪明')
写程序,成绩有ABCDE5个等级,与分数的对应关系如下:
A 90-100 B 80-89 C 60-79 D 40-59 E 0-39
要求用户输入0-100的数字后,你能正确打印他的对应成绩等级
score = input('>>> 输入成绩:') if int(score) >= 90 and int(score) <= 100:print('A') elif int(score) >= 80 and int(score) < 90:print('B') elif int(score) >= 60 and int(score) < 80:print('C') elif int(score) >= 40 and int(score) < 60:print('D') elif int(score) >= 0 and int(score) < 40:print('E') else:print('错误')
Python学习笔记---day02快速上手相关推荐
- 轩小陌的Python笔记-day02 快速上手
day02 快速上手 课程目标:学习Python最基础的语法知识,可以用代码快速实现一些简单的功能. 课程概要: 初识编码(密码本) 编程初体验 输出 初识数据类型 变量 注释 输入 条件语句 1.初 ...
- JavaEE学习笔记-SpringBoot快速上手、热部署、乱码问题、部分注解解释
SpringBoot快速上手 一.快速创建SpringBoot应用 1.1利用IDEA提供的Spring Initializr创建Spring Boot应用 1.2Spring Boot生成的项目结构 ...
- clojure java math_Clojure学习笔记 02.快速上手
这一节让我们来了解一下那些"使用Clojure编程必须要掌握的东西". 其实Clojure(以及其他lisp系语言)的学习曲线还是比较陡峭的.学习Clojure之前必须要掌握一些基 ...
- oracle 快速上手,Oracle学习笔记:快速上手
开启服务:先开启Lisenterner服务 再开启ORCL服务 oracle登录 用户: - 管理员 sysDBA - 无密码 - 系统用户 system - manager - 普通用户 scott ...
- Python学习笔记--10.Django框架快速入门之后台管理admin(书籍管理系统)
Python学习笔记--10.Django框架快速入门之后台管理 一.Django框架介绍 二.创建第一个Django项目 三.应用的创建和使用 四.项目的数据库模型 ORM对象关系映射 sqlite ...
- day02 快速上手
day02 快速上手 课程目标:学习Python最基础的语法知识,可以用代码快速实现一些简单的功能. 课程概要: 初识编码(密码本) 编程初体验 输出 初识数据类型 变量 注释 输入 条件语句 1.编 ...
- 模块一 day02 快速上手
day02 快速上手 课程目标:学习Python最基础的语法知识,可以用代码快速实现一些简单的功能. 课程概要: 初识编码(密码本) 编程初体验 输出 初识数据类型 变量 注释 输入 条件语句 1.编 ...
- python学习笔记(一)Python 简单介绍
Python学习笔记(一)Python 简单介绍 Python介绍 Python简介 Python应用领域 Python是解释型的语⾔ 编译和解释的区别是什么? 编译型vs解释型 编译型 解释型 Py ...
- 【Python学习笔记】cs231nPython Numpy教程
[Python学习笔记]cs231nPython Numpy教程 回顾经典教程cs231n,完成assignments觉得很困难,感觉自己python基础语法掌握的不是很熟,就顺藤摸瓜找了cs231n ...
最新文章
- 《UNIX环境高级编程》--符号链接
- 查询SDE数据库,GSON报错:declares mutiple JSON fields named data
- python下载邮箱附件_基于Python3 下载邮箱附件,并解压到指定文件夹
- MyEclipes+html+jsp+mysql实现一个物流信息网
- 单片机定时器_51单片机的定时器如何计算初值?
- 移动端安全测试主要涉及_Android APP安全测试基础
- 查找算法------顺序查找
- Windows Ubuntu,软件推荐,小技巧总结,免费内网穿透方案
- Vplayer:一下团队打造的Android万能播放器
- android scheme 参数解析,Android 利用scheme协议进行跳转
- 项目助理是打杂的吗_应届生如何着手准备应聘产品助理?
- 移动智能终端之应用商店和应用的安全管理机制(笔记四)
- 求生之路服务器租用配置要求介绍
- 两无线路由器连接方法
- 华为智能家居app未能连接上远程云服务_华为云主机远程连接不上 华为云服务登录手机版...
- PDF导出图片-python
- 大天使之剑服务器维护,大天使之剑部分区服维护公告
- Jave中IO的详细总结
- 广告投放管理平台 oython源码_【直播】全新腾讯广告投放管理平台如何帮助广告主乘风破浪...
- 程序猿最后的愿望是什么?