以下均为个人笔记

一、注释

注释的作⽤ 通过⽤⾃⼰熟悉的语⾔,在程序中对某些代码进⾏标注说明,这就是注释的作⽤,能够⼤⼤增强程序的可读性。
注释的分类及语法
注释的特点
快捷键: ctrl + /

  • 单行注释
# 输出hello world
print('hello world')
print('hello Python') # 输出(简单的说明可以放到⼀⾏代码的后⾯,⼀般习惯代码后⾯添加两个空格再书写注释⽂字)
  • 多行注释
"""
 下⾯三⾏都是输出的作⽤,输出内容分别是:
 hello Python
 hello itcast
 hello itheima
"""
print('hello Python')
print('hello itcast')
print('hello itheima')
'''
 下⾯三⾏都是输出的作⽤,输出内容分别是:
 hello Python
 hello itcast
 hello itheima
'''
print('hello Python')
print('hello itcast')
print('hello itheima')

注意:解释器不执⾏任何的注释内容。
总结
注释的作⽤

⽤⼈类熟悉的语⾔对代码进⾏解释说明,⽅便后期维护。
注释的分类
单⾏: # 注释内容 ,快捷键ctrl+/
多⾏: “”" 注释内容 “”" 或 ‘’’ 注释内容 ‘’’
解释器不执⾏注释内容

二、 变量

2.1变量的作⽤

变量就是⼀个存储数据的的时候当前数据所在的内存地址的名字⽽已
变量名⾃定义,要满⾜标识符命名规则。
标识符命名规则是Python中定义各种名字的时候的统⼀规范,具体如下:

  • 由数字、字⺟、下划线组成
  • 不能数字开头
  • 不能使⽤内置关键字
  • 严格区分⼤⼩写
#False None True and as assert break class continue def del elif else except finally for
#from global if import in is lambda nonlocal not or pass raise return try while with yield

命名习惯

  • ⻅名知义。
  • ⼤驼峰:即每个单词⾸字⺟都⼤写,例如: MyName 。
  • ⼩驼峰:第⼆个(含)以后的单词⾸字⺟⼤写,例如: myName 。
  • 下划线:例如: my_name 。
    使用变量
my_name = 'TOM'
print(my_name)
schoolName = '⿊⻢程序员'
print(schoolName)

认识bug–所谓bug,就是程序中的错误。如果程序有错误,需要程序员排查问题,纠正错误。

2.2Debug⼯具

Debug⼯具是PyCharm IDE中集成的⽤来调试程序的⼯具,在这⾥程序员可以查看程序的执⾏细节和流程或者调解bug。
Debug⼯具使⽤步骤:

  • 打断点
  • Debug调试

3.1 打断点

  • 断点位置–⽬标要调试的代码块的第⼀⾏代码即可,即⼀个断点即可。
  • 打断点的⽅法—单击⽬标代码的⾏号右侧空⽩位置。

3.2 Debug调试
打成功断点后,在⽂件内部任意位置 — 右键 – Debug’⽂件名’ — 即可调出Debug⼯具⾯板 – 单击Step Over/F8,即可按步执⾏代码。

Debug输出⾯板分类

  • Debugger–显示变量和变量的细节
  • Console–输出内容

三、数据类型

黑马python教学 黑马python讲义_数据

"""
1.将不同的变量存储不同的类型的数据
2.验证这些数据到底是什么类型*--监测数据类型--type(数据)
"""
# int -- 整型
num1 = 1

# float -- 浮点型,就是小数
num2 = 1.1
print(type(num1)) # int  检测方法--type()
print(type(num2)) # float

# str -- 字符串,特点:数据类型都要带引号
a = 'hello world'
print(type(a)) # str

# bool -- 布尔型,通常判断使用True  和  False
b = True
print(type(b)) # bool

# list -- 列表
c= [10,20,30]
print(type(c)) # list

# tuple -- 元组
d = (11,12,13) # tuple
print(type(d))

# set -- 集合
e={21,22,23}
print(type(e)) #set

# dict -- 字典 -- 键值对
f= {'name':'Tom','age' : 18}
print(type(f)) # dict

四、输出

作⽤:程序输出内容给⽤户

⼀. 格式化输出

所谓的格式化输出即按照⼀定的格式输出内容

黑马python教学 黑马python讲义_数据类型_02


技巧

%06d,表示输出的整数显示位数,不⾜以0补全,超出当前位数则原样输出

%.2f,表示⼩数点后显示的⼩数位数。

格式化字符串除了%s,还可以写为 f ’ {表达式} '–更高效一些

""""
1.准备数据
2.格式化符号输出数据
"""
age =18
name ='wty'
weight =65.5
stu_id =1
stu_id1 =1000

# 1.今年我的年龄是x岁
print('今年我的年龄是%d岁' % age) #今年我的年龄是18岁

# 2.我的名字是x
print('我的名字是%s'%name) #我的名字是wty

# 3.我的体重是x公斤
print('我的体重是%d'%weight) #我的体重是65
print('我的体重是%f'%weight) #我的体重是65.500000
print('我的体重是%.2f'%weight) #我的体重是65.50

# 4.我的学号是x
print('我的学号是%d'%stu_id) #我的学号是1
# 4.1 我的学号是001
print('我的学号是%03d'%stu_id) #我的学号是001  不足的补足
print('我的学号是%03d'%stu_id1) #我的学号是001  超出的原样输出

# 5.我的名字是x,今年x岁了--按顺序
print('我的名字是%s,今年%d岁了' % (name, age)) #我的名字是wty,今年18岁了
# 5.1我的名字是x,明年x岁了--按顺序
print('我的名字是%s,明年%d岁了' % (name, age+1)) #我的名字是wty,今年19岁了
# 5.2 格式化字符串除了%s,还可以写为 f'{表达式}'
print(f'我的名字是{name},明年{age+1}岁了') #我的名字是wty,明年19岁了

# 6.我的名字是x,今年x岁了,体重x公斤,学号是x
print('我的名字是%s,今年%d岁了,体重%.2f公斤。学号是%03d' % (name, age,weight,stu_id))
# 我的名字是wty,今年18岁了,体重65.50公斤。学号是001

# 7.特殊的强大%s的使用--全部是字符串
print('我的名字是%s,今年%s岁了,体重%s公斤。学号是%s' % (name, age,weight,stu_id))
# 我的名字是wty,今年18岁了,体重65.5公斤。学号是1

转义字符

  • \n :换⾏。 (反斜杠)
  • \t :制表符,⼀个tab键(4个空格)的距离。
print('hello')
print('world')

print('hello \npython')
print('\tabcd')
print('    abcd')

结束符
在Python中,print(), 默认⾃带 end="\n" 这个换⾏结束符,所以导致每两个 print 直接会换⾏展示,⽤户可以按需求更改结束符。

print('hello',end = '\n')
print('world',end = '\t')
print('hello',end = '...')
print('python')

黑马python教学 黑马python讲义_黑马python教学_03

五、输入

黑马python教学 黑马python讲义_python_04


输⼊的语法

input("提示信息")

输⼊的特点

  • 当程序执⾏到 input ,等待⽤户输⼊,输⼊完成之后才继续向下执⾏。
  • 在Python中, input 接收⽤户输⼊后,⼀般存储到变量,⽅便使⽤。
  • 在Python中, input 会把接收到的任意⽤户输⼊的数据都当做字符串处理。
"""
1.书写input
  input('提示信息')

2.观察特点
  2.1遇到input,等待用户输入
  2.2接收input存变量
  2.3input接收到的数据类型都是字符串
"""

password = input('请输入您的密码:')
print(f'您输入您的密码是{password}')

print(type(password))

控制台输出结果如下:

黑马python教学 黑马python讲义_python_05


总结

  • 输⼊功能
    input(‘提示⽂字’)
  • 输⼊的特点
    ⼀般将input接收的数据存储到变量
    input接收的任何数据默认都是字符串数据类型

六、转换数据类型

转换数据类型的作⽤

问:input()接收⽤户输⼊的数据都是字符串类型,如果⽤户输⼊1,想得到整型该如何操作?

答:转换数据类型即可,即将字符串类型转换成整型。

转换数据类型的函数

黑马python教学 黑马python讲义_字符串_06


需求:input接收⽤户输⼊,⽤户输⼊“1”,将这个数据1转换成整型。

"""
1.input
2.检测input数据类型str
3.int()转换数据类型
4.检测是否转换成功
"""
num = input('请输入数字:')
print(num)
print(type(num))  #str
print(type(int(num)))  #int

黑马python教学 黑马python讲义_数据类型_07

# 1.float--将数据转换成浮点型
num1 = 1
str1 = '10'
print(type(float(num1)))  #检测数据类型float
print(float(num1))  #将整型转换成浮点型1.0
print(float(str1))  #将字符串型转换成浮点型10.0

# 2.str--将数据转换成字符串型
print(type(str(num1))) #str
print(str(num1)) #1

# 3.tuple--将数据转换成元组型
list1 = [10,20,30]
print(type(tuple(list1))) #tuple
print(tuple(list1)) #(10,20,30)

# 4.list--将序列转换成列表
t1 = (100,200,300)
print(type(list(t1))) #list
print(list(t1)) #[100,200,300]

# 5.eval--计算在字符串中的有效Python表达式,并返回一个对象。(把字符串里面的数据转化成他原本的数据;相当于去掉引号)
str2 = '1'
str3 = '1.1'
str4 = '(1000,2000,3000)'
str5 = '[1000,2000,3000]'

print(type(eval(str2))) #int
print(eval(str2)) #1
print(type(eval(str3))) #float
print(eval(str3)) #1.1
print(type(eval(str4))) #tuple
print(eval(str4)) # (1000,2000,3000)
print(type(eval(str5))) # list
print(eval(str5)) #[1000,2000,3000]

交互式开发环境

黑马python教学 黑马python讲义_python_08

七、运算符

7.1算数运算符

黑马python教学 黑马python讲义_数据类型_09

7.2赋值运算符

= 赋值 将 = 右侧的结果赋值给等号左侧的变量

黑马python教学 黑马python讲义_数据类型_10

7.3复合赋值运算符

黑马python教学 黑马python讲义_黑马python教学_11

a  =  10
a  += 1  #a = a + 1
print(a)# 11

b = 10
b -= 1  #b = b - 1
print(b)# 9

#  注意:先算符合赋值右面的表达式,再算复合赋值运算
c = 10
c += 1 - 2
print(c)# 9

d = 10
d += 5 * 3
print(d)# 25  (5*3)+10

e = 10
e *= 5 +3
print(e)# 80  (5+3)*10

7.4⽐较运算符

黑马python教学 黑马python讲义_数据类型_12

a, b = 7,5
print(a == b) # False
print(a != b) # True
print(a < b) # False
print(a > b) # True
print(a <= b) # False
print(a >= b) # True

7.5逻辑运算符

黑马python教学 黑马python讲义_数据_13

a,b,c= 1,2,3
print((a < b) and (b < c)) # True
print((a > b) and (b < c)) # False
print((a > b) or (b < c)) # True
print(not (a > b)) # True

拓展–数字之间的逻辑运算

a , b, c =1 , 2 , 3
# and运算符,只要有⼀个值为0,则结果为0,否则结果为最后⼀个⾮0数字
print(a and b) # 0
print(b and a) # 0
print(a and c) # 0
print(c and a) # 0
print(b and c) # 2
print(c and b) # 1
# or运算符,只有所有值为0结果才为0,否则结果为第⼀个⾮0数字
print(a or b) # 1
print(a or c) # 2
print(b or c) # 1

总结

黑马python教学 黑马python讲义_python_14

八、条件语句

实例:上网简单版

# 分析:年龄大于等于18,输出:已经成年,可以上网--准备年龄的数据 和 18 作比较
age = 20
if age >= 18:
    print('已经成年,可以上网')
print('系统关闭')

进阶版

# 系统可以用户输入年龄,用这个年龄做条件判断
"""
1.用户输入
2.保存用户输入的年龄
3.if判断
*****注意一个点:input接收的数据是str,不能和18做判断--int转换类型
"""

age =int(input('请您输入您的年龄:'))
if age >= 18:
    print(f'您输入的年龄是{age},已经成年,可以上网')

"""
错误范例
age = input('请输入您的年龄:')  
if age >= 18:   
    print(f'您输入的年龄是{age},已经成年,可以上网')
"""

实用版
if …else…

age = int(input('请输⼊您的年龄:'))
if age >= 18:
  print(f'您的年龄是{age},已经成年,可以上⽹')
else:
   print(f'您的年龄是{age},未成年,请⾃⾏回家写作业')

多重判断

"""
需求:
    如果年龄小于18,为童工,不合法;
    如果年龄18-60岁之间,为合法工作年龄;
    如果年龄大于60为退休年龄

步骤:
   1.用户输入自己的年龄
   2.if做判断  elif
   3.输出提示信息:你你输入的年龄是x,合法与否。
"""

"""
方案一
age = int(input('请输入您的年龄:'))
if age < 18:
    print(f'您输入的年龄是{age},童工')
elif (age >= 18) and (age <= 60):
    print(f'您输入的年龄是{age},合法')
elif age > 60:
    print(f'您输入的年龄是{age},退休年龄')
"""


#  方案二
age = int(input('请输入您的年龄:'))
if age < 18:
    print(f'您输入的年龄是{age},童工')
elif (age >= 18) and (age <= 60):
    print(f'您输入的年龄是{age},合法')
else :
    print(f'您输入的年龄是{age},退休年龄')

"""
# 方案三
age = int(input('请输入您的年龄:'))
if age < 18:
    print(f'您输入的年龄是{age},童工')
elif age > 60:
    print(f'您输入的年龄是{age},退休年龄')
else :
    print(f'您输入的年龄是{age},合法')
"""

拓展条件写法

#  方案一   化简说法

age = int(input('请输入您的年龄:'))
if age < 18:
    print(f'您输入的年龄是{age},童工')
elif 18 <= age <= 60:
    print(f'您输入的年龄是{age},合法')
elif age > 60:
    print(f'您输入的年龄是{age},退休年龄')

if 嵌套

# 坐公交:如果有钱可以上车,没有钱,则不可以上车;如果上车了,判断能否坐下--是否有空座

"""
1.准备将来要做判断的数据,钱和空座
2.判断是否有钱,上车 和 不能上车
3.上车了,判断能否坐下: 车上有座位  和 无座位
"""

money = 0
seat = 1
if money == 1:
   print('土豪,欢迎坐车')
   #  判断是否能坐下
   if seat == 1:
       print('欢迎坐下,土豪')
   else:
       print('请站着等待空座,小仙女')
else:
  print('朋友,没带钱,跟着跑,跑快点')

猜拳版游戏案例

"""
1.出拳
  玩家:手动输入
  电脑:1.固定:剪刀;2.随机
2,判断输赢
  2.1玩家获胜
  2.2平局
  2.3电脑获胜
"""
# 1.出拳
# 玩家
player = int(input('石头--0,剪刀--1,布--2 玩家输入:'))
computer = 1
# 玩家获胜
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('电脑获胜,别走呀,再来玩呀')

随机数

"""
1.出拳
  玩家:手动输入
  电脑:1.固定:剪刀;2.随机
2,判断输赢
  2.1玩家获胜
  2.2平局
  2.3电脑获胜
"""

import random #导入random模块

# 1.出拳
# 玩家
player = int(input('石头--0,剪刀--1,布--2 玩家输入:'))
# computer = 1
computer = random.randint(0,2)
print(computer)
# 玩家获胜
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('电脑获胜,别走呀,再来玩呀')

三⽬运算符

"""
语法
条件成立执行的表达式 if 条件 else 条件不成立在执行的表达式
"""
a = 1
b = 2
c = a if a > b else b
print(c)

aa = 10
bb = 6
cc = aa - bb if aa > bb else bb - aa
print(cc)