欢迎交流学习~~
专栏: Python学习笔记
Python学习系列:
Python | 基础入门篇Part01——注释、数据类型、运算符、字符串
Python | 基础入门篇Part01——注释、数据类型、运算符
一、注释1.1 单行注释1.2 多行注释 二、常见的数据类型2.1 Python中常见的有 6 种数据类型2.2 如何查看数据类型——通过函数 type() 三、运算符3.1 算术运算符3.2 赋值运算符和复合赋值运算符 四、字符串4.1 字符串的定义方式&字符串拼接4.2 格式化输出4.3 数据输入
一、注释
Python中有两种注释方法,分为 单行注释 和 多行注释,起解释说明作用:
1.1 单行注释
以#
开头,#
右边的部分为注释 比如: # 这是一个注释print("hello, world!") # 这也是一个注释
1.2 多行注释
格式为"""注释内容"""
,在两个 """
中间的部分为注释内容 比如: print("hello")"""这是一个注释"""print("world")"""这也是一个注释这是新的一行"""
注释的快捷键是:ctrl+/
(选中要注释的内容,再按键即可)
二、常见的数据类型
2.1 Python中常见的有 6 种数据类型
数字Number
: 整数 int
:比如 10
,-10
浮点数 float
:比如 13.14
,-13.14
复数 complex
:比如 4+3j
,用 j
表示复数 布尔 bool
:表示逻辑,True
表示真,False
表示假;其本质为数字,True
记为 1
,False
记为 0
字符串 String
: 描述文本的一种数据类型,由任意数量的字符组成。 比如:'hello'
,'字符串'
,'#132!'
列表 List
: 有序的可变序列,使用最频繁的数据类型,可有序记录一堆数据 比如:[1, 3, 5, 6, 6, 4]
元组 Tuple
: 有序的不可变序列,可有序记录一堆不可变的数据集合。 集合 Set
: 无序不重复集合,可无序记录一堆不重复的数据集合。 字典 Dictionary
: 无序的 Key-Value
集合,可无序记录一堆 Key-Value
型的数据集合。 2.2 如何查看数据类型——通过函数 type()
我们可以直接输出:
print(type(12))
输出:
也可以借助变量输出:
a = 13.14b =type(a)c = "hello, world!"d = [1, 2, 3]print(b)print(type(c))print(type(d))
输出:
三、运算符
3.1 算术运算符
算数运算符包括 7 种:
加+
,比如:1+2=3
减 -
,比如:3-2=1
乘 *
,比如:2*3=6
除 /
,比如:9/2=4.5
取整除 //
,比如:9//2=4
取模(余) %
,比如:9%2=1
指数 **
,比如:2**3=8
3.2 赋值运算符和复合赋值运算符
赋值运算符=
,比如:a=1
加法赋值运算符 +=
,比如:a += b
等效于 a = a+b
减法赋值运算符 -=
,比如:a -= b
等效于 a = a-b
乘法赋值运算符 *=
,比如:a *= b
等效于 a = a*b
除法赋值运算符/=
,比如:a /= b
等效于 a = a/b
取模赋值运算符 %=
,比如:a %= b
等效于 a = a%b
幂赋值运算符 **=
,比如:a **= b
等效于 a = a**b
取整除赋值运算符 //=
,比如:a //= b
等效于 a = a//b
四、字符串
4.1 字符串的定义方式&字符串拼接
字符串的三种定义方式:
字符串有 3 种定义方式,分别为:单引号定义法、双引号定义法、三引号定义法:
s1 = 'this is a string'print(s1)
输出:
双引号定义法:s2 = "this is a string"print(s2)
输出:
""" """
内容以变量接收,则为字符串,否则为 注释: s3 = """this is a string"""print(s3)
输出:
如果字符串中带有字符串,该如何定义:
若字符串中有双引号,则用单引号定义:name = '"peter"'print(name)
输出:
name = "'tom'"print(name)
输出:
\
解除引号的效用: name = '\'adam\''print(name)
输出:
字符串拼接:
字符串可以通过运算符 +
实现拼接,比如:
s1 = 'hello,'s2 = ' world!'print(s1+s2)
输出:
4.2 格式化输出
格式化输出有三种方式,分别是:% 格式化输出,format 格式化输出,快速格式化输出
% 格式化输出:
可以通过占位符 %
实现格式化输出,比如:
s1 = 'hello,'s = '%s world!' % s1print(s)
输出:
s1 = 'hello,'s2 = 'world!'s = '%s %s' % (s1, s2)print(s)
输出:
其中,%
为占位符,表示变量要在这里占位,而 s
表示将变量变成字符串放入占位的地方,在字符串结尾加 %
后,再跟要插入的变量。
Python常用的占位格式符号:
%s
将内容转化为 字符串,放入占位位置%d
将内容转化为 十进制整数,放入占位位置(%o
八进制,%x
十六进制,加 #
为 %#o
,%#x
保留进制的前缀)%f
将内容转化为 浮点数,放入占位位置(%e
转化为科学计数法) 整数和浮点数 的输出可以用辅助符号 m.n
来控制数据的宽度和精度: 其中 m
控制宽度,超过宽度的 m
不会生效,不足宽度的会在数字前用 空格
补齐,比如: num = 123print('%6.f' % num)
输出:
n
控制小数点精度,比如: num = 123print('%.2f' % num)
输出:
关于浮点数保留位数的问题:
在进行浮点数输出时,可能会有如下问题:
num = 123.135print('%.2f' % num)
输出:
num = 123.145print('%.2f' % num)
输出:
两个数 123.135
和 123.145
,保留两位小数输出,最终输出结果都为 123.14
,即输出结果,并不遵循四舍五入规律。
其原因我们可以通过调大精度来找到,我们将 n
设为 20
:
num = 123.135print('%.20f' % num)"""output:123.13500000000000511591"""
num = 123.145print('%.20f' % num)"""output:123.14499999999999602096"""
即计算机内部保存数据时,并没有精确存储。
从 n=20
的输出结果中我们看到,其实还是满足四舍五入定律,只是因为存储精度的原因,所以才会有看似不遵循四舍五入的结果。
两者同时有:
num = 123print('%7.2f' % num)
输出:
format 格式化输出:
通过 '{X}'.format(Y)
实现格式化输出,X
和 Y
表示两个位置的内容。
X
为变量名,Y
为对变量进行赋值: print('{name} has {num} books.'.format(name='tom', num=10))
输出:
X
为位置索引,默认依次从 0
开始,Y
为按索引顺序的内容: print('{0} and {1} are friends.'.format('tom', 'adam'))print('{1} and {0} are friends.'.format('tom', 'adam'))
输出:
X
为 变量或索引+输出格式,输出格式以 :
开头,<
表示左对齐,^
表示居中,>
表示右对齐(默认为左对齐),后面跟数字表示宽度,Y
为输出内容: print('{name1:5} and {name2:5} are friends.'.format(name1='tom', name2='adam'))print('{0:5} and {1:5} are friends.'.format('tom', 'adam'))print('{0:<5} and {1:<5} are friends.'.format('tom', 'adam'))print('{0:^5} and {1:^5} are friends.'.format('tom', 'adam'))print('{0:>5} and {1:>5} are friends.'.format('tom', 'adam'))
输出:
X
为输出格式,Y
为输出内容,基本和 %
法格式输出相同: """整数"""print('{:6d}'.format(1024))print('{:6o}'.format(1024))print('{:6x}'.format(1024))print('{:#6o}'.format(1024))print('{:#6x}'.format(1024))
输出:
"""浮点数"""print('{:f}'.format(1024.1024))print('{:.4f}'.format(1024.1024))print('{:10.4f}'.format(1024.1024))print('{:10e}'.format(1024.1024))print('{:.4e}'.format(1024.1024))print('{:10.4e}'.format(1024.1024))
输出:
X
为输出格式,Y
为输出内容,只针对数字: print('{:,}'.format(123456))print('{:,}'.format(123456.789))
输出:
X
中若有大括号,则需要为双层,Y
为对变量进行赋值: print('{name} has {{10}} books.'.format(name='tom'))print('{{{1}}} and {0} are friends.'.format('tom', 'adam'))
输出:
字符串格式化输出de快速写法:
格式化输出,可以借助在字符串前加 f
,并在 {}
内写入变量的方式实现:
age = 18print(f'tom is {age} years old.')
输出:
这种方式,不设置精度,也不对输出类型做限制。
4.3 数据输入
在 python
中我们用 print
函数将内容输出;而与之对应的输入,我们要用到 input
函数,比如:
print('请输入你的年龄:')age = input()print(f'你的年龄是{age}岁')
输出:
或者直接在 input()
括号中添加字符串
age = input('请输入你的年龄:')print(f'你的年龄是{age}岁')
输出:
但是要注意,input
函数会默认输入的内容是 字符串,因此我们需要在输入后将其数据类型进行转变,比如使用 int()
函数:
age = input('请输入你的年龄:')print(f'年龄类型为:{type(age)}')age = int(age)print(f'年龄类型为:{type(age)}')
输出: