基础数据类型

  • 整数

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 系列之 基础语法篇的更多相关文章

  1. 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.单继 ...

  2. Xamarin XAML语言教程基础语法篇大学霸

    Xamarin XAML语言教程基础语法篇大学霸 前  言 Xamarin是一个跨平台开发框架.它可以用来开发iOS.Android.Windows Phone和Mac的应用程序.使用Xamarin框 ...

  3. Scala快速入门 - 基础语法篇

    本篇文章首发于头条号Scala快速入门 - 基础语法篇,欢迎关注我的头条号和微信公众号"大数据技术和人工智能"(微信搜索bigdata_ai_tech)获取更多干货,也欢迎关注我的 ...

  4. openresty开发系列15--lua基础语法4表table和运算符

    openresty开发系列15--lua基础语法4表table和运算符 lua中的表table 一)table (表)Table 类型实现了一种抽象的"关联数组".即可用作数组,也 ...

  5. openresty开发系列14--lua基础语法3函数

    openresty开发系列14--lua基础语法3函数 一)function (函数) 有名函数: optional_function_scope function function_name( ar ...

  6. openresty开发系列13--lua基础语法2常用数据类型介绍

    openresty开发系列13--lua基础语法2常用数据类型介绍 一)boolean(布尔)布尔类型,可选值 true/false: Lua 中 nil 和 false 为"假" ...

  7. Python3 与 C# 基础语法对比(就当Python和C#基础的普及吧)

      文章汇总:https://www.cnblogs.com/dotnetcrazy/p/9160514.html 多图旧排版:https://www.cnblogs.com/dunitian/p/9 ...

  8. Python3 与 C# 基础语法对比(Function专栏)

      Code:https://github.com/lotapp/BaseCode 多图旧版:https://www.cnblogs.com/dunitian/p/9186561.html 在线编程: ...

  9. Python3 与 NetCore 基础语法对比(就当Python和C#基础的普及吧)

    Jupyter排版:https://www.cnblogs.com/dotnetcrazy/p/9102030.html 汇总系列:https://www.cnblogs.com/dunitian/p ...

随机推荐

  1. 05 详解C# 迭代器

    迭代器模式是设计模式中行为模式(behavioral pattern)的一个例子,他是一种简化对象间通讯的模式,也是一种非常容易理解和使用的模式. 简单来说,迭代器模式使得你能够获取到序列中的所有元素 ...

  2. Android 通过onTouchEvent判断是否为双击事件

    通过onTouchEvent判断是否为双击事件,通过前面一次up 跟本次down之间的时间差,并且点击的点的坐标偏移来确定是否为双击事件DOUBLE_TAP_TIMEOUT. boolean isMo ...

  3. PHP实现大文件下载

    实现大文件下载的关键在于循环读取字节流 function downloadFile($filename) { //获取文件的扩展名 $allowDownExt = array ( 'rar', 'zi ...

  4. mongo 字段重命名

    执行语句 db.getCollection("A表").updateMany( {}, { $rename: { "A": "A1"} } ...

  5. Xamarin.Android 解决打开软键盘导致底部菜单上移问题

    在界面布局中有EditText控件,该控件一旦获取焦点则打开软键盘,如果布局中有底部菜单,那么底部菜单可能会被软键盘顶在其上面,看如下效果: 解决方法:在活动绑定界面之前写上下段代码即可 Window ...

  6. 关于 java.toString() ,(String),String.valueOf的区别

    今天,在群里有一个妹子问我一个问题,我开始时草草帮她解答,后来她说她还是没懂,然后自己仔细看了看,才发现自己其实更本没说清楚其中的道理,在查看源代码和API然后在网上看看前辈们的文章才知道了,这个问题 ...

  7. Quartz的使用案例

    一.介绍 项目中的调度任务可以使用Quartz任务调度框架 1.Job接口:这个接口里面只定义了一个方法,excute void execute(JobExecutionContext context ...

  8. Spring框架(2)---IOC装配Bean(xml配置方式)

    IOC装配Bean (1)Spring框架Bean实例化的方式提供了三种方式实例化Bean 构造方法实例化(默认无参数,用的最多) 静态工厂实例化 实例工厂实例化 下面先写这三种方法的applicat ...

  9. mysql 开发进阶篇系列 17 MySQL Server(key_buffer与table_cache)

    一.key_buffer 上一篇了解key_buffer设置,key_buffer_size指定了索引缓冲区的大小,它决定索引处理的速度,尤其是索引读的速度.通过检查状态值Key_read_reque ...

  10. 对requestAnimationFrame的一点理解

    假设一个web页面为60fps(fps意为frame per second),这意为着这个页面每秒钟能重新渲染60次,60帧/1000ms换算过来约为16.6ms/帧. requestAnimatio ...