赞
踩
Python 中的变量不需要声明
,但每个变量在使用前必须赋值
,变量赋值以后该变量才会被创建。
#!/usr/bin/python3
# 整型变量
counterInt = 100
# 浮点型变量
milesFlot = 1000.0
# 字符串类型:
wordStr01 = '字符串01'
wordStr02 = "字符串02"
# print默认换行,因此不存在println
print(counterInt)
print(milesFlot)
print(wordStr01)
print(wordStr02)
多变量按如下方式进行赋值:
#!/usr/bin/python3
# 多变量 赋值
a = b = c = 1
# 多变量 赋值
d, e, f = 1, 2, "xiaxl"
# 内置 type() 函数可以用来查询变量所指的对象类型
print(type(a), type(b), type(c), type(d))
单行注释以 #
开头:
#!/usr/bin/python3
# 第一个注释
# 第二个注释
print("Hello, Python!")
多行注释可以用多个 #
号,还有 '''
’ 和 """
:
#!/usr/bin/python3
'''
多行注释:一
多行注释:二
'''
"""
多行注释:三
多行注释:四
"""
print ("Hello, Python!")
print
默认换行,因此不存在 println;print
若要实现不换行,需要在变量末尾加上 end=""
;#!/usr/bin/python3
x="a"
# 换行输出
print( x )
# 不换行输出
print( x, end=" " )
print ("Hello, Python!")
在 python 用 import
或者 from...import
来导入相应的模块。
# 导入sys模块
import sys
# 导入特定成员
from sys import argv,path
python使用缩进来表示代码块
,不需要使用大括号 {}
。
另外,同一个代码块的语句
必须包含相同的缩进
空格数。
#!/usr/bin/python3
if True:
print ("True")
else:
print ("False")
python3 的基本数值类型包括 int
、float
、complex
、bool
类型 | 描述 | 举例 |
---|---|---|
int | 长整型 | 1 |
float | 浮点型 | 1.23 |
complex | 复数 | 1.1 + 2.2j |
bool | 布尔 | True |
# !/usr/bin/python3
# 长整型:十进制
counterInt01 = 100
# 长整型:二进制
counterInt02 = 0b1010
# 长整型:十六进制
counterInt03 = 0x0F
# 布尔
isRight = True
# 浮点型
milesFlot = 1000.0
可能会有疑问,数值类型中为什么会有bool?
Python3 中,bool 是 int 的子类
,因此 True 和 False 可以和数字相加(True=1、False=0)。
数值运算
/
返回一个浮点数,//
返回一个整数;**
表示;5 + 4 # 加法:9
4.3 - 2 # 减法:2.3
3 * 7 # 乘法:21
2 / 4 # 除法 得到一个浮点数:0.5
2 // 4 # 除法 得到一个整数:0
17 % 3 # 取余:2
2 ** 5 # 乘方:32
String是一个Unicode字符序列,是Python中最重要的数据类型之一。
'
和双引号 "
使用作用相同;三引号(''' 或 """)
可以指定一个多行字符串
;# !/usr/bin/python3
wordStr01 = '字符串01'
wordStr02 = "字符串02"
wordStr03 = """字符串段落,
字符串段落"""
# print默认换行,因此不存在println
print(wordStr01)
print(wordStr02)
print(wordStr03)
反斜杠 \
可以用做转义符
;使用 r
可以让反斜杠不发生转义
;# !/usr/bin/python3
# 若输出D:Download\note\notebook,可以使用反斜杠\转译
print('D:Download\\note\\notebook')
# 若输出D:Download\note\notebook,还可以在字符串前添加r或R
print(r'D:Download\note\notebook')
变量[头下标:尾下标:步长]
+
运算符连接在一起;*
运算符重复;#!/usr/bin/python3 str='Hello world,你好 世界' # 获取第1个字符 print(str[0]) # 获取第7个字符 print(str[6]) # 负数:获取倒数第一个字符 print(str[-1]) # 界 # 负数:获取倒数第二个字符 print(str[-2]) # 世 # 输出从第3个到第5个的字符 print(str[2:5]) # 输出从第3个开始后面所有的字符 print(str[2:]) # 输出从第2个到第5个且每隔一个的字符(步长为2) print(str[1:5:2]) # 字符串重复:输出字符串两次 print(str * 2) # 字符串连接:连接字符串 print(str + ' 你好')
in 、not in
判断字符串的包含关系
:in 、not in 判断字符串的包含关系:
#!/usr/bin/python3
a='hello'
b='hello world'
# 判断 b 中是否包含 a
print(a in b)
# 判断 b 中是否包含 a
print(a not in b)
upper()
字母大写#!/usr/bin/python3
a='hello World'
# 字母大写:输出 HELLO WORLD
print(a.upper())
lower()
字母小写#!/usr/bin/python3
a='hELLO WORLD'
# 字母小写:输出 hello world
print(a.lower())
capitalize()
首字母转大写、其他字母小写#!/usr/bin/python3
a='hELLO WORLD 12345'
# 首字母转大写、其他字母小写:输出:Hello world 12345
print(a.capitalize())
title()
每个单词的首字母大写#!/usr/bin/python3
a='this is an apple'
# 每个单词的首字母大写:输出 This Is An Apple
print(a.title())
swapcase()
大写转小写,小写转大写#!/usr/bin/python3
a='hELLO world'
# 大写转小写,小写转大写:输出 Hello WORLD
print(a.swapcase())
startswith
判断是否以某个字符串开头#!/usr/bin/python3
a='Hello world'
# 判断是否以'Hello'开头
print(a.startswith('Hello'))
endswith
判断是否以某个字符串结束#!/usr/bin/python3
a='Hello world'
# 判断是否以'world'结尾
print(a.endswith('world'))
count()
统计字符串中字符出现的次数#!/usr/bin/python3
a='Hello worLd'
# l 在字符串中出现的次数
print(a.count('l'))
# l 在字符串0-5之前出现的次数
print(a.count('l',0,5))
strip()
删除前后空格或移除前后给定字符#!/usr/bin/python3
a=' Hello world '
# 删除前后空格
print(a.strip())
# 移除给定字符
print(a.strip('Hd'))
replace()
替换给定字符#!/usr/bin/python3
a='Hello world'
# 替换给定字符:将world替换为python
print(a.replace('world','python'))
find()
查找字符在字符串中的位置#!/usr/bin/python3
a='Hello world'
# 查找'world'在字符串中的位置
print(a.find('world'))
# 如果查找不到在则返回-1
print(a.find('Worlds'))
List(列表)是 Python 中使用最频繁的数据类型,列表可以完成大多数集合类的数据结构实现。
写在方括号 [] 之间
、用逗号分隔开;列表中元素的类型可以不相同
,支持数字、字符串、甚至可以包含列表(所谓嵌套)。可以被索引和截取
,列表被截取后返回一个包含所需元素的新列表。变量[头下标:尾下标]
#!/usr/bin/python3
list01 = [ 'a', 123 , 2.23, 'xia', 456 ]
list02 = [123, 'xia']
print (list) # 输出完整列表
print (list[0]) # 输出列表第一个元素
print (list[1:3]) # 从第二个开始输出到第三个元素
print (list[2:]) # 输出从第三个元素开始的所有元素
print (tinylist * 2) # 输出两次列表
print (list + tinylist) # 连接列表
以上举例中:
加号 +
是列表连接运算符;星号 *
是重复操作;#!/usr/bin/python3
# 遍历list
list01 = [2, 3, 4]
for value in list01:
print(value)
# 遍历list
list02 = [2, 3, 4]
for index in range(len(list02)):
print(index,list02[index])
元组(Tuple)与列表类似,不同之处在于元组的元素不能修改
。
()
里,元素之间用逗号
隔开;元组中元素的类型可以不相同
,支持数字、字符串、甚至可以包含列表。可以被索引和截取
,列表被截取后返回一个包含所需元素的新元组。可以把字符串
看作一种特殊的元组
,虽然 Tuple 的元素不可改变,但它可以包含可变的对象,比如 list 列表。
#!/usr/bin/python3
tup1 = () # 空元组
tup2 = (20,) # 一个元素,需要在元素后添加逗号
tup3 = (1, 2, 3, 4, 5, 6)
print(tup3[0]) # 结果:1
print(tup3[1:5]) # 结果:(2, 3, 4, 5)
{ }
或者 set()
函数创建集合;set()
而不是 { }
,因为 { }
是用来创建一个空字典;-
求集合的差集,使用|
求集合的并集,使用&
求集合的交集,使用^
求两个集合不同时存在的元素。#!/usr/bin/python3 # 创建集合:可以使用大括号 { } 或者 set() 函数创建集合 # 创建集合:重复的元素被自动去掉 set01 = {'a', 'b', 'c', 'a', 'b', 'c', 'd'} set02 = set('abcdabcd') # 创建空集合:创建一个空集合必须用 set() set03 = set() print(set01) print(set02) print(set03) # 成员测试 if 'a' in set01: print('a 在集合中') else: print('a 不在集合中') # set可以进行集合运算 setA = set('abcdabcd') setB = set('abcabc') # 集合与或非 print(setA - setB) # A 和 B 的差集 print(setA | setB) # A 和 B 的并集 print(setA & setB) # A 和 B 的交集 print(setA ^ setB) # A 和 B 中不同时存在的元素
字典是一种映射类型,字典用 { }
标识,它是一个无序的 键(key) : 值(value)
的集合。
键(key)
必须是唯一;#!/usr/bin/python3
# 创建一个空字典
dict01 = {}
dict01['01_key'] = "01_value"
dict01[2] = "02_value"
print("dict01['01_key']:", dict01['01_key']) # 输出键为 '01_key' 的值
print("dict01[2]:", dict01[2]) # 输出键为 2 的值
# 创建字典
dict02 = {'01_key': '01_value', '02_key': 1, '03_key': '03_value'}
print("dict02:", dict02) # 输出完整的字典
print("keys:", dict02.keys()) # 输出所有键
print("values:", dict02.values()) # 输出所有值
Python 数据类型转换可以分为两种:
# !/usr/bin/python3
num_int = 123
num_float = 1.23
num_new = num_int + num_float
print("num_int:",num_int)
print("num_int type:",type(num_int))
print("num_float:",num_float)
print("num_float type:", type(num_float))
print("num_new:",num_new)
print("num_new type:",type(num_new))
显式类型转换
在显式类型转换中,用户将对象的数据类型转换为所需的数据类型:使用 int()、float()、str() 等预定义函数来执行显式类型转换。
int()
转换为整型:
# !/usr/bin/python3
x = int(1) # x 输出结果为 1
y = int(2.8) # y 输出结果为 2
z = int("3") # z 输出结果为 3
float()
转换为浮点型:
# !/usr/bin/python3
x = float(1) # x 输出结果为 1.0
y = float(2.8) # y 输出结果为 2.8
z = float("3") # z 输出结果为 3.0
w = float("4.2") # w 输出结果为 4.2
str()
转换为字符串:
x = str("s1") # x 输出结果为 's1'
y = str(2) # y 输出结果为 '2'
z = str(3.0) # z 输出结果为 '3.0'
#!/usr/bin/python3
age = 18
if age <= 0:
print("你是在逗我吧!")
elif age <=2:
print("婴儿宝宝")
elif age < 18:
print("未成年")
else:
print("成年")
没有do..while
循环,在Python中while语句的一般形式是:#!/usr/bin/python3
i = 1
while i<=100:
print(i)
i += 1
搭配else
使用时:如果while后面的条件语句为false时,则执行else的语句块的内容。#!/usr/bin/python3
i = 1
while i<=100:
print(i)
i += 1
else:
print("end:",i)
for <variable> in <sequence>
#!/usr/bin/python3
# 构建array列表
arrayList = ["a", "b", "c", "d"]
for content in arrayList:
if content == "a":
print("if判断 a continue:", content)
continue
if content == "d":
print("if判断 d break:", content)
break
print("打印循环内容:" + content)
else:
print("没有循环数据")
print("完成循环")
遍历数字序列
,可以使用内置range()
函数。#!/usr/bin/python3
for i in range(5):
print(i)
Python中迭代器是访问集合元素的一种方式,有两个基本的方法iter()
和 next()
;
# encoding: utf-8
arry_list = [1, 2, 3, 4]
# 创建迭代器对象
iter01 = iter(arry_list)
# 输出迭代器的下一个元素
print("next: ", next(iter01))
# for循环遍历迭代器
for content in iter01:
print("循环: ", content)
Python中生成器是迭代器的一种,使用yield
返回值函数,每次调用yield
会暂停,而可以使用next()
函数恢复生成器。
生成器类似于返回值为数组
的一个函数:
接收参数
与被调用
,但是不同于一般的函数会一次性返回包括了所有数值的数组,生成器一次只能产生一个值,从而减少内存消耗。因此生成器看起来像是一个函数,但是表现却是迭代器。对于可以用某种算法推算得到的多个数据,生成器并不会一次性生成它们,而是什么时候需要,才什么时候生成。
创建迭代器方式比较简单,大体分为以下 2 步:
# encoding: utf-8 # 定义一个以 yield 关键字标识返回值的函数 def intNum(): print("--- intNum start ---") for index in range(5): print("开始循环: ", index) yield index print("继续循环: ", index) print("--- intNum end ---") # 调用函数,创建生成器 num = intNum() # 调用 next() 内置函数 # print(next(num)) # 通过for循环遍历生成器 for i in num: print("遍历生成器:", i)
#!/usr/bin/python3
# 定义一个比较函数
def max(a, b):
if a > b:
return a
else:
return b
print("比较结果:", max(4, 5))
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。