文章目录

  • python笔记
  • 一、一些小东西
  • 1、关于注释
  • 1.1、单行注释(用`#`标记的一段话)
  • 1.2、多行注释
  • 2、变量
  • 2.1、变量的命名规则
  • 3、关于str类型的引号说明
  • 3.1、什么是str类型
  • 3.2、三种引号方式
  • 4、数据类型
  • 4.1、各种数据类型简单用法
  • 4.2、类型查看方式
  • 4.3、类型转换
  • 二、输入输出
  • 1、输出
  • 1.1、输出语法
  • 1.2、格式化输出
  • 1.2.1、格式化符号
  • 1.2.2、格式化输出语法
  • 1.2.3、格式化输出高级操作
  • 1.3、转义字符
  • 1.4、结束符
  • 2、输入
  • 2.1、输入语法
  • 2.2、输入语法特点
  • 2.3、数据类型转换(接)



python笔记

善始者实繁,克终者盖寡


  • 本文为我跟随B站黑马程序员学习python(2019年版)的笔记,第一次用markdown写文章并发表,有些地方可能规划的不是很好,请路过的各位能给出意见,我时刻期待;
  • 本次先整理了前两章,对应黑马程序员课程为第34节,后续课程笔记也会陆续放出,如需对应的markdown文件可加我QQ1662852676,回复人生苦短,我用python即可;
  • 如果哪个知识点有误,或者代码有错,请回复我(跪谢);
  • 发出此文也是为了激励我学习;
  • 最后,请大佬斧正(跪谢),大家积极评论哟!!!!

一、一些小东西

1、关于注释

写在前头:

  • 代码大部分时间是给人看的,偶尔才会执行一下
  • 良好的注释习惯会降低阅读代码的难度,也是一个优秀程序员应有的习惯
  • 你总不想今天写了一千行代码,明天只认识几十行吧

1.1、单行注释(用#标记的一段话)

#这是一个单行注释

1.2、多行注释

"""
这是
一个
多行
注释
"""

2、变量

2.1、变量的命名规则

  • 变量只能由字母、数字、下划线组成
  • 变量的首位不能是数字
  • 变量不能是关键字
  • [‘False’, ‘None’, ‘True’,‘peg_parser’, ‘and’, ‘as’, ‘assert’, ‘async’, ‘await’, ‘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’]
  • 关键字可以用import keywordprint(keyword.kwlist)查看
  • 对象有类型,变量无类型,变量相当于一个存放对象的容器,如a=10,a为变量,10为一个整型的对象
a = 10
print(id(a))
print(type(a))

3、关于str类型的引号说明

3.1、什么是str类型

smallA = 'a'   #smallA的类型为str
name = "张三"  #name的类型为str
poem = '''
       静夜思
              李白
床前明月光,疑是地上霜。
举头望明月,低头思故乡。
'''           #poem的类型为str

3.2、三种引号方式

  • 单引号'something'、双引号"something":这两个用法基本一样
  • 三引号'''something''':保留格式输出

4、数据类型

概括

  • 数值型:整型(int)、浮点型(float)
  • 布尔型(bool):True(真)、False(假)(ps:首字母要大写,不然就是标识符)
  • 字符串(str)
  • 列表(list)
  • 元组(tuple)
  • 集合(set)
  • 字典(dict)

4.1、各种数据类型简单用法

num1 = 10      #整型int
num2 = 10.10   #浮点型float
name = "tony"  #字符串类型str
result = True  #布尔类型bool
a = [1,2,3]    #列表类型list
b = (1,2,3)    #元组类型tuple
c = {1,2,3}    #集合类型set
d = {"name" :  #字典类型dict
     "tony",
     "age" : 
     19}

4.2、类型查看方式

  • 使用内置函数type(变量名),并用print()打印即可查看对应变量的数据类型
#演示
a = 10
print(type(a))

输出结果:<class 'int'>

4.3、类型转换

  • 强制转换格式类似c的形式,数据类型(变量或对象)
  • PS:python中的输入语句默认类型为str类型,使用其他类型时应强制转换,后面会提到
#示例
a = 10  # a为整型
a = float(a)  # a转换为浮点型

b = input("请输入:")  
print(type(b)) # 此时b的类型为str
b = int(b)     # 此时b强制转换为int型

关于类型转换的其他知识点,以后再做添加

二、输入输出

1、输出

1.1、输出语法

输出,即是向屏幕打印一句话、一个值,或者阿巴阿巴

输出语法:1、print((表达式))、或2、print((表达式1),(表达式2),……)

# 输出语法示例
print("hello world") # 语法1
print("hello,", "world") # 语法2
###################分割线#####################
a = 38324
b = 14122
c = "化学大法好"
print(a)  # 输出a
print(a, b, c) # 在一行内连续输出a、b、c

1.2、格式化输出

1.2.1、格式化符号

符号

含义

%d

有符号的十进制数

%u

无符号的十进制数

%o

八进制整数

%x、%X

小(大)写的十六进制整数

%f

浮点数(小数)

%s

字符串

%e、%E

小(大)写的科学计数法

1.2.2、格式化输出语法

语法1:print("(格式化符号)" % (表达式)) 语法2:print("((格式化符号1)、(格式化符号2)、……)" % ((表达式),(表达式2),……))

#示例
print("%s" % "hello,world") #打印hello,world
# 可以认为是用hello,world来替换了%s
print("你好,%s,很高兴认识你" % "tony")
# 打印:你好,tony,很高兴认识你
print("你好,%s,很高兴认识你,我叫%s" % ("tony", "tom"))
# 你好,tony,很高兴认识你,我叫tom
##################分割线#####################
a = 10
print("9 + 1 = %d" % a)  # 打印9 + 1 = 10
b = 2
c = 1
print("9 / %d = 4 ··· %d" % (b, c))
# 打印:9 / 2 = 4 ··· 1,用b替换第一个%d,c替换第二个%d
1.2.3、格式化输出高级操作

1.%d的两种高级用法

  • 前置空位
a = 111
b = 1111111111
print("%8d" % a) #打印:     111
print("%8d" % b)#打印:1111111111
#%8d的意思是共八位,不够的话用空位补齐,超出则原样输出
  • 零补齐法
stu_id = 46102   # 需求:输出八位学号
print("%08d" % stu_id) # 打印:00046102
# %08d的含义就是输出八位,不够八位则用零补齐,超出八位则原样输出

2.%f的高级用法

  • 保留所需小数位数
weight = 53.5
print("体重为:%f" % weight) # weight为浮点数,则会保留小数点后6位
#打印结果为:53.500000
#需求:保留小数点后两位
print("体重为:%.2f" % weight) # 打印结果为53.50
###################分割线#########################
# 同理,类比%d的高级用法
print("体重为:%8.2f" % weight)
#打印共八位(小数点算1位),不够则前置空位补齐,超出则原样输出
#打印结果:(   53.50),括号内共八位
print("体重为:%08.2f" % weight)
#打印共八位(小数点算1位),不够则用0补齐,超出则原样输出
#打印结果:00053.50

3.f格式化字符串

  • 用法:print(f"{表达式}")
  • 示例代码:
name = "tony"
age = 18 
wight = 53.5
print(f"我叫{name},今年{age}岁,体重是{wight}公斤")

格式化输出的案例

给出如下信息:

  • name = “小明”
  • age = 19
  • wight = 55.5
  • stu_id = 52632
  • 要求输出:我叫小明,今年19岁,体重055.50公斤,学号是000052632
#代码实现
name = "小明"
age = 19
wight = 55.5
stu_id = 52632
print("我叫%s,今年%d岁,体重%06.2f公斤,学号是%09d" % (name, age, wight, stu_id))

1.3、转义字符

  • \n换行
  • \t制表符
#代码展示
print("123456")  # 打印123465
print("123\n456")
'''
打印:
123
456
'''
print("123\t456") #打印123    456
#空格长度位你的机器上tab键的长度,通常为4个长度

1.4、结束符

*默认的print函数长这样
print("表达式",end="\n"),end="\n"print()结束后换行的意思,但一般不出现,所以print()函数默认换行

  • 结束符语法:print("阿巴阿巴",end="阿巴阿巴")
#直接上代码
print("123456")
print("654321")
#这两行输出:
"""
123456
654321    #会换行,因为print()函数默认换行
"""
# 我现在这样:
print("123456", end=" ")
print("654321")
# 打印结果:123456 654321
#换行符替换为一个空格
#你也可以替换为其他东西

2、输入

2.1、输入语法

  • 输入,即从键盘输入中获取一个数值、字符串……

输入语法:input("提示信息")

#上代码!
input("请输入你的年龄:")
#此时,你输入的信息没有保存下来
age = input("请输入你的年龄:")
#age容器保留了年龄信息

2.2、输入语法特点

  • input()为阻塞信号,等待输入完成后才往下继续执行
  • 一般需要一个容器来保留你的输入信息,如上面的age
  • input()的输入信息为str类型(上面age的类型为str类型)
# 代码验证input得到的信息类型为str类型
print(type(input("请输入:"))) # 这里套了一下娃
# 或者
age = input("请输入你的年龄:")
print(type(age))
##输出结果为<class 'str'>

2.3、数据类型转换(接)

  • 在第一章数据类型中我们提到过强制类型转换,而input()所接收的信息都为str类型,当我们在需要输入其它类型的数据时,就需要用到类型转换
  • 类型转换方法不多赘述,归纳起来就是要转换的数据类型(一个变量或一个对象),如int("10.0")

两种常用的类型转换函数

  • repr(a):将a转换为str类型
  • eval(a):(此时a为str类型)将a转换为原本需要的类型
# 两种常用的类型转换函数代码展示
a = "456"  # 字符串456
a = eval(a) # 转换成了456原本的类型——整型
print(type(a)) # 输出结果为<class 'int'>
# 同理
a = "[1,2,3]" #字符串[1,2,3]
a = eval(a)   #此时a为list类型
##################分割线######################
b = 123     # 整型b
b = repr(b) # 此时转换成了字符串123
print(type(b)) # 输出结果为<class 'str'>
# 同理
b = (1,2,3)  #tuple类型的b
b = repr(b)  #转换为字符串“(1,2,3)”