谷歌: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页签可以看到下面 ...
随机推荐
- PHP 父类方法如何访问子类属性
设计知识点 类与对象->后期静态绑定 出现的问题 A 类为父类 里面有一个方法为调用当前类的 $name 属性 当 B 类继承了 A类时 但是输出仍然是 A (父类) 的 属性? <?ph ...
- python-内置函数-compile,eval,exec
#将字符串,编译成python代码 compile()#执行,有返回值,执行表达式并获取结果 eval()#执行python代码,无返回值,接收:代码或者字符串 exec() s = "pr ...
- 基于任务的异步编程(Task,async,await)
这节讲一下比较高级的异步编程用法Task,以及两个异步关键字async和await. Task是在C#5.0推出的语法,它是基于任务的异步编程语法,是对Thread的升级,也提供了很多API,先看一下 ...
- centos7 启动引导顺序
查看默认启动项 grub2-editenv list 查看启动项列表 awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg 设 ...
- 删除rpc01
vim /opt/ltp/runtest/stress.part3 修改/opt/ltp/runtest/stress.part3 删除rpc01: 142 systemctl status gdm ...
- Docker Swarm(六)Label 节点标签与服务约束
前言 多节点 Swarm 集群下,可能节点的配置不同(比如 CPU.内存等),部署着不同类型的服务(比如 Web服务.Job服务等),当这些服务以 Service 或者 Stack 的形式部署到集群, ...
- OpenStack平台功能性测试工具Tempest安装
社区对OpenStack平台功能性的测试工具采用Tempest,性能测试采用Rally. 1.什么是Tempest tempest├── api # API的测试集├── cli # OpenStac ...
- 034.Python的__str__,__repr__,__bool__ ,__add__和__len__魔术方法
Python的其他方法 1 __str__方法 触发时机: 使用print(对象)或者str(对象)的时候触发 功能: 查看对象信息 参数: 一个self接受当前对象 返回值: 必须返回字符串类型 基 ...
- 分布式存储ceph---openstack对接ceph存储后端(4)
ceph对接openstack环境 一.使用RBD方式提供存储,如下数据: 1.image:保存glance中的image 2.volume存储:保存cinder的volume:保存创建虚拟机时选择创 ...
- 分布式存储ceph---ceph概念及原理(1)
一.Ceph简介: Ceph是一种为优秀的性能.可靠性和可扩展性而设计的统一的.分布式文件系统.ceph 的统一体现在可以提供文件系统.块存储和对象存储,分布式体现在可以动态扩展.在国内一些公司的云环 ...