day02

 

一、常量和变量

1.Python中的数据类型

计算机主要是用来做数学运算的,计算机程序可以处理各种不同类型的数据

Number【数字:整型,浮点型【小数】,复数型:a + bj】

String【字符串】

Boolean【布尔型:True,False】

None【空值】

list【列表】

tuple【元组】

dict【字典】

set【集合】

函数

数字类型

​ 整型:Python中的整型可以处理任意大小的整数【int:integer】,而且支持二进制

​ 浮点型:小数,可以使用科学计数法表示,一个浮点数的小数点的位置是可以任意的

​ 举例:123.456-------》1.23456e2

​ 复数型:a+bj,a是实部,b是虚部

字符串:以单引号或者双引号括起来的任意文本

布尔型:只有两个值,一般使用在判断中

2.常量

程序在运行的过程中,值永远不会发生改变的标识符

例如:圆周率

3.变量【掌握】

3.1概念

程序在运行的过程中,值随时可以发生改变的标识符

在程序设计中,变量是一种存储数据的载体

3.2使用

根据具体的需求,来定义不同类型的变量

#数学上
a = 3
b = 5
z = a x b

语法:标识符 = 初始值

说明:标识符其实就是变量名,也被称为引用

初始值:第一次给变量赋予的值,是可以随时被发生改变的,同时也确定了在程序运行的过程中变量的数据类型

例如:age = 10

代码演示:

#1。变量的定义
age = 10
print(age)


#注意事项:变量必须先定义,然后再使用
#print(age1) #NameError: name 'age1' is not defined


#2.关于变量的命名
#Python官方的建议
stu_name = "zhangsan"
#驼峰命名法,变量名必须是小驼峰
stuName = "lisi"


#3。和常量之间的联系
#如果在程序中,一个变量的值不需要被发生改变,当做常量使用,则变量的命名需要遵循常量命名法【所有的单词全大写,不同的但系之间使用下划线分隔】
#注意:Python中常量本质上还是一个变量
X = 20
"""
print(20)
print(20 + 1)
print(20 * 4)
"""
print(X)
print(X + 1)
print(X * 4)
3.3内存中的变量

如果定义一个变量,需要在内存中开辟一块空间,将指定类型的数据存储到这块空间中

变量的作用:为了存储数据,一个变量一次只能存储一个数据

代码演示:

#1.变量的重新赋值
num1 = 10
print(num1)
num1 = 30
print(num1 + 1)

#注意:Python中的变量可以改变值,也可以改变数据类型【动态数据类型】
num1 = "hello"
print(num1)


#2.内存中的变量【了解】
#如果定义一个变量,需要在内存中开辟一块空间,将指定类型的数据存储到这块空间中
#变量的作用:为了存储数据,一个变量一次只能存储一个数据
"""
内存的划分:
栈:存储变量的引用
堆:存储的是实体
常量池
方法区
"""
name1 = "zhangsan"
name2 = name1
print(name1)
print(name2)

name1 = "Jack"
print(name1)
print(name2)

 



补充:如果一个实体没有引用指向它,则会被系统的垃圾回收机制回收,该实体原来占用的空间会被释放掉,从而达到内存优化使用的目的

思考问题:变量在内存中占用了空间,内存何时释放【release】?

手动管理内存和自动管理内存

3.4删除变量

注意:当变量被删除之后,变量将无法再 使用,相当于该变量根本未被定义

语法:del 变量名

代码演示:

#3.删除变量【了解】
a = 23
print(a)
#手动释放了该变量在内存中占用的空间
del a
#print(a)
3.5总结

a.变量的值是可以随时发生改变的

b.变量的定义需要在内存中开辟空间

c.变量存在的意义:就是为了处理生活中各种可变的数据

3.6类型转换【掌握】

int(xx):将xx转换为整型,默认是十进制

float(xx):将xx转换为浮点型

str(xx):将xx转换为字符串

id():获取一个变量在内存中的地址

type():用来获取一个变量的数据类型

chr(xx)

ord(xx)

代码演示:

#1.
num1 = 100
print(type(num1))
print(id(num1))

num2 = num1
print(type(num2))
print(id(num2))

#2.str();可以将任意类型的数据转换为字符串
str1 = str(num1)
print(type(str1))

#3.int():将数据转换为整型
s1 = "245"
num3 = int(s1)
print(num3)
print(type(num3))

"""
注意:如果需要转换的字符串中包含字母和特殊符号,则会转换失败
如果+或者-出现在字符串的开头,则会被识别为正负号,则可以正常转换
"""
s2 = "abc123"
#num4 = int(s2)
#print(num4)

s3 = "-123"
num5 = int(s3)
print(num5)

#将浮点型转换为整型,实质是取整,不涉及四舍五入
num6 = int(10.63)
print(num6)

#4.float();将指定的数据转换为浮点型
f1 = float(24)
print(f1)

f2 = float("23.4")
print(f2)

#5,ASCII码表的转换
#将整型转换为字符串
c1 = chr(66)
print(c1)

c2 = chr(48)
print(c2)

#将字符串转换为整型
o1 = ord("a")
print(o1)

#练习:编写程序,定义一个变量,初始值为“e”,输出“E”
str1 = "e"
n1 = ord(str1)   #101
n2 = n1 - 32
str2 = chr(n2)
print(str2)

三、输入输出【掌握】

1.输出print

作用:可以打印到屏幕上的信息【从内存到磁盘】

代码演示:

#第一部分:基本用法
#1.打印一个数据
print("hello world")

#2.可以使用一条print打印多个数据,多个数据之间使用逗号隔开
#注意:结果默认使用空格隔开
print("abc",27,True)


#3.可以进行拼接
print(10 + 20)
print("10 + 20 =",10 + 20)
num1 = 10
num2 = 20
print("num1 + num2 = ",num1 + num2)

#4.使用占位符拼接
"""
%d:整型
%f:浮点型
%s:目前代表的是字符串

语法:“占位符1 占位符2 。。。”% (数据1,数据2.。。。)
"""

#注意:占位符和后面的数据必须要一一对应【数量和类型】
print("%d + %d = %d" % (num1,num2,num1 + num2))
print("%s---%f****%d" % ("abc",1.2,10))

#需求:保留小数点后两位
#%.nf,表示保留小数点后n位,可以进行四舍五入
print("%.2f" % (1.4565))

#%.nd表示输出的数据总共有几位,不够在前面补0
print("%.4d" % (4))


#第二部分:高级用法
"""
print的完整写法
print(values....,sep=" ",end="\n",file=sys.stdout,flush=False)
values:多个不确定 的数据
sep:分隔符
end:结尾符
file:表示内容要输出的位置
flush:刷新,提高工作效率
"""
#1.values
print("good" * 5)
print("good","good","good","good","good")
print("good" + "hello")
#注意:在Python中,只能字符串和字符串进行运算
#print("good" + 5)

#2.sep:separate
#注意;当打印多个数据的时候,可以通过sep自定义数据之间的连接符,默认使用空格
print(123,"hello","abc",sep="*****")

#3,end:结尾符,可以自定义,默认为\n   【掌握】
#\n:转义字符,表示换行
#如果一个字母或者一个特殊符号的前面添加了\,
print("hello",end="\n")
print("good")

#\t:tab键
print("hello\tworld")

#4.file:可以指定内容打印的位置,可以自定义文件,默认为系统的控制台
#注意:需要导入import sys,一般书写在py文件的最前面
print("打印hello",file=sys.stdout)
#相对路径
f = open("abc.txt","w")
#flush表示是否立刻将内容写入到指定的位置,默认为Flase
print("打印hello~~~~~~",file=f,flush=True)

2.输入input

作用:从外部获取值【从磁盘到内存】

代码演示:

#从控制台获取
#当代码执行到input的时候,程序会被暂时阻塞,等待用户的输入,当输入完成之后,通过回车键结束阻塞
#str1 = input()
#print(str1)

#input("请输入数据:")


#1.需求:从控制台输入一个年龄,根据输入的年龄计算还能活多少年?
#假设:100
"""
age = input("请输入年龄:")
total = 100
print(type(age),type(total))
print("还能活%d年" % (total - int(age)))
"""
age = int(input("请输入年龄:"))
total = 100
print(type(age),type(total))
print("还能活%d年" % (total - age))

#注意:通过input从控制台获取进来的数据,不管输入的是什么数据,都是字符串

print("还能活",total - age,"年")
print("还能活" + str( total - age) + "年")


#练习:从控制台输入两个数,计算两个数的乘积
num1 = int(input("请输入第一个数:"))
num2 = int(input("请输入第二个数:"))
print("乘积为:",num1 * num2)

四、运算符和表达式【第一部分】

1.表达式

是由操作数和运算符组成的一条语句

作用:求值,也可以给变量赋值

num1 = 10

num2 = 29

num1 + num2

2.运算符

2.1算术运算符

+   -   *【乘】     /【除】   %【求余,取模】 **【求幂】   //【取整】

代码演示:

num1 = 5
num2 = 3
print(num1 + num2)
print(num1 - num2)
print(num1 * num2)   #15
print(num1 / num2)
print(num1 % num2)   #2
print(num1 ** num2)  #m ** n:求m的n次方 pow(5,3)
print(num1 // num2)  #取整数部分,1

#注意问题:以上的计算在计算机的底层通过补码的形式计算的

#结论:在算术运算符中,求幂运算符的优先级最高
print(2 ** 5 * 3)  #96
print(2 * 5 ** 3)  #250

print(10 / 2 ** 5)

print((2 * 5) ** 3)   #1000
2.2赋值运算符

简单赋值运算符:=【给变量进行赋值】

复合赋值运算符:简单赋值运算符和算术运算符组合【给变量赋值的同时,还需要进行指定的运算】


+=   -=   *=   /=   %=   **=   //=

代码演示:

#1.简单赋值运算符
num1 = 10
num2 = num1
num3 = num1 + 2

#2.复合赋值运算符
num = 10
#num += 4   #等价于num = num + 4【赋值,运算】
print(num)
#num -= 4
print(num)
#num *= 4
print(num)
#num /= 4
print(num)
#num %= 4
print(num)
#num **= 4
print(num)
num //= 4
print(num)

总结:变量 算术运算符= 值

等价于 变量 = 变量 算术运算符 值

2.3关系【比较】运算符

>   <   ==     >=   <=   != [不等于]

注意:运算的结果是一个布尔值

举例:3 > 5

代码演示:

print(3 > 5)
print(3 == 5)   #恒等于
print("abc" == "abc")
str1 = "abc"
str2 = "abc"
print(str1 == str2)
​
#比较运算符可以比较数字,也可以比较字符串,依据的是ASCII码【字典中的顺序】
print("abc" <  "xyz")
2.4位运算符【了解】

二进制的运算


&【按位与】   |【按位或】   ^【按位异或】 ~【按位取反】  
<<【左移】   >>【右移】  

五、if语句【重点掌握】

语句的分类:

顺序结构:代码从上往下依次执行的

分支结构:根据条件执行不同的代码【if语句】

循环结构:重复执行某段代码【while循环,for循环】

if语句的使用:根据给定的条件进行判断,如果条件成立,则执行对应的分支语句,如果不成立,则执行其他的

1.简单if语句【单分支】

语法:

if 表达式:

​ 执行语句

说明:

​ a.冒号代表的是代码块的开始

​ b.缩进代表代码块的内容

​ c.工作原理:单分支,要么执行,要么不执行【如果表达式为真,则执行代码块,如果表达式为假,则不执行,直接跳过整个if语句继续执行后面的代码】

​ d.表达式:常量,变量,比较表达式

思考问题:何为真,何为假?

​ 假:0, 0.0 , None, "" ,False

代码演示:

import  random
​
​
#1.单分支
num1 = 50
num2 = 60if num1 == num2:
    num1 = 100print(num1)
​
if True:
    print("hello")
​
​
#练习:模拟彩票【随机获取一个数,和控制台输入的数作比较,如果相等,则认为中彩票了】
"""
获取随机数
第一步:导入import random
第二步:result = random.choice(range(100))  从0~99之间获取随机数
"""
"""
result = random.choice(range(10,51))
print(result)
num = int(input("请输入一个数:"))
if result == num:
    print("中奖了")
"""
​
​
#练习:从控制台输入一个数,判断该数是否是偶数
num1 = int(input("请输入一个数:"))
if num1 % 2 == 0:
    print("是偶数")
​
print("是奇数")

2.if-else语句【双分支】

语法:

if 表达式:

​ 执行语句1

else:

​ 执行语句2

说明:如果表达式为真,则执行语句1,如果表达式为假,则执行语句2

代码演示:

#需求:从控制台输入一个数,判断该数是否是偶数
num1 = int(input("请输入一个数:"))
if num1 % 2 == 0:
    print("是偶数")
else:
    print("是奇数")
​
#总结:双分支实际上实现了二选一的操作
​
​
#练习:根据年龄打印不同的年龄阶段
age = int(input("请输入合法的年龄:"))
if age < 18:
    print("未成年")
else:
    print("成年")

3.if-elif-else【多分支】

语法:

if 表达式1:

​ 执行语句1

elif 表达式2:

​ 执行语句2

elif 表达式3:

​ 执行语句3

。。。。

else:

​ 执行语句n

说明:实现了多选一的操作,不管其中的表达式有多少个成立,都只会执行其中的一个【优先原则】,如果所有的条件都不成立,则执行else分支

代码演示:

#根据年龄打印不同的年龄阶段
age = int(input("请输入合法的年龄:"))
if age < 0:
    print("输入有误")
elif age < 3:
    print("婴儿")
elif age < 10:
    print("儿童")
elif age <= 18:
    print("青少年")
else:
    print("成年")
​
#练习:从控制台输入一个成绩,打印不同的等级
"""
90~100:优秀
80~90:良好
70~80;继续努力
70以下:回家继续努力
"""
score = int(input("请输入成绩"))
if score > 100:
    print("你咋不上天呢")
elif score >= 90:
    print("优秀")
elif score >= 80:
    print("良好")
elif score >= 70:
    print("继续努力")
else:
    print("回家继续努力")

 

转载于:https://www.cnblogs.com/allwell/p/9938404.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值