Python3 系列之 基础语法篇
程序员文章站
2022-04-24 21:58:46
基础数据类型 整数 python 可以处理任意大小的整数 浮点数 python 可以处理任意大小的浮点数,但是需要注意的一点是:整数运算永远是精确的(除法也是精确的),而浮点数运算则可能会有四舍五入的误差。 字符串 在 python 中,字符串常用 '' ' 和 """ 表示,至于这三者之间的区别和 ......
基础数据类型
- 整数
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)
上一篇: Spark连接HBase
下一篇: java设计模式之单例模式