【Python基础学习记录1】Python变量和字符串
一、Python变量和字符串
1、Python函数和print函数的使用
1.1 函数是什么?
函数是Python程序提前准备好的功能,每个函数都有对应的功能,函数的使用方式为:函数名(参数)
1.2 print函数
print函数用于向控制台输出字符串,示例:print(“hello,world”)、print(123)
在输出文本时增加\n对文本换行处理,例如:print(“我的姓氏\n牛”)
print("hello,world") print(123) print("我的姓氏\n牛")
1.3 常见错误
1)Python需要使用半角字符
2)大小写错误,Python大小写敏感
3)英文单词拼写错误
2、注释的作用(增加代码的可读性)
2.1 注释的两种方式
1)单行注释:#我是人见人爱的单行注释
2)块注释(大段注释):"""大段注释""",单引号或者双引号都行
2.2 快捷注释
选择要注释的代码,同时按下键盘的 ctrl+/
3、变量的定义和使用
3.1 变量(variable)的作用
程序的作用就是用来处理数据
编程语言中使用变量的形式保存
为变量设置“值”的过程 ,成为“赋值”
3.2 定义变量
1)变量的语法:变量名=值
2)等号左边是变量的名称,右边是变量要保存的数据
如:
name = "imooc" #文本
salary = 2020 #数字
is_weekend = True #布尔型(布尔值Boolean),只有Ture 和False
3)同一变量名,Python对底层的处理是不同的。则print会打印最新的变量值。
4)小数又称为浮点数
4、变量的命名要求
4.1变量的命名要求
1)变量名有意义,见名知意
2)变量名只能包含字母、下划线与数字,不能数字开头
3)不能与python关键字重名
4.2 如何给变量起一个好名字
1)所有单词小写,多个单词之间使用__连接
2)最好使用英文单词,不建议使用拼音
3)长度最好不要超过20个字符,过长可使用缩写
5、变量的数据类型
5.1 变量在赋值时会自动判断数据的类型
Python最常用有四种数据类型:
字符串-str(string):name = "XXXX"
整数-int(intrger):age = 30
浮点数-float: weight = 163.5
布尔型-bool(Boolean):is_weekend = True , is_workday = False
5.2 type函数
type函数用于得到变量的数据类型
语法:变量 = type(变量名)
输出:str | int | float | bool
函数套用:print(type(变量名))
6、基本运算符的使用
基本运算符:基本运算符是指Python中使用的基本数学计算符号
7、input函数的使用
7.1 使用input函数将用户输入的字符串保存到变量
语法格式:变量 = input("提示信息")
示例:mobile = input("请输入您的手机号")
如果在程序中使用多个input函数,Python会依次接受用户的输入,并且保存到变量当中,当程序执行完最后一句话后退出运行。
7.2 字符串变量str不能用于+—*/的运算,必须转换
input()函数接收一个标准输入数据,返回的数据类型为str字符串类型
通过input()函数输入的数字,需要将其转换成int整型才可以进行数值上的加减操作
7.3 字符串与数字互相转换
字符串->数字:int(字符串)、float(字符串)
数字->字符串:str(数字)
8、综合实践----阶梯电费实践
类别 |
用电量 |
电价标准 |
一档 |
1-240(含) |
0.4883 |
两档 |
241-400(含) |
0.5383 |
三档 |
400以上 |
0.7883 |
代码:
print("欢迎使用阶梯电费计算器") elec_num = int(input("请输入您的用电量:")) if elec_num <=240: elec_charge = elec_num * 0.4883 elif elec_num <400: elec_charge = (elec_num - 240) * 0.5383 + 117.192 else: elec_charge = (elec_num - 400) * 0.7883 + 203.32 print("您本月的电费为:",elec_charge)
9、字符串的创建和拼接
9.1 python字符串
字符串就是一系列字符,可以用单引号、也可以用双引号
注:字符串内部出现引号,会引起错误。需把外部引号和内部引号区分开来,例如外部引号改为单引号,内部引号为双引号;或者外部引号为双引号,内部引号为单引号
9.2 字符串拼接
1)字符串拼接是指将多个字符串合并,形成一个新的字符串
2)字符串拼接使用 + 号处理
3)示例:print("MF"+8765),字符串不能和数字直接拼接,需要用str()进行转换
7、字符串大小写转换
函数名 |
说明 |
str.lower() |
转换为小写 |
str.upper() |
转换为大写 |
str.capitalize() |
字符串首字符大写 |
srt.title() |
每个单词首字母大写 |
str.swapcase() |
大小写互换 |
8、格式化字符串
11.1字符串格式化的函数
Python2.6开始,新增了一种格式化字符串的函数str.format();
{}表示占位符,在实际调用时format会将参数按前后顺序依次传入占位符。
示例1:"{}{}you".format("I" , "love")将产生"I love you"
示例2:“{2}.{1}.{0}”.format("com","imooc","www")
数字0、1、2代表索引值,且从0开始。所以com为0,imooc为1,www为2
11.2 实际应用
name = "小明" age = 25 height = 180.5 # 给大括号里增加相应的索引值,以避免错位。 str1 = "我叫{0},身高{3},体重{1},今年{2}".format(name ,"120", age , height) #如果此时想往字符串内加入新信息(我在3-2班),要调整索引值,会比较麻烦。 str2 = "我叫{0},我在{1}班,身高{3}, 今年{2}".format(name , "3-2" , age , height) #高级的做法, 可以给参数赋予别名,如此书写的好处:做任意的调整也不会错位。利用别名让我们程序的可维护性变得更好 str3 = "我叫{p1},我在{p2}班,身高{p4}, 今年{p3}".format(p1=name , p2="3-2" , p3=age , p4=height)
9、格式化数字
注意:format函数结果输出的为字符串
示例 |
解释 |
输出 |
format(1234.567,'0.2f') |
小数保留2位 |
1234.57 |
format(1234.567,',') |
千分位分隔符 |
1,234,567 |
format(123456789,'0,.2f') |
即要保留小数又要千分位分隔符 |
123,456,789.00 |
'请您向{}账户转账¥{:0,.3f}'.format(account,amt)
account = "8810381" amt = 123456789
|
在字符串格式化输出时,如遇要格式化输出的数字,则需要在{}内增加:前缀,之后写上数字格式化语句。 |
请您向8810381账户转账¥123,456,789.000 |
10、早期的格式化输出
早期字符串格式化使用%s、%d、%f 来格式化字符串 ,s、d、f分别代表字符串、整数、浮点数。
%f默认保留6位小数。
示例:
name = "张三" age = 25 weight = 87.5 str = "我叫%s,今年%d岁,体重%.2f公斤。" % (name, age, weight)
11、制表符和换行符
14.1 制表符和换行符
制表符:(制作表格)
是指增加字符的缩进,在字符串中使用\t
换行符:
是指为字符串换行输出,在字符串中使用\n
14.2 删除空白
函数名 |
说明 |
str.lstrip() |
删除左侧空白 |
str.rstrip() |
删除右侧空白 |
str.strip() |
删除两端空白 |
len() |
获取字符串长度 |
15、查找和替换字符串
15.1 查找字符串
1)str.find()函数用于获取子字符串第一次出现的位置
语法:str.find(目标串,[开始位置],[结束位置])
实例:'Nice to meet you'.find('ee') 返回9
2)以source = "Nice to meet you, I need your help!"为例
index = source.find("ee" , 17, 27)
#查找字符串的起始位置与结束位置,从逗号后开始查找,前面的e被跳过。
#如果此时被结束位置由27改为22, 这个区间不包括ee,此时运行返回 -1(负一含义:不存在指定的字符串)
3)如何查看ee是否在这个字符串中间出现过?
isexist = "ee" in source print(isexist) #返回 True
if source.find(“ee”) != -1: print(““ee在字符串中出现过””)
15.2 字符串替换
str.replace()函数用于字符串的替换
语法: str.replace(原始串,目标串,[替换次数])
"aaabbbccc".replace("b", "d" ,2) 输出aaaddbccc
注意:如果未传入替换次数,默认将符合要求的字符串从前到后依次替换,当传入替换次数后,按照次数依次匹配进行替换。