创建公司网站用什么软件,建网站空间可以不买,seo搜索优化是什么意思,名片seo什么意思文章目录 基础字符串字面量常用的值类型注释变量print语句数据类型数据类型转换标识符运算符 字符串拓展小结 2023.10.28 周六
最近打算学一下Python#xff0c;毕竟确实简单方便#xff0c;而且那个编程语言排名还是在第一。不过不打算靠它吃饭#xff0c;深不深入暂且不说… 文章目录 基础字符串字面量常用的值类型注释变量print语句数据类型数据类型转换标识符运算符 字符串拓展小结 2023.10.28 周六
最近打算学一下Python毕竟确实简单方便而且那个编程语言排名还是在第一。不过不打算靠它吃饭深不深入暂且不说准备先把语法学一下尝试用py去刷算法。 讲道理语法之前学过py基础不过感觉又忘光了这里再跟着b站黑马的视频学学先记一下。
贴一下链接 B站 - 黑马程序员2022python教程
基础
字符串
是指由任意数量的字符组成需要用双引号包围起来
字面量
字面量是被写在代码中的固定的值。 字面量可以是整数字面量、固定的浮点数或固定的字符串字面量 如何将字面量输出到屏幕上需要使用 print 语句
常用的值类型 注释
单行注释以 # 作为开头建议有空格隔开
# 这是一个单行注释多行注释以三个双引号引起来的内容作为注释的内容支持换行 这里是
一个
多行注释变量
变量是存储计算结果或表示值的抽象概念 变量定义格式为 变量名 变量值
age 50 从这来看我本以为py没有明确的类型要求那么应该是弱类型语言。但实际完全不对强弱语言和动静语言的区别和这没关系具体见 Python到底是强类型语言还是弱类型语言 我觉得说的比我有道理那么暂依此来看简单来说强弱类型实际是取决于 “程序对于 untrapped errors 的检查强度”由此看python是动态语言没错但也是强类型语言。
print语句
import sys # import貌似是必须放在文件最上面否则会报错print(50)
print(hello)
# 打印多个值50、hello、50.5、True、NoneNone也可以打印出来True也可以但是作为字符串值
# 用|分隔默认是空格结尾用两个换行默认是一个换行
print(50, hello, 50.5, True, None, sep|, end\n\n)
# sep也可以是None表示不分隔end也可以是None表示不换行
# file是输出到哪里默认是sys.stdout也就是控制台
# flush是是否刷新缓冲区默认是False。True表示立即输出False表示缓冲区满了再输出
print(-1.11, 你好, sepNone, end\t\n, filesys.stdout, flushFalse)
# 输出到文件如果文件不存在会自动创建如果文件存在会覆盖
print(hello world, fileopen(hello.txt, w))
# 输出到文件如果文件不存在会自动创建如果文件存在会在文件末尾追加
print(hello world, fileopen(hello.txt, a))
# 输出到文件如果文件不存在会自动创建如果文件存在会报错
# print(hello world,fileopen(hello.txt,x))
# 输出到内存流
import iof io.StringIO() # 创建内存流
print(hello world, 123, filef) # 这里不会输出到控制台而是输出到内存流也就是f
print(f.getvalue()) # 获取内存流的值并打印
f.close()
# 输出到标准错误流也就是控制台会打印为红色的报错信息
print(hello world error, filesys.stderr)
print(经过实验打印的错误信息并不是真的错误下面的语句还是可以执行的, 3.5 * 2.4)
price 3.5
print(简单的运算也可以打印啊,price * 2.4,sep —— )打印结果如下虽然不知道为什么error那条信息会出现在最开始。。但是调试的话它又会出现在最下面。。大概打印到流又从流获取不是同步操作
hello world error
50
hello
50|hello|50.5|True|None-1.11 你好
hello world 123经过实验打印的错误信息并不是真的错误下面的语句还是可以执行的 8.4
简单的运算也可以打印啊 —— 8.4数据类型
Python中变量没有类型只有存储的数据有类型 字符串、整数和浮点数是Python中常见的三类数据类型,它们的类型名称分别为string、int和float type语句查看变量中存储的数据类型有返回值
print(type(-9)) # class int
print(type(9 * 9)) # class int
print(type(-920.554)) # class float
print(type(-9 * 9.1 / 2.5)) # class float
print(type(True)) # class boolstr_type type(nihao)
print(type(str_type)) # class typeprint(print(type(nihao))) # class str换行Noneprint(print()) #换行Noneprint(type(print(666))) # 666换行class NoneType数据类型转换
在Python中使用int、float、str语句进行类型转换注意结果输出。 任何类型都可转成字符串。 字符串要转换成数字必须只有数字否则报错。 浮点数转整数会丢失精度小数部分没了。
# 万物皆可转成字符串
print(type(str(11)), str(11)) # class str 11
print(type(str(11.11)), str(11.11)) # class str 11.11
print(type(str(True)), str(True)) # class str True
print(type(str([1, 2, 3])), str([1, 2, 3])) # class str [1, 2, 3]
print(type(str((1, 2, 3))), str((1, 2, 3))) # class str (1, 2, 3)
print(type(str({1, 2, 3})), str({1, 2, 3})) # class str {1, 2, 3}
print(type(str({a: 1, b: 2, c: 3})), str({a: 1, b: 2, c: 3})) # class str {a: 1, b: 2, c: 3}
print(type(str(None)), str(None)) # class str None
print(type(str(str)), str(str)) # class str class str
print(type(str(int)), str(int)) # class str class int 因为int是关键字用str(int)直接把类型的字符串打印出来了print()print(type(int(11)), int(11)) # class int 11
print(type(int(11.11)), int(11.11)) # class int 11 精度丢失
print(type(int(11.55)), int(11.55)) # class int 11这么看来int()是直接截取小数点前面的数字而不是四舍五入
# print(type(int(11.11)), int(11.11)) # 报错因为int()不能直接转换浮点数字符串
print(type(int(True)), int(True)) # class int 1
# print(type(int([1, 2, 3])), int([1, 2, 3])) # 报错因为int()不能直接转换listprint()print(type(float(11.22)), float(11.22)) # class float 11.22int()不能直接转换浮点数字符串但是float()可以
print(type(float(11)), float(11)) # class float 11.0
print(type(float(11.11)), float(11.11)) # class float 11.11
print(type(float(True)), float(True)) # class float 1.0
# print(type(float([1, 2, 3])), float([1, 2, 3])) # 报错因为float()不能直接转换list标识符
编程时给类、方法、变量等等取的名字称为 标识符。 Python中的 标识符命名规则 ,包括内容限定、大小写敏感和不可使用关键字等三类规则。 其中,标识符只允许出现 英文、中文、数字和下划线 不能以数字开头关键字也不能使用。同时,标识符的命名要做到简明易懂避免使用中文和特殊符号。 关键字
运算符 字符串拓展
定义方式 单引号双引号三个双引号写法同多行注释但是赋给一个接收的变量就是字符串引号嵌套 字符串拼接 字符串格式化name 张三
# print(hello name 很高兴认识你我的电话是 123456) # TypeError: can only concatenate str (not int) to str
# 不用 用逗号
print(hello name 很高兴认识你我的电话是, 123456, sep) # hello张三很高兴认识你我的电话是123456
# 转换成字符串
print(hello name 很高兴认识你我的电话是 str(123456), sep) # hello张三很高兴认识你我的电话是123456
# 占位符 %s 字符串 %d 整数 %f 浮点数
print(hello, %s很高兴认识你我的电话是%d % (name, 123456)) # hello, 张三, 我的电话是123456
# 快速占位符f{}不能做精度控制适合快速显示
phone 123456
print(fhello, {name}很高兴认识你我的电话是{phone}) # hello, 张三, 我的电话是123456
# {}中也可以放简单表达式
print(fhello, {type(字符串)}很高兴认识你我的电话是{4 ** 4}) # hello, class str很高兴认识你我的电话是256 精度控制 num1 11
num2 11.49
print(11保留1位{:.1f}.format(num1)) # 11.0
print(11.49保留1位%.1f % num2) # 11.5 四舍五入
print(11保留3位{:.3f}.format(num1)) # 11.000 补0
print(11.49保留3位%.3f % num2) # 11.490
print(11宽度为5{:5d}.format(num1)) # 11 右对齐不足左边补3个空格
print(11.49宽度为5保留0位小数%5.0f % num2) # 11右对齐四舍五入
print(11.49宽度为12%12f % num2) # 11.490000右对齐算上小数点是9位不足12位左边补3个空格四舍五入
print(11宽度为9保留1位{:9.1f}.format(num1)) # 11.0右对齐
print(11.49宽度为9保留1位%9.1f % num2) # 11.5右对齐表达式即具有明确执行结果的代码语句数据输入 input 语句# 如果三次输入的name一样那么这三个代码输出是一样的
print(你是谁, end)
name input()
print(我知道了你是%s % name)name input(你是谁)
print(f我知道了你是{name})print(我知道了你是, input(你是谁), sep)小结
今天到此为止。 内容上目前看了第一阶段第一章都是基础32小时大概看了1/6的样子。 难度上不得不说一点都不难当然我有基础但是没基础也一样比java好学太多了。 感想是看的真慢别看看了六分之一倍速看的也很久。其实最费时间的不是看视频是跟着写验证、虽然不验证我也知道什么情况总归写了记得清楚点。还有费时间的其实是这篇博客真的是哇看一点记一点标签页切来切去csdn的MD编辑器……emm我才发现可以隐藏预览区那没事了……