谷歌:python速成课程笔记
1.从用户那里获取信息
name = "Alex"
print("hello" + name)
2.让python成为你的计算器
1 print(4+5)
2 print(3-2)
3 print(2*3)
4 print(1/3)
5 print(((2+3)/3+5)*5)
6 print(2**10)
3.python语法基本介绍
Python基本数据类型一般分为:数字、字符串、列表、元组、字典、集合这六种基本数据类型。浮点型、复数类型、布尔型(布尔型就是只有两个值的整型)、这几种数字类型。列表、元组、字符串都是序列。
print(7 + "8")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'
#查看数据类型
print(type("a"))
<class 'str'>
print(type(7))
<class 'int'>
print(type(4.5))
<class 'float'>
变量存储在内存中的值,这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。
length = 10
width = 20
area = length * width
print(area)
表达式,数字和类型转换
print(7 + 8.5)
base = 3
height = 6
area = (base * height)/2
print("The area is :" + str(area))
4.定义功能
def greeting(name, department):
print("Welcome, " + name)
print("You are part of " + department) greeting("blake", "AI engineering")
5.返回值
def triangle_area(base, height):
return base * heigth / 2 area_a = triangle_area(3, 2)
area_b = triangle_area(4, 5)
sum = area_a + area_b
print("The sum of areas is : " + str(sum))
6.while循环
def attempt(n):
x=0
while(x<n):
print("Attempt" + str(x))
x += 1
print("Done") attempt(5)
#用户登录输错用户名举例
username = get_username()
while not vaild_username(username):
print("It's not vaild name,please try again")
username = get_username()
7.无限循环以及如何打破它们
#无限循环
while x%2 ==0:
x = x / 2
#方法
while x!=0 and x%2 ==0:
x = x / 2
8.一些循环示例
#1-10的乘积
product = 1
for n in range(1,10):
product = product * n print(product)
#特定间隔温度转换
def to_celsius(x):
return (x -32)*5/9 for x in range(0,101,10):
print(x,to_celsius(x))
9.嵌套循环
#乘法表
for x in range(1,10):
for y in range(x,10):
print(str(x)+ "*" +str(y)+ "=" +str(x*y),end=" ")
print()
#比赛行程,两两对抗
teams = ["Dragons", "Wolves", "Dog", "Pandas", "Unicorns"]
for home_team in teams:
for away_team in teams:
if home_team != away_team:
print(home_team + " VS " +away_team)
10.递归
def factorial(n):
if n<2:
return 1
return n * factorial(n-1)
11.创建新字符串
#更换域名
def replace(email, old_domain, new_domain):
if "@" + old_domain in email:
index = email.index("@" + old_domain)
new_email = email[:index] + "@" + new_domain
return new_email
return email
12.格式化字符串
name = "Nancy"
luck_number = len(name) * 3
print("Hello {},your lucky number is {}".format(name, luck_number))
#print("your lucky number is {luck_number},{name}".format(name = name, luck_number = len(name) *3))
#保留两位小数
price = 7.5
with_tax = price * 1.09
print("Basic price is ${:.2f},with_tax is ${:.2f}".format(price, with_tax))
13.列表
#增加列表元素
fruits = ["pineapple", "banana", "apple", "melon"]
#末尾加入
fruits.append("kiwi")
print(fruits)
#第一个位置加入
fruits.insert(0, "orange")
print(fruits)
#------------------------
#删除元素
fruits.remove("melon")
print(fruits)
#取出特定位置元素
fruits.pop(3)
#更改特定位置元素
fruits[2] = "Strawberry"
print(fruits)
14.元组
元组元素不可更改
#时间转换器
def convert_seconds(seconds):
hours = seconds // 3600
minutes = (seconds - hours * 3600) // 60
remaining_seconds = seconds - hours * 3600 - minutes * 60
return hours, minutes, remaining_seconds convert_seconds(5000) #检查元素类型
print(type(convert_seconds(5000))
15.遍历列表和元组
animals = ["lion", "zebra", "dolphin", "monkey"]
chars = 0
for animal in animals:
chars += len(animal) print("total characters:{},the average length:{}".format(chars, chars/len(animals)))
winners = ["Ashep", "Bob", "Nancy"]
for index, person in enumerate(winners):
print("{} - {}".format(index+1, person))
#分离人名和邮箱地址
def full_emails(people):
result = []
for email, name in people:
result.append("{} <{}>".format(name,email))
return result print(full_emails([("Alex@qq.com", "Alex"),("Nancy@163.com", "Nancy")]))
16.列表综合
#列表推导
multiplus = []
for x in range(1,11):
multiplus.append(x*7) print(multiplus)
#一行实现
multiplus = [x * 7 for x in range(1,11)]
print(multiplus)
#计算列表元素的长度
languages = ["python", "perl", "java", "c++", "ruby"]
lengths = [len(language) for language in languages]
print(lengths) #挑选符合特定条件的元素
z = [ x for x in range(1, 100) if x % 3 ==0]
print(z)
17.字典
file_counts = {"txt":10, "png":19, "csv":23,"html":45}
#查找字典元素值
print(file_counts["txt"])
#增加元素
file_counts["gif"] = 17
print(file_counts)
#更改元素值
file_counts["png"] = 48
print(file_counts)
#迭代字典
file_counts = {"py":13, "txt":24, "gif":32}
for extension in file_counts:
print(extension) #友好式显示
for ext, amount in file_counts.items():
print("There have {} files with .{} extension".format(amount, ext)) #查看字典里所有的键
file_counts.keys()
#查看字典里所有的键值
file_counts.values()
#输出所有键值
for value in file_counts.values():
print(value)
#统计文本每个字母个数
def count_letters(txt):
result = {}
for letter in txt:
if letter not in result:
result[letter] = 0
result[letter] +=1
return result count_letters("we are very good")
18.面向对象编程
#内置函数
dir(" ")
#帮助
help(" ")
#定义类苹果
class Apple:
color = " "
flavor = " " #实例化
jonagold = Apple()
jonagold.color = "red"
jonagold.flavor = "sweet"
print(jonagold.color)
print(jonagold.flavor)
print(jonagold.color.upper())
#简单示例
class Piglet:
def speak(self):
print("oink oink") hamlet = Piglet()
hamlet.speak()
#复杂示例
class Piglet:
name = "piglet"
def speak(self):
print("Oink!I'm {},oink oink.".format(self.name)) hamlet = Piglet()
hamlet.name = "Hamlet"
hamlet.speak()
#构造函数和其他特殊方法
class Apple:
def __init__(self, color, flavor):
self.color = color
self.flavor = flavor jonagold = Apple("red", "sweet")
print(jonagold.color)
19.关于jupyter笔记本
详情参照:https://www.jianshu.com/p/91365f343585
20.继承
#定义类动物
class Animal:
sound = " "
def __init__(self, name):
self.name = name
def speak(self):
print("{sound},I'm {name}!{sound} {sound}.".format(name = self.name,sound = self.sound)) #定义类pig,继承animal
class Piglet(Animal):
sound = "Onik" #实例化类pig
hamlet = Piglet("Hamlet")
hamlet.speak()
21.撰写
22.词云
https://blog.csdn.net/zzc_zhuyu/article/details/90814902
谷歌:python速成课程笔记的更多相关文章
- 机器学习入门 - Google机器学习速成课程 - 笔记汇总
机器学习入门 - Google机器学习速成课程 https://www.cnblogs.com/anliven/p/6107783.html MLCC简介 前提条件和准备工作 完成课程的下一步 机器学 ...
- python数据处理课程笔记(一)
一.numpy 1.numpy中所有元素必须是相同的类型 a=[1,2,3,4,'t'] #列表中有str类型,转换为ndarray时所有元素都转换为str类型 arr1=np.array(a) pr ...
- 谷歌机器学习速成课程---降低损失 (Reducing Loss):随机梯度下降法
在梯度下降法中,批量指的是用于在单次迭代中计算梯度的样本总数.到目前为止,我们一直假定批量是指整个数据集.就 Google 的规模而言,数据集通常包含数十亿甚至数千亿个样本.此外,Google 数据集 ...
- 谷歌机器学习速成课程---3降低损失 (Reducing Loss):学习速率
正如之前所述,梯度矢量具有方向和大小.梯度下降法算法用梯度乘以一个称为学习速率(有时也称为步长)的标量,以确定下一个点的位置.例如,如果梯度大小为 2.5,学习速率为 0.01,则梯度下降法算法会选择 ...
- 谷歌机器学习速成课程---3降低损失 (Reducing Loss):梯度下降法
迭代方法图(图 1)包含一个标题为“计算参数更新”的华而不实的绿框.现在,我们将用更实质的方法代替这种华而不实的算法. 假设我们有时间和计算资源来计算 w1 的所有可能值的损失.对于我们一直在研究的回 ...
- 谷歌机器学习速成课程---2深入了解机器学习(Descending into ML)
1.线性回归 人们早就知晓,相比凉爽的天气,蟋蟀在较为炎热的天气里鸣叫更为频繁.数十年来,专业和业余昆虫学者已将每分钟的鸣叫声和温度方面的数据编入目录.Ruth 阿姨将她喜爱的蟋蟀数据库作为生日礼物送 ...
- CS231n课程笔记翻译1:Python Numpy教程
译者注:本文智能单元首发,翻译自斯坦福CS231n课程笔记Python Numpy Tutorial,由课程教师Andrej Karpathy授权进行翻译.本篇教程由杜客翻译完成,Flood Sung ...
- Andrew 机器学习课程笔记
Andrew 机器学习课程笔记 完成 Andrew 的课程结束至今已有一段时间,课程介绍深入浅出,很好的解释了模型的基本原理以及应用.在我看来这是个很好的入门视频,他老人家现在又出了一门 deep l ...
- Python网络爬虫笔记(五):下载、分析京东P20销售数据
(一) 分析网页 下载下面这个链接的销售数据 https://item.jd.com/6733026.html#comment 1. 翻页的时候,谷歌F12的Network页签可以看到下面 ...
随机推荐
- 【插件篇】前段bootstrap-table-treegrid试手,解决无法显示树形列表或者图标不显示问题。
说明:具体代码操作我就不贴了.官方有正规的例子!bootstrap-table-examples传送 使用注意事项: 传入的id和pid可以是string类型的(我后台返回的是Long类型转换成str ...
- Spring的安装
Spring的安装 Spring框架包 spring-framework-4.3.6RELEASE-dist.zip http://repo.spring.io/simple/libs-release ...
- JMeter关联陌生又熟悉
JMeter关联是什么 JMeter关联,这几个字看着可能会有点陌生,实际上却是工作中经常会做的一件事情,尤其是接口自动化,它指的是把一个接口的响应作为另一个接口的参数,从而把接口关联起来. JMet ...
- 中文NER的那些事儿2. 多任务,对抗迁移学习详解&代码实现
第一章我们简单了解了NER任务和基线模型Bert-Bilstm-CRF基线模型详解&代码实现,这一章按解决问题的方法来划分,我们聊聊多任务学习,和对抗迁移学习是如何优化实体识别中边界模糊,垂直 ...
- HOOK技术之SSDT hook(x86/x64)
x86 SSDT Hook 32位下进行SSDT Hook比较简单,通过修改SSDT表中需要hook的系统服务为自己的函数,在自己的函数中进行过滤判断达到hook的目的. 获取KeServiceDes ...
- 在其他程序集访问internal类
前言 本文将介绍如何在其他程序集访问internal类的方法 首先我们新建一个解决方案,其中同时新建两个类库FooALibray和FooALibray,如下: 其中FooA类代码如下: intern ...
- OOP第四章博客
OOP第四章博客作业 (1)本单元作业架构设计 1)针对于第一次作业,我是将所给类进行了自己的封装,在MyUmlInteraction类里面进行关系的建立,这里把所给的UmlClass建立好,同时有i ...
- OCR-Form-Tools项目试玩记录(一)本地部署
OCR-Form-Tools是微软的一个开源代码库,包含微软表单识别和OCR服务相关的多种工具.Github仓库地址 目前,表单标注工具(OCR Form Labeling Tool)是首个发布到本该 ...
- Cookie&Session-授课
1 会话技术 1.1 会话管理概述 1.1.1 什么是会话 会话:浏览器和服务器之间的多次请求和响应 为了实现一些功能,浏览器和服务器之间可能会产生多次的请求和响应,从浏览器访问服务器开始,到访问服务 ...
- envoy 官方example运行失败问题处理
镜像内安装包失败处理 方法一:修改Dockerfile,在Dockerfile中增加如下 ubuntu示例 RUN sed -i 's/archive.ubuntu.com/mirrors.aliyu ...