文章目录
字面量
字面量:在代码中被定义下来的固定的值。
常见的字面量:
- 数字:分为整数(1,2),浮点数(1.34),复数(3+4j),布尔值(true)。
- 字符串:由任意数量的字符组成。
- 列表:有序的可变序列,python中最频繁使用的类型,可以有序的记录一堆数据。
- 元组:有序的不可变序列,记录一堆不可变的python数据的集合。
- 集合:无序不重复的集合,记录一堆不重复的python数据的集合。
- 字典:无序Key-value集合,记录一堆Key-value型的python数据集合。
字符串
字符串:又称作文本,由任意的字符如中文,英文,数字构成,所以叫字符串。
例如:
“hello world!”
“2022”
‘‘你好 world’’
以上都是字符串。
在Python中,字符串需要被引号包围起来,或者这么说被引号包围起来的就是字符串。
整数,浮点数
对于整数浮点数,就是按照人们平时所写的习惯来就行,比如:整数(1),浮点数(1.34)这样子就行。
基于print()输出字符串,整数,浮点数
使用的方法就是print(字面量)
例如:
print(10) 输出整数10
print(1.34) 输出浮点数1.34
print(“hello world”)输出字符串“hello world”
注释
注释:就是程序代码中对于程序代码的解释性文字,但是其本身并不能被编译器执行,作用就在于让别人或者以后的自己更容易看懂代码写的是什么,增加代码的可读性。
注释的分类
单行注释(使用#):
# 我是单行注释
建议在#键和需要注释的之间加上一个空格,养成良好的习惯。
多行注释(使用一对三个双引号"““注释内容””"):
“”"
我是多行注释
“”"
变量
变量:在程序运行的时候可以存储计算结果或者表示值的抽象概念。
变量的定义格式:
变量名称 = 变量的值
day = 5
print()的使用扩展
此时我们有了多份数据变量进行print的使用扩展:
格式:
print(变量或者字面值,变量或者字面值···)
具体使用就是:
print(“离周日还剩下:”,day,“天。”)
变量的简单计算
day-=1,代表着变量day=day-1,也就是将5-1的值重新赋值给day,相同的还有+=,-=,*=,/=,%=,等等
数据类型
常见的数据类型,其实也就是字面量类型:
- 数字:分为整数(1,2),浮点数(1.34),复数(3+4j),布尔值(true)。
- 字符串:由任意数量的字符组成。
- 列表:有序的可变序列,python中最频繁使用的类型,可以有序的记录一堆数据。
- 元组:有序的不可变序列,记录一堆不可变的python数据的集合。
- 集合:无序不重复的集合,记录一堆不重复的python数据的集合。
- 字典:无序Key-value集合,记录一堆Key-value型的python数据集合。
数据是有类型的,但是变量是没有类型的,具体类型,可以使用type()函数进行查找:
type()
格式:
type(被查看类型的数据)
例如:
print(type(“hello world”)) # 1
print(type(12)) # 2
print(type(1.3)) # 3
- 输出的值为<class ‘str’>,这个就是字符串,str是string的缩写。
- 输出的值为<class ‘int’>,这个就是整数。
- 输出的值为<class ‘float’>,这个就是浮点数。
这里实际上是一个缩写,因为type()是一个函数,他是有返回值的,返回的就是上面那种类型的量,你也可以拿一个变量把上面的返回值接受起来,然后再放到print里面进行打印。
PS:变量没有类型,重要的话说三遍。
数据类型转换
格式:
int(x) # 1
float(x) # 2
str(x) # 3
- 将x转换为一个整数
- 将x转换为一个浮点数
- 将x转换为一个字符串
值得注意的是这些都是带返回值的函数,我们可以直接使用print进行输出,也可以拿一个变量进行存储。
PS:值得注意的是万物都可以转换为字符串,但是仅有字符串里面是数字的才可以转换为整型,相同的,浮点数转换为整型数据的时候小数点后面的数据将会丢失比如11.1转换为整型将会变成11,然后整型转换为浮点数将会加上小数点,比如11转换为浮点数将是11.0
标识符
什么是标识符呢?下面这些仅供理解:
- 变量的名字
- 方法的名字
- 类的名字等等
这些名字我们一般统一称之为标识符,用来做内容的标识。
python中命名的规则
- 内容限定
- 大小写敏感
- 不可以使用关键字
内容限定
标识符中只允许出现
- 英文
- 中文
- 数字
- 下划线_
但是不推荐使用中文,除此之外还有需要注意的是:不允许使用数字开头。
大小写敏感
在Python中两个变量名一是andy 二是Andy,这两个变量是完全不同的变量,原因就在于大小写敏感。
不可以使用关键字
常见的关键字:
[‘False’,‘None’, ‘True’,‘and’,‘as’, ‘assert’,‘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’]
虽然有这么多,但是也不需要进行背诵,用的多了就记忆下来了。
运算符
算术运算符
常见的算术运算符:
- + 加法运算符
- - 减法运算符
- * 乘法运算符
- / 除法运算符
- // 取整除,比如9/2=4,或者9/2=4.0
- % 取余
- /** 指数,如10**20就代表着是10的20次方
赋值运算符
常见的赋值运算符:
- = 赋值运算符 将等号左边的数据赋值给右边的变量
- += 加法赋值运算符 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
字符串扩展
字符串的三种定义方式
单引号定义法
str=‘hello world’
双引号定义法
str=“hello world”
三引号定义法
str=“”“hello world”
值得关注的是,当三个双引号不被当作字面值,不被变量接收的时候,他就是一个注释,但是如果他被变量接收的时候他就是一个字符串,而且他也和注释一样,它支持多行操作,剩下的单引号双引号都不支持。
字符串的引号嵌套
在我们想使用双引号单引号作为字符串的元素的时候我们可以这么写:
- 单引号定义法,里面可以内引双引号。
- 双引号定义法,里面可以内引单引号。
- 可以使用转移字符(\)来将引号解除效用,变成普通的字符串。
个人建议是使用第三种。
字符串的拼接
不论是字面量和字面量,还是字面量和变量,还是变量和变量,字符串之间都可以使用+进行拼接。例如:
> name="hello world"
> print("你好 世界"+name+"世界 你好")
运行完输出的结果:
PS:在这里需要注意的是,如果我们进行的是字符串的拼接,如果这个时候我们需要采用一个数字,然后进行拼接的话,我们应该将这个数字转化为字符串变量。
相关函数str(x)
字符串格式化(方法一)
在Python当中支持非常多中的数字占位:
现在先介绍三种:
整型 用%d
浮点型 用%f
字符串 用%s
也被称作占位型的拼接:
name = "你好 世界"
num = 112233
name2 = "hello world:%s" % name
print("%s num=%d" % (name2,num))
运行的结果是:
字符串格式化的精度控制
在我们打印浮点数的时候总会出现这样子的情况
代码:
number = 3.14
print("我想要的数字是:%f" % number)
运行结果:
但是,我们有时候我们所想要的数据并不包括后面的四个零,原因就是float后面默认接六位小数,那我们应该怎么修改呢?
修改如下:
number = 3.14
print("我想要的数字是:%.2f" % number)
运行结果:
相同的我们就可以引出我们这一话题的重点:
我们可以使用辅助符号进行调控数据的宽度和精度:
- m,控制的是宽度,要求的是数字(很少使用),如果要求的宽度小于自身,不生效。
- .n控制的是精度,要求是数字,会自然的进行小数的四舍五入。
- 如果在m前面加上一个负号,相当于是规定宽度的同时又向左对其。
样例如下:
number = 3.14
print("我想要的数字是:%3.2f" % number)
print("我想要的数字是:%4.2f" % number)
print("我想要的数字是:%5.2f" % number)
print("我想要的数字是:%-5.2f" % number)
输出的结果:
我们可以看到的是,宽度也包括小数点,而且最后一行:
可以明显的看出他是带着一个空格的,m规定宽度之后正负号取决于空格位于何处(一个没用的小知识)
字符串格式(方法二)
快速写法:
语法:
f"内容{变量}"
代码样例:
name = "hello world"
ff = 3.14
ll = 3
print(f"中午:{name},浮点数:{ff},整数:{ll}")
输出结果:
这种方式也很简单,但值得我们注意的是:
- 这种方式不会理解类型,直接进行打印,这个很好理解。
- 这种方式他不会做精度控制,该是多少他就是多少,相当于复制粘贴的功能。
总而言之:此种方法适合于对精度没有要求的时候的快速打印。
对表达式进行格式化
表达式:就是代码当中的有明确表示的计算式。
print("1+1的结果是:%d" % (1+1))
print(f"1+1的结果是:{1+1}")
运算结果:
最后写一段代码供大家理解
示例一:
name = "传智播客"
stock_price = 19.99
stock_code = "003032"
stock_price_daily_growth_factor = 1.2
grows_day = 7
print(f"公司:{name},股票代码:{stock_code},当前股价:{stock_price}")
print("每日的增长系数是:%.1f,经过了%d天后,股价达到了:%.2f" % (stock_price_daily_growth_factor,grows_day,stock_price*stock_price_daily_growth_factor**grows_day) )
观察一下,看看结果是不是这个:
数据输入
与print()相反,我们希望有一个函数可以让我们实时的和电脑进行交流,比如我们内置了一个2多少的函数,希望算出他是多少,但我们现在想要计算23,就想要把3输入给电脑,让电脑计算一下。就需要用到这个input函数了。
input()函数
使用方式:
input(这里面存储一开始输出到外面的值),这个函数返回一个字符串,可以拿一个变量进行储存。
使用样例:
name = input("请告诉我你是谁?\n")
print("我是%s" % name)
输出结果:
这个时候程序在等待你的输入,这时候你可以输入帅哥(样例)
结果如上。
但是需要注意的是通过input()函数返回的值都是字符串类型,如果需要用到数字类型的,就需要进行类型转换了,相关的函数是int(x)或者float(x)