Python3 系列之 基础语法篇
基础数据类型
- 整数
python 可以处理任意大小的整数
- 浮点数
python 可以处理任意大小的浮点数,但是需要注意的一点是:整数运算永远是精确的(除法也是精确的),而浮点数运算则可能会有四舍五入的误差。
- 字符串
在 python 中,字符串常用 '' ' 和 """ 表示,至于这三者之间的区别和字符串的编码要求可以参考:Python3 系列之 编程规范篇
- 布尔值
布尔值可以用 and、or 和 not 运算。
and 运算是与运算,只有所有都为 True,and 运算结果才是 True。
or 运算是或运算,只要其中有一个为 True,or 运算结果就是 True。
not 运算是非运算,它是一个单目运算符,把 True 变成 False,False 变成 True。
- 空值
基本上每种编程语言都有自己的特殊值——空值,在 Python 中,用 None 来表示
- 变量
python 是弱类型语言,因此在定义变量时无需指定变量类型。
列表和元组
列表示例
# 创建列表
mylist = ["one",123,345.67,1233,"hello"]
# 通过下标访问元素
print(mylist[2])
# 通过切片方式访问元素
print(mylist[1:3])
# 遍历列表元素
for target in mylist:
print(target)
# 更新列表
mylist[1] = "world"
print(mylist)
# 添加元素
mylist.append("beloved")
print(mylist)
# 掺入元素
mylist.insert(0,"hippie")
print(mylist)
# 删除元素
mylist.remove(mylist[1])
print(mylist)
print(len(mylist))
print(mylist.pop())
官网链接:Lists
元组示例
tuple 和 list 非常类似,但是 tuple 一旦初始化就不能修改。
# 创建空元组
mytuple = ()
# 创建元组
mytuple = ('A','hello','b','world')
# 下标访问元组
print(mytuple[0])
# 删除元组
del mytuple
官网链接:Tuple
字典和 Set
字典示例
# 创建空元组
mydic = {'A':123,'b':456}
# 修改字典
mydic['b'] = 769
# 删除字典
del mydic['b']
# 清空字典
mydic.clear()
Set 示例
python 的 set 和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素。set 和 dict 类似,但是 set 不存储 value 值的。
# 创建 set 类型的数据集
myset = set([1,2,3,3,4,5])
# 添加元素
myset.add(6)
# 删除元素
myset.remove(4)
print(myset)
set1=set('hello')
set2=set(['p','y','y','h','o','n'])
print(set1)
print(set2)
# 交集 (求两个 set 集合中相同的元素)
set3=set1 & set2
print('\n交集 set3:')
print(set3)
# 并集 (合并两个 set 集合的元素并去除重复的值)
set4=set1 | set2
print('\n并集 set4:')
print(set4)
# 差集
set5=set1 - set2
set6=set2 - set1
print('\n差集 set5:')
print(set5)
print('\n差集 set6:')
print( set6)
# 去除海量列表里重复元素,用 hash 来解决也行,只不过感觉在性能上不是很高,用 set 解决还是很不错的
list1 = [111,222,333,444,111,222,333,444,555,666]
set7=set(list1)
print('\n去除列表里重复元素 set7:')
print(set7)
条件语句(if else)
循环语句(while、for)
函数
def functionname( parameters ):
"函数_文档字符串"
function_suite
return [expression]
- 传值问题
- 返回值
- 参数
- 匿名函数:lambda
lambda [arg1 [,arg2,.....argn]]:expression
迭代器和生成器
# 1、字符创创建迭代器对象
str1 = 'liangdianshui'
iter1 = iter ( str1 )
# 2、list对象创建迭代器
list1 = [1,2,3,4]
iter2 = iter ( list1 )
# 3、tuple(元祖) 对象创建迭代器
tuple1 = ( 1,2,3,4 )
iter3 = iter ( tuple1 )
# for 循环遍历迭代器对象
for x in iter1 :
print ( x , end = ' ' )
print('\n------------------------')
# next() 函数遍历迭代器
while True :
try :
print ( next ( iter3 ) )
except StopIteration :
break
# lsit 生成式(列表生成式)
list1=list ( range (1,31) )
print(list1)
lsit1= [x * x for x in range(1, 11) if x % 2 == 0]
print(lsit1)
lsit1=[x * x for x in range(1, 11)]
print(lsit1)
lsit1= [(x+1,y+1) for x in range(3) for y in range(5)]
print(lsit1)
# 综合运用
class Countdown:
def __init__(self, n):
self.start = n
def __iter__(self):
n = 0
while n < self.start:
yield n
n += 1
def __reversed__(self):
n = self.start - 1
while n > -1:
yield n
n -= 1
for rr in Countdown(20):
print(rr)
for rr in reversed(Countdown(20)):
print(rr)
Python3 系列之 基础语法篇的更多相关文章
- Python3 与 C# 面向对象之~继承与多态 Python3 与 C# 面向对象之~封装 Python3 与 NetCore 基础语法对比(Function专栏) [C#]C#时间日期操作 [C#]C#中字符串的操作 [ASP.NET]NTKO插件使用常见问题 我对C#的认知。
Python3 与 C# 面向对象之-继承与多态 文章汇总:https://www.cnblogs.com/dotnetcrazy/p/9160514.html 目录: 2.继承 ¶ 2.1.单继 ...
- Xamarin XAML语言教程基础语法篇大学霸
Xamarin XAML语言教程基础语法篇大学霸 前 言 Xamarin是一个跨平台开发框架.它可以用来开发iOS.Android.Windows Phone和Mac的应用程序.使用Xamarin框 ...
- Scala快速入门 - 基础语法篇
本篇文章首发于头条号Scala快速入门 - 基础语法篇,欢迎关注我的头条号和微信公众号"大数据技术和人工智能"(微信搜索bigdata_ai_tech)获取更多干货,也欢迎关注我的 ...
- openresty开发系列15--lua基础语法4表table和运算符
openresty开发系列15--lua基础语法4表table和运算符 lua中的表table 一)table (表)Table 类型实现了一种抽象的"关联数组".即可用作数组,也 ...
- openresty开发系列14--lua基础语法3函数
openresty开发系列14--lua基础语法3函数 一)function (函数) 有名函数: optional_function_scope function function_name( ar ...
- openresty开发系列13--lua基础语法2常用数据类型介绍
openresty开发系列13--lua基础语法2常用数据类型介绍 一)boolean(布尔)布尔类型,可选值 true/false: Lua 中 nil 和 false 为"假" ...
- Python3 与 C# 基础语法对比(就当Python和C#基础的普及吧)
文章汇总:https://www.cnblogs.com/dotnetcrazy/p/9160514.html 多图旧排版:https://www.cnblogs.com/dunitian/p/9 ...
- Python3 与 C# 基础语法对比(Function专栏)
Code:https://github.com/lotapp/BaseCode 多图旧版:https://www.cnblogs.com/dunitian/p/9186561.html 在线编程: ...
- Python3 与 NetCore 基础语法对比(就当Python和C#基础的普及吧)
Jupyter排版:https://www.cnblogs.com/dotnetcrazy/p/9102030.html 汇总系列:https://www.cnblogs.com/dunitian/p ...
随机推荐
- 深入理解JVM(二)——内存模型、可见性、指令重排序
上一篇我们介绍了JVM的基本运行流程以及内存结构,对JVM有了初步的认识,这篇文章我们将根据JVM的内存模型探索java当中变量的可见性以及不同的java指令在并发时可能发生的指令重排序的情况. 内存 ...
- Docker 三剑客之 Docker Compose
Docker Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排,开源地址:https://github.com/docker/compose Dock ...
- Javascript高级编程学习笔记(45)——DOM 操作表格及DOM动态集合
操作DOM表格 早些时候,HTML 还是以表格布局为主, 所以DOM操作表格是比较重要的一点 但是现如今 有其它的选择,所以表格的操作也就慢慢地淡出了人们的视线 所以这里也就不过多去详细展开,这里也就 ...
- 吴恩达机器学习笔记40-用调和平均数F来进行查准率和查全率之间的权衡(Trading Off Precision and Recall by F sore)
在很多应用中,我们希望能够保证查准率和查全率的相对平衡. 我们可以将不同阀值情况下,查全率与查准率的关系绘制成图表,曲线的形状根据数据的不同而不同: 我们希望有一个帮助我们选择这个阀值的方法.一种方法 ...
- [Postman]排除API请求(9)
可能存在API无法运行或出现意外行为的情况.如果您没有收到任何回复,邮递员将显示有关连接服务器时出错的消息. 有关错误可能原因的更多详细信息,请打开Postman Console.它有关于故障的详细信 ...
- Python - GUI(Graphical User Interface,图形用户界面)
Tkinter https://docs.python.org/3/library/tkinter.html Python自带的标准GUI库,可用于快速创建GUI应用程序,能够满足基本的GUI程序要求 ...
- Kubernetes 笔记 03 扫清概念
本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. Hi,大家好, ...
- c# 导入导出excel方法封装
在很多项目中,都会使用到文件的上传下载等,为了方便,封装了一个帮助类,每次直接拿过来使用就可以了,下面是封装的类和使用方法. using Common.AttributeHelper; using N ...
- react-native热更新之CodePush详细介绍及使用方法
react-native热更新之CodePush详细介绍及使用方法 2018年03月04日 17:03:21 clf_programing 阅读数:7979 标签: react native热更新co ...
- JavaScript是如何工作的:深入类和继承内部原理 + Babel和TypeScript之间转换
现在构建任何类型的软件项目最流行的方法这是使用类.在这篇文章中,探讨用 JavaScript 实现类的不同方法,以及如何构建类的结构.首先从深入研究原型工作原理,并分析在流行库中模拟基于类的继承的方法 ...