专栏: Python学习笔记
Python学习系列:
Python | 基础入门篇Part01——注释、数据类型、运算符、字符串
Python中有两种注释方法,分为 单行注释 和 多行注释,起解释说明作用:
#
开头,#
右边的部分为注释# 这是一个注释
print("hello, world!") # 这也是一个注释
"""注释内容"""
,在两个 """
中间的部分为注释内容print("hello")
"""这是一个注释"""
print("world")
"""
这也是一个注释
这是新的一行
"""
注释的快捷键是:
ctrl+/
(选中要注释的内容,再按键即可)
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
型的数据集合。我们可以直接输出:
print(type(12))
也可以借助变量输出:
a = 13.14
b =type(a)
c = "hello, world!"
d = [1, 2, 3]
print(b)
print(type(c))
print(type(d))
算数运算符包括 7 种:
+
,比如:1+2=3
-
,比如:3-2=1
*
,比如:2*3=6
/
,比如:9/2=4.5
//
,比如:9//2=4
%
,比如:9%2=1
**
,比如:2**3=8
=
,比如: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
字符串的三种定义方式:
字符串有 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)
格式化输出有三种方式,分别是:% 格式化输出,format 格式化输出,快速格式化输出
% 格式化输出:
可以通过占位符 %
实现格式化输出,比如:
s1 = 'hello,'
s = '%s world!' % s1
print(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 = 123
print('%6.f' % num)
n
控制小数点精度,比如:num = 123
print('%.2f' % num)
关于浮点数保留位数的问题:
在进行浮点数输出时,可能会有如下问题:num = 123.135 print('%.2f' % num)
num = 123.145 print('%.2f' % num)
两个数
123.135
和123.145
,保留两位小数输出,最终输出结果都为123.14
,即输出结果,并不遵循四舍五入规律。
其原因我们可以通过调大精度来找到,我们将n
设为20
:num = 123.135 print('%.20f' % num) """ output: 123.13500000000000511591 """
num = 123.145 print('%.20f' % num) """ output: 123.14499999999999602096 """
即计算机内部保存数据时,并没有精确存储。
从n=20
的输出结果中我们看到,其实还是满足四舍五入定律,只是因为存储精度的原因,所以才会有看似不遵循四舍五入的结果。
两者同时有:
num = 123
print('%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 = 18
print(f'tom is {age} years old.')
这种方式,不设置精度,也不对输出类型做限制。
在 python
中我们用 print
函数将内容输出;而与之对应的输入,我们要用到 input
函数,比如:
print('请输入你的年龄:')
age = input()
print(f'你的年龄是{age}岁')
age = input('请输入你的年龄:')
print(f'你的年龄是{age}岁')
输出:
但是要注意,input
函数会默认输入的内容是 字符串,因此我们需要在输入后将其数据类型进行转变,比如使用 int()
函数:
age = input('请输入你的年龄:')
print(f'年龄类型为:{type(age)}')
age = int(age)
print(f'年龄类型为:{type(age)}')