
欢迎交流学习~~
专栏: 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)}') 输出: