黑马程序员8日python学习笔记

黑马程序员的教程给小白的体验非常良好,讲的非常细致,甚至会介绍一下鼠标快捷键的设置,会提到一些新手很容易踩到的坑。

打开python

win+R python

看到>>>(进入到解释器内部,可以通过exit()退出)才可以进行输入

print(”XXX”)

<aside> 💡 SyntaxError: invalid character 中文符号

</aside>

使用解释器

用python命令运行.py文件,执行整个文件里的所有代码

C:\\Users\\Administrator>python D:\\desktop\\test.py

IDE-pycharm

在project下方右键创建新py的文件

右键选择运行

在settings-Plugins-Marketplace可以搜索下载插件

字面量

注释

单行注释(“#”后需要加一个空格) # 注释内容

多行注释 ”””注释内容“””

变量

变量的定义格式 变量名称:变量的值

money = 50
print("钱包还有:",money)
money = money - 10
print("花费10元,还剩余:", money, "元")
  • 变量运算直接输入即可

数据类型

可以用type( )语句获得数据类型

数据类型转化

int(x)

float(x)

str(x)

关键字

大小写敏感,有特殊用途,不可以占用为标识符

算数运算符

字符串

定义形式

name = ‘内容’

name = “内容”

name = “””内容”””

字符串拼接

print("test1"+"test2")

字符串不能和数字直接用“+”拼接

字符串格式化

%s把变量变成字符串放入占位的地方

message = "学IT就来 %s-"% name

class_num = 57
avg_salary = 16781
message = "第%s期,毕业平均工资:%s" %(class_num, avg_salary)
print(message)

多个变量占位,变量要用括号括起来,并按照占位的顺序填入

%d把内容转换成整数

%f把内容转换成浮点数

格式化的精度控制

m.m控制数据的宽度和精度

m要去数字,设置的宽度需要大于数字本身(如果小则不生效)

n小数点精度,会进行四舍五入

%5d 整数
%5.2f

快速格式化字符串

f”内容{变量}”

快速格式化不限制数据类型,不做精度控制

name = "mls"
year = 1998
print(f"我是{name},我出生于{year}年")

对表达式进行格式化

用%占位表达式

f{}表达式

print("1*1的结果是:%d %(1*1) ")
print(f"1*2 的结果是:{1*2}")
print("字符串类型是%s" % type("字符串"))

数据输入input()

name = input()

逻辑判断

布尔类型

True真1 False假0 (首字母大写)

变量名称 = 布尔类型字面量
#定义变量存储布尔类型的数据
bool_1 = True
bool_2 = False
result = 10 > 5
print(f"10>5的结果是:{result},类型是:{type(result)}")

if判断语句

if 要判断的条件: 条件要成立的时候,要做的事情

age = int(input("请输入你的年龄:"))

if age >= 18:
    print("已成年")

print("结束")

if else语句

if 条件:

要做的事情1

要做的事情2

……

else:

不满足要做的事情1

……

age = int(input("请输入你的年龄:"))

if age >= 18:
    print("已成年")
else:
    print("未成年")
print("结束")

if elif else语句多条件判断语法

if 条件1:

要做的事情1

要做的事情2

……

elif 条件2:

要做的事情1

……

elif 条件3:

要做的事情1

……

else:

要做的事情1

……

height = int(input("身高:"))
vip_level = int(input("vip级别:"))

if height < 120:
    print("free")
elif vip_level > 3:
    print("free")
else:
    print("buy")
#猜猜心里数字

num = 5
if int(input("请猜一个数字:")) == num:
    print("1 s")
elif int(input("猜错了,再猜一次:")) == num:
    print("right")
elif int(input("猜错了,再猜一次:")) == num:
    print("last chance")
else:
    print("sorry")

嵌套语句

*空格缩紧——>层次关系

if int(input("your height is: ")) > 120:
    print("too high")
    print("but if your vip level is higher than 3, then free")

    if int(input("your vip level is: ")) > 3:
        print("Congratulations!")
    else:
        print("sorry again")
else:
    print("free")

随机产生数字

import random

num = random.randint(1,10)

循环语句

while循环语句

while条件:

条件满足时,做的事情1

条件满足时,做的事情2

……

只要条件满足,会无限循环执行

i = 0
while i < 10:
    print("keep going")
    i += 1
#while循环的嵌套应用
i = 1
while i <= 10:
    print(f"{i}")
    j = 1
    while j <= 10:
        print(f"{j}")
        j += 1
    print("a")
    i += 1

print("over")
#九九乘法表
i = 1
while i <= 9:
    j = 1
    while j <= i:
        print(f"{j}*{i}={j*i}\\t", end='') # \\t表示制表符,进行对齐
        j += 1

    i += 1
    print() #输出一个换行

for循环

基本语法

while循环自行控制循环条件,for循环是一种“轮询”机制,对一批内容进行逐个处理,无法定义你循环条件

name = "python"
for x in name:
    print(x)

for 临时变量 in 待处理数据集(序列):

循环满足条件时执行的代码

range语句

待处理数据集-序列类型

range(num) 从0开始,到num结束的数字序列(不包括num)

range(num1, num2)从num1开始,到num2结束(不包含num2)

range(num1, num2, step)从num1开始,到num2结束,数字步长为step(不包含num2)

for x in range(1,10,2):
    print(x)

变量作用域

临时变量尽量只在for循环内部使用

#for循环的嵌套应用
for i in range(11) :
    print(f"{i}")
    for j in range(11):
        print(f"{j}")
    print("a")

print("over")
#九九乘法表
for i in range(10):
    for j in range(i+1):
        print(f"{j}*{i}={j*i}\\t", end='') # \\t表示制表符,进行对齐
    print() #输出一个换行

continue和break

  • 暂时跳过某次循环,直接进行下一次
  • 提前退出循环,不再继续

continue:中断本次循环,直接进入下一次循环

for i in range(10):
   print("word1")
   continue
   pirnt("word2") #语句2在continue后面(仅该层循环内侧),每次都不会被执行

break:直接结束循环

for i in range(10):
   print("word1")
   break
   pirnt("word2")#运行了i=0的情况,循环就结束了
print("word3")
money = 10000
for i in range(1,21):
   import random
   score = random.randint(1,10)

   if score < 5:
      print(f"people{i}'s score is {score}, unavailable")
      continue
   if money >= 1000:
      money -= 1000
      print(f"people{i} is availabel, count number is:{money}")
   else:
      print(f"money is {money}, not enough")
      break

python函数

函数介绍

组织好的,可重复使用的,用来实现特定功能的代码段

str = "lvoedjosf "
count = 0
for i in str:
   count += 1
print(f"the lengh of {str} is : {count}")

def my_len(data):
   count = 0
   for i in data:
      count += 1
   print(f"the lengh of {data} is : {count}")

my_len(str)

函数定义

def 函数名(传入参数):
	函数体
	return 返回值

函数调用

函数名(参数)

函数的参数

传入参数:在函数进行计算的时候,去接受外部输入的数值

def add(x,y):
   result = x + y
   print(x+y)

add(1,2)

函数的返回值

返回值

函数完成事情后,最后给调用者的结果

函数体遇到return关键字,后面的代码不会执行

def 函数名(传入参数):
	函数体
	return 返回值

变量 = 函数(参数)

def add(x,y):
   result = x + y
   return result

r = add(1,2)
print(r)

None类型

<class’NoneType’>

不写return,就会返回None,也可以return None

None相当于false

也可以用于声明无内容的变量

函数的说明文档

def func(x,y)
	"""
	函数说明
	:param x:
	:param y:
	:return:
	"""
	函数体
	return 返回值
def add(x,y):
   result = x + y
   return result
   """
   :param x:x表示数字1
   :param y:y表示数字2
   :return:返回两者之和
   """
r = add(1,2)
print(r)

函数的嵌套调用

函数里调用另外一个函数

def fun_b():
   print("2--")
def fun_a():
   print("1--")

   fun_b()

   print("3--")

fun_a()

变量的作用域

局部变量:作用域在函数体内部

全局变量:在函数外定义

函数内部的修改变量操作不会对全局变量产生影响

如果强行修改➡️global关键字➡️函数内的变量变成全局变量

num = 1
def a():
   print(num)

def b():
   global num 
   num = 2
   print(num)

a()
b()
print(num)
"""
演示函数综合案例开发
"""
#定义全局变量money
money = 5000000
name = None
#要求客户输入姓名
name = input("请输入您的名字:")
#定义查询函数
def query(show_header):
   if show_header:
      print("-查询余额-")
   print(f"{name},您的余额为:{money}元")
#定义存款函数
def saving(num):
   global money
   money += num
   print("-存款-")
   print(f"{name},您存款{num}元成功")
   #调用query函数查询余额
   query(False)
#定义取款函数
def get_money(num):
   global money
   money += num
   print("-取款-")
   print(f"{name},您取款{num}元成功")
   # 调用query函数查询余额
   query(False)
#定义主菜单函数
def main():
   print("-主菜单-")
   print(f"{name},请选择操作")
   print("查看余额\\t[输入1]")
   print("存款\\t\\t[输入2]")
   print("取款\\t\\t[输入3]")
   print("退出\\t\\t[输入4]")
   return input("请输入您的选择: ")
#设置无限循环,确保程序不退出
while True:
   keyboard_input = main()
   if keyboard_input =&
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值