文章目录
- 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 keyword
、print(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)”