第二章
字面量
在代码中,被写下来的固定的值
整数(int):10,-10
浮点数(float):就是小数,如13.14,-13.14
字符串:又称为文本,由任意数量的字符如中文、英文、各类符号、数字等组成,所以叫做字符的串
在python中,字符串需要用双引号(“内容”)包围起来,被双引号包围起来的都是字符串
输出的格式是:print(“内容”)
print("hello world,西安建筑科技大学")
反引号在~的那个键,Esc下面
注释
对代码解释说明,注释不是程序,不能被执行,不影响代码运行,可以让别人看懂你写的代码,增强了可读性
- 单行注释:以#开头,#右边的所有文字当作说明,起辅助说明作用,#号和注释内容一般建议以一个空格隔开
# 我是单行注释
print("西安建筑科技大学")
- 多行注释:以一对三个双引号引起来(“”“注释内容”“”)来解释一段代码的作用,多用于对python文件、类、方法,进行解释
一般写在开头
ctrl+\相当于注释
markdown语法补充
markdown换行不换段需要在上一行打至少两个空格,换段则需要空一行
插入图片
-
本地图片
1.1 直接复制粘贴
1.2 相对路径,用格式上传
1.3
1.3.1 文件和图片都在当前文件夹,在路径位置写上./,选择图片
./代表图片.md所在文件夹
1.3.2 图片在上一级文件夹,使用…/ -
网络图片
粘贴路径即可
表格小 中 大 1 2 3 2 3 4 插入连接
这是一个链接
变量
在程序运行时,能储存计算结果或能表示值的抽象概念
简单来说,变量就是在程序运行时,记录数据用的 相当于一个储存数据的盒子
变量的定义格式 变量名称 = 变量值
数据类型
类型 | 描述 |
---|---|
string | 字符串类型 |
int | 整型(有符号) |
float | 浮点型(有符号) |
查看数据类型:type()
print(type("黑马程序员"))
print(type(666))
不仅可以查看一般的数据类型,还可以查看变量的数据类型
数据类型转换
在以后就会经常使用的功能
语句|说明
—|—
int(x)|将x转换为一个整数
float(x)|将x转换为一个浮点数
str(x)|将x转换为字符串
和前面学的type()语句一样,都是带有结果的(返回值),可以用print直接输出或用变量储存结果值
# 将数字类型转换为字符串
num_str = str(11)
print(type(num_str),num_str)
#将浮点类型转换为字符串
float_str = str(11.345)
print(type(float_str),float_str)
将字符串转换为数字
num = int(“11”)
print (type(num),num)
标识符
用户在编程的时候所使用的一系列名字,用于给变量、类、方法等命名
- 标识符的命名规则内容限定 只能出现英文、中文、数字、下划线(_)四类元素
不推荐使用中文,主要使用英文,数字不可以用在开头
1. 区分大小写
2. 不可使用关键字,关键字在python中有特殊用途,不可以使用他们作为标识符
3. 关键字:False,True,None,and, as ,assert,break,class,continue,def,del,elif,else,except,finally,for,from,global,if,import,in ,is,lambda,nonlacal,not ,or, pass ,raise,return, try,while,with,yield - 标识符的命名规范,有变量名、类名、方法名
1. 变量命名规范
2. 见名知意
3. 下划线命名法,多个单词组合变量名,要使用下划线分割开,the_first = 123
4. 英文字母全小写 - 规则必须遵守,不然会出现问题;规范不一定遵守,但不遵守,显得不太高级美观
运算符
-
算术运算符:
运算符 描述 实例 + 加 - 减 * 乘 / 除 // 取整除 9//2输出结果4,9.0//2.0输出结果4.0 % 取余 10%5输出结果0 ** 指数 2**3为2的3次方,输出8 -
赋值运算符
- 标准赋值:把=右边的结果赋给左边的变量
- 复合赋值
运算符 描述 实例 += 加法赋值运算符 c += a 等效于 c = c + a -+ 减法赋值运算符 c -= a 等效于 c = c - a *= 乘法赋值运算符 c *= a 等效于 c = c * a /= 除法赋值运算符 c /= a 等效于 c = c / a //= 取整除赋值运算符 c //= a 等效于 c = c // a %= 取模赋值运算符 c %= a 等效于 c = c % a **= 幂赋值运算符 c **= a 等效于 c = c ** a vscode运行.ipynb代码时提示需要安装ipykernel包的解决办法 - CSDN App
算术运算符演示
print(“1+1”,1+1)
print(“2-1”,2-1)
print("23",23)
print(“6/2”,6/2)
print(“11//2”,11//2)
print(“9%2”,9%2)
print("23",23)
字符串扩展
字符串的三种定义方法
单引号、双引号、三引号
name = ‘heima’ name = “heima” name = “”“heimna”“”
1.1 三引号定义法:和多行注释一样,支持换行操作;使用变量接受它(变量=…),它就是字符串;不接受,就作为注释
1.2 如多定义的字符串本身包含单引号双引号,怎么办:包含单引号你用双引号表示,双引号用单引号表示,或者使用转义字符\解除引号效用
在字符串中 包含双引号
name = ‘“土木”’
print(“name”,name)
在字符串中 包含单引号
name = “‘土木’”
print(“name”,name)
使用转义字符\ 接触引号效用 \转义的是后边的“,(")
name = ““土木””
name = ‘‘土木’’
print(“name”,name)
字符串拼接
用+ 将两个字符串字面量拼接
错误示范
字符串和数字,浮点型都不能拼接
name = “小明”
address = “陕西省西安市”
tel = 123456789
print(“我是:” + name + “,我的地址是:” + address + “,电话是:” + tel )
字符串字面量之间的拼接
print(“西安建筑科技大学” + “土木工程”)
字符串字面量和字符串变量的拼接
name = “小明”
address = “陕西省西安市”
print(“我是:” + name + “,我的地址是:” + address)
字符串格式化
拼接字符串变量过多时,拼接太麻烦;字符串无法和数字或其他类型拼接,有不足
其中的,%s
%表示:我要占位
s表示:将变量变成字符串形式,然后放入占位的地方
所以,综合起来的意思就是:我先占个位置,等一会有个变量过来,我把它变成字符串放到占位的位置
格式符号 | 转化 |
---|---|
%s | 将内容转换成字符串,放入占位位置 |
%d | 将内容转换成整数,放入占位位置 |
%f | 将内容转换成浮点型,放入占位位置 |
通过占位的形式,完成拼接
name = “黑马程序员”
message = “学IT来: %s” % name
print(message)
通过占位符的形式,完成数字和字符串的拼接
class_num = 57
avg_salary = 16781
注意格式,占位内容要用括号包起来,不同内容要用逗号隔开,按顺序填入
message = “python大数据学科,北京%s期,毕业平均工资:%s” % (class_num, avg_salary)
print(message)
通过占位的形式,完成字符串,整数,浮点数拼接
name = “传智播客”
set_up_year = 2006
stock_price = 19.99
message = “我是:%s, 我成立于:%d, 我今天的股价是:%f” % (name, set_up_year, stock_price)
上面一行括号里的变量书写时,逗号后面要加一个空格,不然他会提示你有错
print(message)
格式化的精度控制
我们可以使用辅助符号"m.n"来控制数据的宽度和精度
- m,控制宽度,要求是数字,设置的宽度小于数字自身,不生效
- .n,控制小数点精度,要求是小数,会进行四舍五入
- %5d:表示将整数的宽度控制在5位,如数字11,被设置为5d,就会变成:[空格][空格][空格]11,用三个空格补足宽度
- %5.2:表示将宽度控制位5,将小数点精度设置为2
小数点和小数部分也算入宽度计算。如,对11.345设置了%7.2f后,结果是:[空格][空格]11.35。2个空格补足宽度,小数部分限制2位精度后,四舍五入为.35
- %.2f:表示不限制宽度,只设置小数点精度为2,如11.345设置%.2f后,结果是11.35
利用m.n进行精度控制
num1 = 11
num2 = 11.345
print(“数字11宽度设置5,结果是:%5d” % num1)
print(“数字11宽度设置1,结果是:%5d” % num1)
print(“数字11.345宽度限制7,小数精度2,结果是:%7.2f” % num2)
print(“数字11.345宽度不限制,小数精度2,结果是:%.2f” % num2)
字符串格式化2-快速写作
- 语法:f"内容{变量}"的格式来进行快速格式化
- 特点:不管类型都可以格式化,不做精度控制# 第二章格式化方式:f"{占位}“
name = “传智播客”
set_up_year = 2006
stock_price = 19.99
message = f"我是:{name}, 我成立于:{set_up_year}, 我今天的股价是:{stock_price}"
print(message)### 表达式的格式化 - 表达式:一条具有明确执行结果的代码语句
- 在无需使用变量进行数据储存的时候,可以直接格式化表达式,来简化代码
- #中英文的括号不同,要使用英文的括号
print(“1 * 1的结果是:%d” % (1 * 1))
print(f"1 * 1的结果是:{1 * 1}“)
print(“字符串在Python中的类型是:%s” % type(“字符串”))
name = “传智播客”
“”“下面003032不能正确输出,会提示
SyntaxError: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers
语法错误:不允许在十进制整数文本中使用前导零;对八进制整数使用0o前缀
python解释器把0开头的解释为八进制数,但是八进制数不允许使用前导零
解决方法:使用字符串表示或者在数字后面添加d/表示为十进制数(不行啊?)
“””
stock_code = “003032”
stock_price = 19.99
stock_price_daily_growth_factor = 1.2
growth_days = 7
print(f"公司:{name}, 股票代码:{stock_code},当前股价:{stock_price}”)
print(“每日增长系数:%.1f,经过%d天的增长后,股价达到了:%.2f” % (stock_price_daily_growth_factor, growth_days, stock_price * stock_price_daily_growth_factor ** growth_days))
数据输入
input语句,和print类似,一个是输出一个是输入
使用input()语句可以从键盘获取输入,使用一个变量接受(存储)输入的数据即可
相当于一个互动代码,可以把问题输入Input里面,运行的时候你给他反馈,他就给你输出了,input输出的都是字符串类型,需要转换成其他类型的时候,还有写代码进行操作
利用此知识,可以编写成app和用户互动的欢迎界面
“”" 演示input语句
print(“请告诉我你是谁?”)
name = input()
print(“我知道了,你是:%s” % name)
和上面代码同样的效果
name = input(“请告诉我你是谁?”)
print(“我知道了,你是:%s” % name)
输入数字类型,输出的还是字符串类型
num = input(“请告诉我你的银行卡密码:”)
print(“你的银行卡密码的类型是:”,type(num),“密码是:”,num)
p27 练习题
user_name = input(“你好,请告诉我你的名字”)
print(“您好:%s,您是尊贵的:SSSSSVIP 用户,欢迎您的光临。” % user_name)
这三个代码需要和用户互动,运行时会导致中断,所以放在注释里面
“”"