Python轻松上手
- 一、 编写第一个python.py
- 二、 固定数据介绍.py
- 三、 列表的性质以及增删改查.py
- 四、 小小的任务:求sinx曲线图形面积.py
- 五、 常用操作符.py
- 六、 条件判断语句.py
- 七、 字符串索引&切片&增删改查
- 八、 对文件处理操作
- 九、 统计小说的单词词频
- 十、 用户函数自定义
- 十一、 python方法与函数对比
- 十二、 面对对象实例
- 十三、 python模块
- 今日份推荐 —— 牛客网
🎏该篇讲解以代码和结果结合,能够快速上手python基础用法
源码:传送门
一、 编写第一个python.py
# python中变量不需要声明 但必须赋值 赋值后才能创建 # 所以也有人把变量称为名字 # python 的输出代码 print('hello world') # hello world yyds 魔术师 = 666 # 因为python使用 utf-8编码所以可以用中文 print(魔术师) # 输出变量 print("Majician",魔术师)# 同时输出字符和变量 #进阶知识 print("Majiciam", 魔术师真酷, end='!') # 设置结尾 print("Majiciam", 魔术师真酷, sep='-', end='!') # 设置 间隔
结果:
>>>print('hello world') # hello world yyds hello world >>>魔术师真酷 = 666 # 因为python使用 utf-8编码所以可以用中文 >>>print(魔术师真酷) # 输出变量 666 >>>print("Majician", 魔术师真酷) # 同时输出字符和变量 Majician 666 >>>print("Majiciam", 魔术师真酷, end='!') Majiciam 666! >>> print("Majiciam", 魔术师真酷, sep='-',end='!') Majiciam-666!
二、 固定数据介绍.py
# 如何用python中的数据结构/数据表示和存放数据 # 标准数据类型 = 【 # ”Number(数字):[’int.float,bool,complex(复数)'], # “String(字符串)”, # “list(列表)”, # “Dictionary:字典”, # “Set:(集合)”, # “Tuple:(元组)" # 】 import math a = -3.5 b = abs(a) # absolute value print(b) c = math.sin(b) print(c)
三、 列表的性质以及增删改查.py
# 列表(List) all_in_list = [ 1, 'love', True, [1, 2, 3] ] # 列表每个元素都是可变的, # 列表中每个元素都是有序的, # 列表可以容纳Python所有对象 print(all_in_list) index = all_in_list[1] index = all_in_list[-3] index = all_in_list[0:2] # 列表的切片,顾头不顾尾,只有1到2,不包括2, print(index) # 列表的增删改查 all_in_list.append("hello world") # 附加最后一个元素 all_in_list.insert(0, "pre_hello") # 插入元素 print(all_in_list) all_in_list.remove("hello world") # 删除指定元素 print(all_in_list) del all_in_list[:2] # 删除元素 print(all_in_list) all_in_list[0] = 100 print(all_in_list) #for循环 #效率底 所以使用列表推导式 x = [] for i in range(10): x.append(i) #print(x) #列表推导式 x = [i for i in range(3,10)] y = [i**2 for i in range(3,10)] z = [i**2 for i in range(3,10) if i%2==0] #输出偶数项 print(x) print(y)
四、 小小的任务:求sinx曲线图形面积.py
import math n = 10 x = [] y = [] width = 2 * math.pi / n # 方法一:for循环建立核心数据结构 for i in range(n): x.append(i * width) y.append(abs(math.sin(x[i]))) # 绝对值 sums = sum(y) * width # 求和函数 # 列表推导式建立核心数据结构(尽量不用for循环,时间复杂度高) x = [i * width for i in range(n)] y = [abs(math.sin(i * width)) for i in range(n)] z = [abs(math.sin(i * width)) * width for i in range(n)] sums = sum(z) print(x) print(y) print(sums)
五、 常用操作符.py
# python 操作符 大多与C语言类似 # 赋值 关系 运算 逻辑 等 (也是返回一个值) # 逻辑 res = 1 < 2 < 3 # 不同时可以连续比较 猜测其在对 < > 进行重载 没有参数返回Boll型数据,又参数返回类继续比较 res = 'M' in 'Magic' # 判断是否在里面 print(res)
六、 条件判断语句.py
# 只有 if elif else while 没有switch了 # 条件判定语句 if 后面语句可以不用加() if 1 < 2: print('hello') if 1 < 0: print('hello') else: print("world") if 1 < 0: print('hello') elif 1 < -1: print("world") else: print("!") # 冒泡排序法 x = [1, 2, 3, 4, 123, 1, 64, 1, -2] n = len(x) for i in range(n): # 循环次数更多,时间复杂度更高 for j in range(i): # 保证在循环中x[i]值最大,前面小于的不管他,一旦有一个x[j]>x[i] j+1后面也全大于 x[j] 和x[i]一直调换 if x[j] > x[i]: # 调换方法!!! x[i], x[j] = x[j], x[i] print(n) print(x)
七、 字符串索引&切片&增删改查
# 字符串 # 任何在这双引号的文字 # 单引号其实和双引号完全一样,但在开发时建议引入用单引号, # '''三个引号被用于长段文字或说明,只要引号不结束,你就可以任意换行''' # 字符串为不可变数据类型 string = "字符串" string = '''hello 嘿嘿 world''' string = 'my ,name' print(string) # 字符串基本用法, # 拼接 char1 + char2 + char3, # 重复 'word'*3, # 转换 int(string), # 切片与索引: # str[-3], # str[1:4], # str[3:] res = string[1] # 字符串索引 res = string[1:4] # 字符串索引 res = string * 3 res = string + ' is ' # 字符串自身属性 # 分割 res = string.split(sep=',') # 默认按照空格切割开,可以设置separate设置隔开符 # 返回值是一个列表, #注意!!!!:string是不可变的数据类型,不能对其数据进行改动, 除非对名字重新赋值 print(1,string) string[1] = 'y' #报错!! #小写变大写 res = string.upper() print(res)
字典的创建 索引&增删改查
# 字典 大括号 ,列表 中括号 dictionary = { 'BIDU': 'baidu', 'SINA': 'sina', 'YOKU': 'youku', } # 键 - 值 成对出现; # 键不能重复, # 键不可更改,值可修改!!!!! 字符串也是 列表则可以 # 键来索引值 dic = {'h': 'hello', 0.5: [0.3, 0.5], 'w': 'world'} # dic = {'h': 'hello', 0.5: [0.3, 0.5], 'w': 'world',[2]:2} # 不能以列表为键!!前提是因为键是不可以变得,而序列是可以变的 print(dic) demo = dic['h'] demo = dic[0.5] # 字典中的元素无先后顺序,只能用键来索引 print(demo) # 字典的增删改查 # 修改 dic['h'] = 'hi' # 增加 # 单个 dic['new'] = 'new dic' # 如果没有该键,会在字典末尾生成新的键值对 # 多个 dic.update({1: 2, 3: 4}) # 删除 # del dic #直接整个删掉 del dic['h'] # 字典推导式 d = {i: i ** 2 for i in range(10)} d = {i: i ** 2 for i in range(10) if i % 2 == 0} print(dic) print(d)
八、 对文件处理操作
# 文件操作 # 只读 f = open('beauty_live.text', 'r') # 读取文件操作 txt = f.read() txt = f.read(100) #设置读取字符的个数 # 因为是对文件以读的方式打开, # 所以在读取文件指针后, # 指向文件的指针指向文件尾,就无法再继续读取,需要将指针seek变为0 f.seek(0) # 只读行(返回值是一个列表) txt1 = f.readlines() # txt1 = f.readline() #只读一行 f.close() # print(txt1) print(txt)
九、 统计小说的单词词频
# 统计小说的单词频次 import re # 查看当前路径 import os path = os.getcwd() # current word directory 当前目录 print(path) f = open('beauty_live.text', 'r') # 引入当前工程路径 , 如果移动了 需要绝对路径 txt = f.read() # 读取进来的数据类型是字符串 f.close() txt = txt.lower() # 去除小数点等符号 用‘’替代 就是空 re.sub('[,.?!"\'-]', '', txt) # 由于使用分割后返回值是一个列表 无法使用re.sub 所以先处理在分割 txt = txt.split() # 统计频次 word = {} for i in txt: if i not in word: word[i] = 1 else: word[i] += 1 # 对次数排序 sor = sorted(word.items(), key=lambda x: x[1], reverse=True) print(txt) print(word) print(sor)
十、 用户函数自定义
# 函数自定义 # 简单用lamdba y = lambda x: x ** 2 y1 = lambda x: x[1] # 复杂用def def Sum(x=1, y=2): # 设置默认值同于c++,前面设置了后面必须避免歧义,可以只设置后面 return x + y res = Sum() demo = y(3) demo = y1(['hello', 'world']) print(res) print(demo) #求给定序列 偶数个数 def su(x): z = 0 for i in x: if i%2==0: z +=1 return z print(su([1,2,34,5,6,2,4,]))
十一、 python方法与函数对比
# 面对对象编程 list = [2.4, 'hello', 'world'] list.append('hehe') print(list) string = 'myapp' string.append('hi') # 对字符串对象而言 没有append方法 ,注意不是函数 list.split() # 同样不可以对列表对象 使用split方法 方法与对象挂钩 print(string)
十二、 面对对象实例
# 创建自己的类 class human: # 方法是定义在类内的函数 def __init__(self, ag=None, se=None): # 构造函数 self.age = ag # 类的属性 self.sex = se def square(self, x): # 方法 return x ** 2 zhangfei = human(ag=28, se='M') # 类的实例化 demo = zhangfei.square(3) demo = zhangfei.age print(demo)
十三、 python模块
# 模块是一个包含了所有你定义的函数的变量的文件,其后缀名为.py其实就是一个脚本文件 import math # 引入模块 import def_math from def_math import Sum res = math.sin(1) # 用模块调用 res = math.pi from math import sin, pi # 从模块引入变量和函数 直接使用 面对多次使用的情况下,建议用此方法 ! # 导入模块全部变量和函数 from def_math import * # 不建议这样做 把全部引入 没有库名称区别 与其他库的函数名歧义 res = sin(2) # 在模块引入直接使用 res = 2 * pi res = def_math.Sum(1, 3) res = Sum(1, 3) print(res)
模块def_math.py
def Sum(x, y): return x + y
今日份推荐 —— 牛客网
- python的学习还是要多以练习为主,想要练习python的同学,推荐可以去牛客网看看,他们现在的IT题库内容很丰富,属于国内做的很好的了,而且是课程+刷题+面经+求职+讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费
- 他们这个python的练习题,知识点编排详细,题目安排合理,题目表述以指导的形式进行。整个题单覆盖了Python入门的全部知识点以及全部语法,通过知识点分类逐层递进,从Hello World开始到最后的实践任务,都会非常详细地指导你应该使用什么函数,应该怎么输入输出。