人生苦短 我学python

前几天根据网上的材料改了一个csv文件转xls的脚本,简单10行搞定。牛X,故决定跟把风完整的学习下python。废话不多说直接上笔记,如有不足之处请指出,谢谢大神们
# 第一个python程序
print("hello world!")# 变量的概念
msg = 'hello python!'
print(msg)# 变量的赋值
msg = 'hello msg'
print(msg)# 变量的命名:只能包含字母、数字、下划线。不能以数字开头、不能包含空格、不能以python关键字和函数名为变量名# 测试异常情况
# message = 'hello error'
# print(mesage)# 异常信息
# Traceback (most recent call last):
#   File "C:/Users/admin/Desktop/study_py/201912/helloworld.py", line 16, in <module>
#     print(mesage)
# NameError: name 'mesage' is not defined# 异常解释:代码16出现异常。异常原因是 变量mesage未定义 处理方案:保存赋值变量名与输出变量名一致# 数据类型
# 1、字符串 (引号包含)
str_msg = 'hello world'
str_msgs = "hello world"# 首字母大写
print(str_msg.title())# 全大写
print(str_msg.upper())# 全小写
print(str_msg.lower())# 字符串拼接 连接符:+
str1 = 'linda'
str2 = 'john'
print(str1 + ' ' + str2)# 制表符、换行符 添加空白
print('python')
print('\tpython') #\t 制表符
print('python\nphp\njava') # \n 换行符
print('python\n\tphp\n\tjava') # \n 换行符 \t 制表符# 去除字符串开头结尾的空格
str1 = ' abc'
str2 = 'acv '
str3 = ' kikc '
print(str1.lstrip()) # 去除开头空格
print(str2.rstrip()) # 去除末尾空格
print(str3.strip()) # 去除两端空格# 2、数字
# 2.1、整数 可对整数进行加(+)减(-) 乘(*)除(/)等运算
print(4+4)
print(9-1)
print(2*4)
print(16/2)
# 2.2、浮点数 计算同整数,有精度问题
# 2.3、字符串跟数字连接时,要使用str()就数字转化成字符串,否则可能会出现异常
age = 18
# msg = "You Are" + age + "year old" # 报错
msg = "You Are " + str(age) + " Year Old"
print(msg)# 3、列表 由一系列按特定顺序排列的元素组成.是有序集合下标从0开始 可以编辑修改的列表
names = ['bob','alean','john','dob','nota']length = len(names) # 获取列表的长度
print(length)print(names)
print(names[0]) # 列表第一个元素
print(names[3].title()) # 列表第四个元素
print(names[-1]) # 列表倒数第一个元素
print(names[-2]) # 列表倒数第二个元素# 3.1 修改列表的内容names[0] = 'aganle' # 修改第一个元素
print(names)names.append('zile') # 向末尾添加一个元素
print(names)names.insert(1,'yeawq') #在第二个元素位置添加一个元素,其后元素索引+1
print(names)# 已知元素位置删除
del names[0] # 删除第一个元素
print(names)name_del = names.pop() # 删除末尾元素,并将元素赋值给name_del. 可拿到pop删除的元素的值,并可对其进行后续操作
print(names)
print(name_del)names.pop(1) # 删除第二个元素
print(names)# 已知元素值删除
del_name = 'dob'
names.remove(del_name)
print(names)
print(del_name)# 列表排序
names.sort() # 按字母顺序排序 永久性 改变原列表的顺序
print(names)# names.sort(reverse=True) # 按字母顺序倒序 永久性 改变原列表的顺序
# print(names)# names.sorted() # 按字母顺序排序,临时性 不改变原列表的顺序
# print(names)# names.sorted(reverse=True) # 按字母顺序倒序 临时性 不改变原列表的顺序
# print(names)names.reverse() # 反转原有列表的排序
print(names)# 3.2 for 循环遍历列表
months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']
for month in months:print(month)print(month.lower() + '月份')
print('all months list')# 3.3 数字列表
# 输出1、2、3、4
for num in range(1,5):print(num)# 创建数字列表
normal_nums = list(range(1,10)) # 包含 1~9的列表
print(normal_nums)odd_nums = list(range(1,10,2)) # 1~9中的奇数
print(odd_nums)squares = [] # 1~10的平方数列表
nums = range(1,11)
for num in nums:square = num**2squares.append(square)
print(squares)squares = [value**2 for value in range(1,11)]
print(squares)# 统计列表
nums = list(range(1,21))
min_num = min(nums)
print(min_num) # 列表最小值
max_num = max(nums)
print(max_num) # 列表最大值
count = sum(nums)
print(count) # 列表的和# 切片
numbers = list(range(1,21))
print(numbers[0:3]) # 取列表的前三个元素
print(numbers[:3]) #取列表的前三个元素
print(numbers[3:]) #取从第3个元素后的所有元素
print(numbers[-3:]) # 取列表的后三个元素# 遍历切片
for num in numbers[-3:]:print(num)# 复制列表 nums 与copy_nums 独立,修改不影响另一个
nums = list(range(1,10))
copy_nums = nums[:]
print(copy_nums)# 4、元组 其中元素不可修改。不可变的列表
rectangles = (200,100)
print(rectangles[0])
# rectangle[0] = 250 # 报错
print(rectangles)# 遍历元组
for rectangle in rectangles:print(rectangle)# if 条件判断\条件测试
cars = ['audi','bmw','toyota','subaru']
for car in cars:if car == 'bmw':print(car.upper())elif car == 'audi':print(car.lower())else:print(car.title())# 判断值是否在列表里  值 in 列表  值 not in 列表
if 'bmw' in cars:print('True')
else:print('False')if 'bmw' not in cars:print('False')
else:print('True')
users = ['admin', 'pop', 'www', 'python', 'php', 'java', 'nginx']
# users = []
if users:for user in users:if user == 'admin':print('HELLO ' + user.title() + ' Are You Rebot')else:print('hello ' + user.title())
else:print('users is empty')strs = []
nums = list(range(1, 10))
if nums:for num in nums:if num == 1:string = str(num) + '1st'strs.append(string)if num == 2:string = str(num) + 'nd'strs.append(string)if num == 3:string = str(num) + 'rd'strs.append(string)if num > 3:string = str(num) + 'th'strs.append(string)
else:print('nums is empty')
print(strs)# 字典 键--值对 字典跟字典、列表可以相互包含,具体视场景而定
dict = {'color': 'red', 'age': '16', 'name': 'bob'}
print(dict)
print(dict['color'])  # 读取colordict['city'] = 'bj'  # 添加city
print(dict)dict['color'] = 'green'  # 修改color
print(dict)del dict['name']  # 删除name
print(dict)# 遍历字典
for k, v in dict.items():print(k)print(v)# 遍历字典的Key
print(dict.keys())
for k in dict.keys():print(k)# 遍历字典的Value
for v in dict.values():print(v)# 遍历字典中的排序后的value
for v in sorted(dict.values()):print(v)# 遍历字典中的去重后的value
for v in set(dict.values()):print(v)# 列表包含字典
dict1 = {'name': 'alan', 'age': '15'}
dict2 = {'name': 'bode', 'age': '23'}
dict3 = {'name': 'cuty', 'age': '19'}
dicts = [dict1, dict2, dict3]
print(dicts)for dict in dicts:print(dict)# 创建多个类似数据字典,并保存到列表中
dict_nums = []
for num in list(range(1, 11)):new_dict = {'number': num, 'remark': '第' + str(num) + '个数据'}dict_nums.append(new_dict)
print(dict_nums)
print('共包含' + str(len(dict_nums)) + '个字典')# 字典包含列表
users = {'city':'beijing','names':['anni','bob','cdea','dlol']}
for name in users['names']:print(name + ' live in ' + users['city'])# 例子
favorite_langs = {'anji':['php','java'],'bob':['python','c'],'joy':['c++','vb'],'zope':['c#'],'ziza':['sql']
}
for name,langs in favorite_langs.items():if len(langs) > 1:print("\n" + name.title() + ' favorite language are:')for lang in langs:print("\t" + lang.title())else:print("\n" + name.title() + ' favorite language is:')for lang in langs:print("\t" + lang.title())# 字典包含字典
users = {'bob':{'localhost':'127.0.0.1'},'joy':{'localhost':'127.0.0.2'}
}
for name,info in users.items():print('\n'+ ' username is ' + name)print('\t'+ ' localhost is ' + info['localhost'])# 用户输入
# input() 文本、字符串、输入数字会变成字符串,如需使用数字需要使用int()进行转化
message = input('请输入:')
print(type(message))
print(type(int(message)))# 取模运算符 %
num1 = input('num1:')
num2 = input('num2:')
res = int(num1) % int(num2)
print(res)# while 循环
number = 1
while number <= 5:print(number)number += 1# 1、2结果一样
strs = "when you input quit to exit():"
message = ""
status = True# 1
while message != "quit":message = input(strs)if message != 'quit':print(message)
# 2
while status:message = input(strs)if message == 'quit':status = Falseelse:print(message)# break 退出整个循环  continue 退出当前循环# while 循环列表 将users列表的内容移动到c_users里
users = ['bob','dada','momm','john']
c_users = []while users:n_user = users.pop() # 删除末尾元素print(n_user.title())c_users.append(n_user) # 写入上面删除的元素for c in c_users:print(c.title())# 删除包含特定值的所有列表元素aoa
nums = ['aoa','coc','aoc','aoa','csw','xls']
print(nums)
while 'aoa' in nums:nums.remove('aoa')
print(nums)# while 循环写入 数据字典
responses = {}
status = True
while status:name = input('you name:')answer = input('you answer:')responses[name] = answerrepeat = input('input yes/no:')if repeat == 'no':status = Falseprint('打印输入结果:')
for name,answer in responses.items():print('name:'+ name + 'answer:' + answer)# 函数# 定义函数
def sayHello():"""文档字符串注释"""print('Hello')# 定义带参数的函数
def sayInfo(name):print('Hello ' + name)# 多个参数
def infos(arg1,arg2,arg3,arg4=''):if arg4 == '':print('arg1:' + arg1 + ' arg2:' + arg2 + ' arg3:' + arg3)else:print('arg1:' + arg1 + ' arg2:' + arg2 + ' arg3:' + arg3 + ' arg4:' + arg4)# 接收任意数量的参数 *args 空元组,将接收的参数存入此元组中
def moreArg(*args):print(args)# **args 空字典 ,将接收的参数存在此字典中
def moreArgs(**args):print(args)## 函数独立模块、引入模块\函数
## import module_name   可使用导入的模块的所有函数
## import module_name as mn 指定模块的别名
## form module_name inport function_name 导入模块中的特定函数
## form module_name inport function_name as fn 指定函数的别名
## form module_name import * 导入模块的所有函数(一般不建议使用,容易遇到多个模块含义相同名称的函数,进而导致异常)
## 实际工作中尽量将常用的函数封装成模块,方便复用# 执行
if __name__ == '__main__':sayHello()sayInfo('Alan')infos('tot','asda','ooo')infos(arg1='tot',arg3='asda',arg2='ooo')infos(arg1='tot',arg3='asda',arg2='ooo',arg4='mkle')moreArg('aaaa')moreArg('aaa','vvv','aaa')moreArgs(aa='ada',sdas='asda',ada='ada')### 类class Dog():def __init__(self, name, age):self.name = nameself.age = agedef sit(self):print(self.name.title() + ' sit')def eat(self):print(self.name.title() + ' eat')my_dog = Dog('bobo','5')
print(my_dog.name)
print(my_dog.age)
my_dog.eat()
my_dog.sit()class Parent():def __init__(self, name, age):self.name = nameself.age = ageself.num = 0def say(self):print('I am ' + self.name.title())def deal(self):print(self.name.title() + ' year old is ' + str(self.age) + ' and num is ' + str(self.num))def up_num(self, num):self.num = num# 继承Parent类
class Human(Parent):def __init__(self, name, age):super().__init__(name, age)self.eat = eat()self.run = run()class eat():def __init__(self, food='beat'):self.food = fooddef eat_sth(self):print('eat something is ' + self.food)class run():def __init__(self, km='100'):self.km = kmdef run_km(self):print('run ' + str(self.km) + ' km')his = Human('john', 15)
his.say()
his.eat.eat_sth()
his.run.run_km()you = Parent('alan', 18)
you.say()
you.deal()my = Parent('bob', 20)
my.up_num(15)
my.say()
my.deal()# 导入类 import module_name
# 导入指定类 form module_name import classname
# 导入指定多个类,类名逗号隔开 form module_name import classname1,classname2
# 导入模块中的所有类 form module_name import *

老铁们,进都进来了,留个赞再走呗

小白入门python 笔记相关推荐

  1. python必备入门代码-小白入门Python开发,必备技能有哪些?

    原标题:小白入门Python开发,必备技能有哪些? 用Python完成项目,编写的代码量更少,代码简短可读性强,团队协作开发时读别人的代码速度会非常快,使工作变得更加高效.优雅做开发不再是梦,所以Py ...

  2. 小白入门Python Web之web开发前的准备(持续更新~)

    前面对python web开发做了个简单的介绍,不清楚的小伙伴可以戳小白入门Python Web开发介绍. 今天继续讲讲如何进行web开发前的准备 Web开发准备 搭建一个能运行的虚拟机环境 安装 V ...

  3. python笔记小白入门_Python 笔记:全网最详细最小白的Class类和实例详解

    面向对象最重要的概念就是类(class)和实例(instance),类是抽象,而实例(Instance)则是一个个具体的对象 面向对象三大特点:封装.继承和多态 class Animal(object ...

  4. 零基础小白入门Python,值得看的几本书籍

    Python目前是全球4大流行编程语言之一,根据今年TIOBE最新排名,Python已超越C#,与Java,C,C++一起成为全球前4大最流行语言,指数变化一直呈现出上升的趋势. TIOBE最新排名 ...

  5. python用pip安装numpy mac_小白入门Python,mac下如何安装pip、ipython

    作为一枚小白,最近在学习用Python写科学计算器,因为Mac不自带pip,安装的时候找了好几个帖子,才成功安装.做一下简单分享,希望对大家有帮助: 安装环境: Mac系统版本:OS X 10.11. ...

  6. 零基础小白入门Python之文件读写(一)

    文件读写 文件的作用 就是把一些存储存放起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力. 文件的基础操作 打开文件:Python内置了一个open()方法,用于对文件进行读写操 ...

  7. python数据科学手册_小白入门Python数据科学

    前言 本文讲解了从零开始学习Python数据科学的全过程,涵盖各种工具和方法 你将会学习到如何使用python做基本的数据分析 你还可以了解机器学习算法的原理和使用 说明 先说一段题外话.我是一名数据 ...

  8. python数据科学入门_干货!小白入门Python数据科学全教程

    前言本文讲解了从零开始学习Python数据科学的全过程,涵盖各种工具和方法 你将会学习到如何使用python做基本的数据分析 你还可以了解机器学习算法的原理和使用 说明 先说一段题外话.我是一名数据工 ...

  9. python3 array为什么不能放不同类型的数据_小白入门Python数据科学全教程lt;一gt;...

    前言 本文讲解了从零开始学习Python数据科学的全过程,涵盖各种工具和方法 你将会学习到如何使用python做基本的数据分析 你还可以了解机器学习算法的原理和使用 说明 先说一段题外话.我是一名数据 ...

最新文章

  1. 海量大数据大屏分析展示一步到位:DataWorks数据服务对接DataV最佳实践
  2. python画折线图显示点值-Python 绘制可视化折线图
  3. 调用Excel或Oracle数据,数据加载,selenium等使用实例
  4. mysql快捷创建数据库_mysql数据库快速入门(1)
  5. linux编译准备,Linux 下编译指南
  6. html 语义化标签拾遗
  7. Elasticsearch的前后台运行与停止(tar包方式)
  8. RabbitMQ 普通集群配置_04
  9. python安装jupyterlab_超级详细 centos7 安装 jupyter lab
  10. Windows上设置Docker共享盘符
  11. 解决关闭hbase时stop-hbase.sh报错stopping hbasecat: /tmp/hbase-xxxx-master.pid: No such file or directory
  12. Linux由管道组成的值得学习的命令
  13. 位图文件(BMP)格式以及Linux下C程序实现(转)
  14. 发力“创新宇宙”,酒店集团如何破局商业革新?
  15. pr剪辑视频转码问题以及子剪辑
  16. kubernetes CKA题库(附答案、视频)
  17. ssm实现用户登录功能拦截
  18. 短视频消重去重九种方法,组合使用原创度更高,各平台轻松过原创
  19. 让自己不烦心的心理暗示
  20. 原生js 打印 以及 自定义页眉页脚的一些感悟

热门文章

  1. 阻止反外挂GPK/sys加载思路
  2. Invoke函数的妙用
  3. linux环境下将nginx编译安装至指定目录步骤详解
  4. 图像处理工具类、Bitmap处理、理解ThumbnailUtils
  5. 一篇精彩的创业励志演讲稿
  6. 华为的MAC地址表安全看这一篇文章就行了
  7. notEmpty和notFull的意思
  8. 切换PS工具栏里的快捷键
  9. Excel用Python矩阵求解
  10. BAT巨头三角争逐,线下O2O谁更略胜一筹?