Python个人学习记录

2023-05-16

Python个人学习记录

        • 一、输出(print()函数)
          • 1、控制台输出
          • 2、将内容输出到文件中
          • 3、不进行换行输出(输出内容在一行当中)
        • 二、转义字符
          • 1、普通转义字符
          • 2、特殊用途的字符(反斜杠、单引号、双引号等)
          • 3、原字符(不希望字符串中的转义字符起作用,就是用原字符串,就是在字符串之前加上 r 或 R )
        • 三、整数的不同进制表示方式
        • 四、数据类型转换
        • 五、输入函数input()
        • 六、运算符
          • 1、算术运算符
        • 七、测试对象的布尔值
        • 八、循环语句
          • 1、range()内置函数
          • 2、while循环
          • 3、for-in循环
          • 4、break、continue与else语句
          • 5、嵌套循环
        • 九、列表相关操作
          • 1、操作列表
          • 2、列表生成表达式
        • 十、字典相关操作
          • 1、操作字典
          • 2、字典生成表达式
        • 十一、元组、集合相关操作
          • 1、集合生成式
        • 十二、字符串相关操作
          • 1、操作字符串
          • 2、字符串切片操作
          • 3、格式化字符串
          • 4、字符串编码
        • 十三、函数相关
          • 1、传参
        • XX、其他相关
          • 1、查看关键字
          • 2、不可变序列与可变序列
          • 3、== 与 is 的区别
          • 4、函数的返回值

一、输出(print()函数)

1、控制台输出
  • 可以输出数字 print(520)
  • 可以输出字符串 print('helloWorld')
  • 可以输出含有运算符的表达式 print(260 + 260)
2、将内容输出到文件中
fp = open('F://text.txt', 'a+')  
# 'a+' 的意思为:如果文件不存在就创建文件,文件存在就继续追加内容
print('helloWorld', file = fp)
fp.close()
# 运行之后会在F盘生成text.txt文件,且文件的内容为helloWorld。

注:1、所指的盘符位置存在;2、使用 file = fp (即定义的内容)

3、不进行换行输出(输出内容在一行当中)
print('hello', 'world', 'Python')
# 输出结果为 hello world Python

二、转义字符

转义字符就是反斜杠+想要实现的转义功能首字母

1、普通转义字符

换行:\n
回车:\r
水平制表符:\t
退格:\b

print('hello\nworld') # n --> newline
# 输出换行后的 hello 与 world
print('hello\rworld') # r --> return
# 输出结果为 world ,world将hello覆盖
print('hello\tworld') # t --> 
# 输出结果为 hello   world (一个制表符为四个字符)
print('hello\bworld') # b --> back
# 输出结果为 hellworld (退一格,将o退没了)
2、特殊用途的字符(反斜杠、单引号、双引号等)
print('http:\\\\www.baidu.com')
# 输出结果为:http:\\www.baidu.com
print('老师说: \'大家好\'')
# 输出结果为:老师说: '大家好',即单引号的转义,双引号同理
3、原字符(不希望字符串中的转义字符起作用,就是用原字符串,就是在字符串之前加上 r 或 R )
print(r'hello\nworld')
# 输出结果为:hello\nworld
# 注:最后一个字符不能是反斜杠

三、整数的不同进制表示方式

  • 十进制:默认进制
  • 二进制:以0b开头
  • 八进制:以0o开头
  • 十六进制:以0x开头

四、数据类型转换

str() # 转换成字符串类型
int() # 转换成整数
float() #转换成浮点型

五、输入函数input()

六、运算符

1、算术运算符
+ # 加
- # 减
* # 乘
/ # 除
// # 整除(一正一负的整除,向下取整)
% # 取余(一正一负的取余公示,余数 = 被除数 - 除数 * 商)
** # 幂运算

七、测试对象的布尔值

以下对象的布尔值都为False

print(bool(False))  # False
print(bool(0))  # False
print(bool(0.0))  # False
print(bool(None))  # False
print(bool(''))  # False
print(bool(""))  # False
print(bool([]))  # False (空列表)
print(bool(list()))  # False (空列表)
print(bool(()))  # False (空元组)
print(bool(tuple()))  # False (空元组)
print(bool({}))  # False (空字典)
print(bool(dict()))  # False (空字典)
print(bool(set()))  # False (空集合)

其他对象的布尔值均为True

八、循环语句

1、range()内置函数

用于生成一个整数序列

range(stop)  创建一个[0, stop)之间的整数序列,步长为1
range(start, stop)  创建一个[start, stop)之间的整数序列,步长为1
range(start, stop, step)  创建一个[start, stop)之间的整数序列,步长为step

返回值是一个迭代器对象,用list()来查看range对象中的整数序列(不包含末尾数字)

2、while循环
'''以下为1-100的偶数和'''
a = 1
sum = 0
while a < 101:
    if a%2 == 0:
        sum += a
    a += 1
print(sum)
3、for-in循环
for item in 'Python':
    print(item)
"""如果在循环中不需要使用到自定义变量,可将自定义变量写为'_'下换线"""
for _ in range(5):
    print('人生苦短,我用Python')
# 此时将打印五次“人生苦短,我用Python”

'''以下为1-100的偶数和'''
sum = 0
for item in range(1, 101):
    if item%2 == 0:
        sum += item
print(sum)

'''输出100到999之间的水仙花数
   举例:
   153 = 3*3*3 + 5*5*5 + 1*1*1
'''
for item in range(100, 1000):
    sum = 0
    for i in str(item):
        sum += int(i)**3
    if sum == item:
        print(item)
# 输出结果为:153  370  371  407
4、break、continue与else语句

break用于结束循环结构,通常与分支结构if一起使用

'''从键盘录入密码,最多录入三次,如果正确就结束循环'''
for item in range(3):
    pwd=input('请输入密码:')
    if pwd == '8888':
        print('密码正确')
        break
    else:
        print('密码不正确')

continue用于结束当前循环,进入下一次循环,通常与分支结构中的if一起使用

'''要求输出1到50之间所有5的倍数,   5,10,15,20.....'''
for item in range(1, 51):
    if item%5 != 0:
        continue
    print(item)

else语句与 if 、for 、while 搭配使用

5、嵌套循环
'''要求输出九九乘法表'''
for i in range(1, 10):
    for j in range(1, i + 1):
        print(str(j) + ' * ' + str(i) + ' = ' + str(i * j), end='\t')
    print()
    
'''输出结果为:
1 * 1 = 1	
1 * 2 = 2	2 * 2 = 4	
1 * 3 = 3	2 * 3 = 6	3 * 3 = 9	
1 * 4 = 4	2 * 4 = 8	3 * 4 = 12	4 * 4 = 16	
1 * 5 = 5	2 * 5 = 10	3 * 5 = 15	4 * 5 = 20	5 * 5 = 25	
1 * 6 = 6	2 * 6 = 12	3 * 6 = 18	4 * 6 = 24	5 * 6 = 30	6 * 6 = 36	
1 * 7 = 7	2 * 7 = 14	3 * 7 = 21	4 * 7 = 28	5 * 7 = 35	6 * 7 = 42	7 * 7 = 49	
1 * 8 = 8	2 * 8 = 16	3 * 8 = 24	4 * 8 = 32	5 * 8 = 40	6 * 8 = 48	7 * 8 = 56	8 * 8 = 64	
1 * 9 = 9	2 * 9 = 18	3 * 9 = 27	4 * 9 = 36	5 * 9 = 45	6 * 9 = 54	7 * 9 = 63	8 * 9 = 72	9 * 9 = 81  
'''

九、列表相关操作

1、操作列表

在这里插入图片描述

2、列表生成表达式
lst = [i for i in range(1, 10)]
print(lst)
# 输出结果为:[1, 2, 3, 4, 5, 6, 7, 8, 9]
lst1 = [i*i for i in range(1, 10)]
print(lst1)
# 输出结果为:[1, 4, 9, 16, 25, 36, 49, 64, 81]

十、字典相关操作

字典是Python的内置的数据结构之一,与列表一样是一个可变序列。(列表:[ ] ,字典:{ } ,元组:( ))
以键值对的方式存储数据,字典是一个无序的序列。

1、操作字典
  • get(key, value) 方法获取字典中的值,当查找的key的值不存在时,则会返回None;当指定value并且查找的值不存在时则会返回默认值value。
  • 获取字典所有的键(key)keys()方法
  • 获取字典所有的值(value)values()方法
  • 获取字典所有的键值对(key-value)items()方法
    在这里插入图片描述
2、字典生成表达式
items = ['Fruits', 'Books', 'Others']
prices = [96, 78, 85]
d = {item.upper():price  for item,price in zip(items, prices)}
print(d)
# 输出结果为:{'FRUITS': 96, 'BOOKS': 78, 'OTHERS': 85}

十一、元组、集合相关操作

元组是Python内置的数据结构之一,是一个不可变序列。
注:在创建元组时,如果元组只有一个元素,则必须加上逗号

集合是Python内置的数据结构之一,是一个可变序列。
集合是没有value的字典。
注:集合中的元素不允许重复
集合可以使用set()函数来创建。
注:定义空集合时不能用{},这样出来的是空字典。

1、集合生成式
s = {i*i for i in range(1, 10)}
print(s)
# 输出结果为:{64, 1, 4, 36, 9, 16, 49, 81, 25}

在这里插入图片描述

在这里插入图片描述

十二、字符串相关操作

1、操作字符串

在这里插入图片描述
在这里插入图片描述
注:转换之后会产生新的字符串序列对象。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、字符串切片操作
str[start:end:step]

无start则默认从0开始;无end则默认到最后一个元素结束;无step则默认步长为1。

3、格式化字符串
  • %作占位符
name = '张三'
age = 20
print('我叫%s,今年%d岁' % (name, age))
# 输出结果为:我叫张三,今年20岁
  • {}作占位符
name = '张三'
age = 20
print('我叫{0},今年{1}岁'.format(name, age))
# 输出结果为:我叫张三,今年20岁
  • f - string
name = '张三'
age = 20
print(f'我叫{name},今年{age}岁')
# 输出结果为:我叫张三,今年20岁

注:

print('%10d' % 99) # 10表示的是宽度
print('%.3f' % 3.1415926) # .3表示的是小数点后三位
print('%10.3f' % 3.1415926) # 表示总宽为10.小数点后三位
# 输出结果为:
        99
3.142
     3.142

print('{0:.3}'.format(3.1415926)) # .3表示一共是三位数
print('{:.3f}'.format(3.1415926)) # .3f表示3位小数
print('{:10.3f}'.format(3.1415926)) # 同时设置宽度和精度,一共是10位,3位小数
# 输出结果为:
3.14
3.142
     3.142
4、字符串编码
s = '天涯共此时'
# 编码
print(s.encode(encoding='GBK')) # 在GBK这种编码格式中,一个汉字占两个字节
print(s.encode(encoding='UTF-8')) # 在UTF-8这种编码格式中,一个汉字占三个字节

byte = s.encode(encoding='GBK') # 编码
# 解码
print(byte.decode(encoding='GBK')) # 解码

在这里插入图片描述

十三、函数相关

1、传参
  • 位置传参
def fun(a,b,c):
    print('a=',a)
    print('b=',b)
    print('c=',c)
# 位置传参
fun(10, 20, 30)
  • 关键字传参
def fun(a,b,c):
    print('a=',a)
    print('b=',b)
    print('c=',c)
# 参数传参
fun(a=10, b=20, c=30)
  • 将列表中的每个元素都转成为位置实参传入
def fun(a,b,c):
    print('a=',a)
    print('b=',b)
    print('c=',c)
# 转换成位置参数传参
lst = [11, 22, 33]
fun(*lst)
  • 将字典中的键值对都转成为关键字实参传入
def fun(a,b,c):
    print('a=',a)
    print('b=',b)
    print('c=',c)
# 转换成关键字实参传参
dic = {'a': 100, 'b': 200, 'c': 300}
fun(**dic)
  • 默认值形参
def fun(a,b,c=30): # b是在函数的定义处,所以b是形参,而且进行了赋值,所以b称为默认值形参
    print('a=',a)
    print('b=',b)
    print('c=',c)
  • 个数可变的位置形参
def fun(*args):
    print(args)
    
fun(10, 20, 30, 40)
# 输出结果为:(10, 20, 30, 40)
  • 个数可变的关键字形参
def fun(**args):
    print(args)
    
fun(a=10, b=20, c=30, d=40)
# 输出结果为:{'a': 10, 'b': 20, 'c': 30, 'd': 40}

注:如果个数可变的位置形参与个数可变的关键字形参同时存在时,个数可变的位置形参必须在个数可变的关键字形参之前,否则报错。

def fun(*args, **args2):
    print(args, args2)

XX、其他相关

1、查看关键字
import keyword
print(keyword.kwlist)
# 输出结果为:['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']
2、不可变序列与可变序列
  • 不可变序列:字符串、元组
    没有增、删、改的操作
  • 可变序列:列表、字典
    可以对序列执行增、删、改操作,对象/内存(id()方法)地址不发生更改
3、== 与 is 的区别
  • == 比较的是value值是否相等
  • is 比较的是id是否相等
4、函数的返回值
  • 如果函数没有返回值【函数执行完毕之后,不需要给调用处提供数据】,return可以省略不写;
  • 函数的返回值,如果是1个,直接返回类型;
  • 函数的返回值,如果是多个,返回的结果为元组
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python个人学习记录 的相关文章

随机推荐