【一】注释 快捷键 ctrl + /
1: # [相当于c语言里的//]
2 :六个英文双引号或者单引号
" " "
" " "[相当于c语言里的/* */]
注意:在代码后放注释内容 一般先空两格 # 再空一格【仅仅是习惯】
【二】变量
由字母、数字、下划线组成
数字不开头
字母大小写不同
【三】数据类型
python数据类型:数值int float 布尔型bool 字符串str 列表list 元组tuple 集合set 字典dict
可变数据类型:列表、字典、集合
不可变数据类型:整型、浮点型、字符串、元组
my_name = "flower"
print(type(my_name)) # 输出 <class 'str'>
x = 8 # 不要写int x = 8 会报错
print(type(x)) # 输出 <class 'int'>
c = [10, 20, 30] # 英文逗号后要有个空格
print(type(c)) # 输出 <class 'list'> # 列表
y = (10, 20, 30)
print(type(y)) # 输出 <class 'tuple'> # 元组
z = {10, 20, 30}
print(type(z)) # 输出 <class 'set'> # 集合
f = {'name': "flower", 'age': 18}
print(type(f)) # 输出 <class 'dict'> # 字典
int型是不可变数据类型
a = 1
b = a
print(id(a)) # 140716483994448
print(id(b)) # 140716483994448
a = 2
print(id(a)) # 140716483994480 # a内存地址变了
print(id(b)) # 140716483994448 # b内存地址没变
1:字符串
代码可用单引号、双引号、三引号 都表示字符串 稍微有些区别
x = """hi
w"""
print(x)
print(type(x)) # 三引号 # 运行结果 hi[换行] w <class 'str'>
y = "hi " \
"w"
# 是"hi w" 在w前回车 代码自动加的"\"
print(y)
print(type(y)) # 运行结果 hi[没换行] w <class 'str'>
#---------------------------------------------------------
z = "I'm flower"
print(z)
w = 'I\'m flower' # 在引号里的单引号前加个转义符号 斜杠
print(w)
下标
MyName = "flower"
print(MyName[0]) # 运行结果 f
print(MyName[3]) # 运行结果 w
切片
str1 = '0123456'
# [开始下标:结束下标:步长] # 得到的结果:闭区间[开始,结束)开区间
# 步长为正从左往右 步长为负从右往左 :步长可不写默认为1
# 下标可为负 最后一个-1 倒数第二个-2 以此类推
# 开始位置不写默认0号开始 结束位置不写默认到最后一个且包含最后一个
print(str1[1:5:2]) # 运行结果 13 # 如果str1 = 'flower' 结果就为 lw
print(str1[:]) # 输出全部 0123456
print(str1[-1:-4:-1]) # 运行结果 654
print(str1[-1:-4:1]) # 运行结果 无[因为开始到结束顺序与步长顺序相反]
字符串查找——find() index() count()
返回子串从左往右数在字符串中第一次出现的首字符的下标 ;若不存在find()返回负1,index()报错
str1 = "I will have a house, facing the sea, feeling flowers bloom with the warmth of spring"
print(str1.find("will")) # 运行结果 2
print(str1.find("the", 30, 70)) # 运行结果 64 # 从字符串的下标30到70中查找子串the
print(str1.count("the")) # 运行结果 2 # count()是返回子串在字符串中出现的次数,若无返回0
#-------------------------------------------------------------
# rfind() rindex()
#与find() index()用法相同,只是从右往左看 注意:下标不变
str1 = "ok you ok you"
print(str1.rfind("ok")) # 运行结果 7
#从右往左看 第一个ok o的下标是7
字符串修改——替换replace: 字符串不可变数据类型
str1 = "I love my family I love my family"
str2 = str1.replace("my", "your")
str3 = str1.replace("my", "your", 1) # 旧子串 新子串 修改多少处 # 多少处可不写默认全部修改
#字符串不可变数据类型 所以str1不变 有返回值储存改变后数据
print(str1) # 运行结果 I love my family I love my family
print(str2) # 运行结果 I love your family I love your family
print(str3) # 运行结果 I love your family I love my family
字符串修改——分割split:
str1 = "flower----fcr----family"
list1 = str1.split("----")
list2 = str1.split("----", 1) # 分割1次 不写次数默认全分割
print(list1) # 运行结果 ['flower', 'fcr', 'family'] 丢失分割符 分成3份
print(list2) # 运行结果 ['flower', 'fcr----family'] 分成两份
字符串修改——合并join:
list1 = ["flower", "fcr", "family"]
str1 = "----".join(list1)
print(str1) # 运行结果 flower----fcr----family
字符串其他操作
str1 = "this is a PHoto named F"
print(str1.capitalize()) # 运行结果 This is a photo named f 修改成第一个字符大写 其他都小写
print(str1.title()) # 运行结果 This Is A Photo Named F 修改成每个单词首字母大写 其他小写
print(str1.lower()) # 运行结果 this is a photo named f 大写修改成小写
print(str1.upper()) # 运行结果 THIS IS A PHOTO NAMED F 小写修改成大写
#---------------------------------------------------------
str2 = " flower fcr "
print(str2.strip()) # 运行结果flower fcr#删除两侧空白
print(str2.lstrip()) # 运行结果flower fcr #删除左侧空白
print(str2.rstrip()) # 运行结果 flower fcr#删除右侧空白
#---------------------------------------------------------
str3 = "flower"
print(str3.ljust(14)) #14个长度里左对齐
print(str3.ljust(14, "*")) # 运行结果 flower******** #14个长度左对齐,不足的补齐*
print(str3.rjust(14, "_")) # 运行结果 ________flower #14个长度里右对齐,不足的补齐_
print(str3.center(14, ".")) # 运行结果 ....flower.... #14个长度里中间对齐,不足的补齐.
#---------------------------------------------------------
str4 = "I am here"
xx = str4.startswith("I a")
print(xx) # 运行结果 True # 判断是否以某子串开头
yy = str4.endswith("e")
print(yy) # 运行结果 True # 判断是否以某子串结尾
#---------------------------------------------------------
str5 = "FLoWer"
str6 = "FLoWer Fcr"
str7 = "123"
str8 = "123fcr"
str9 = " "
print(str5.isalpha()) # 运行结果 True # 非空字符串所有字符都是zimu字母返回TRUE 否则FALSE
print(str6.isalpha()) # 运行结果 False # 因为有空格
print(str7.isdigit()) # 运行结果 True # 非空字符串所有字符都是shuzi数字返回TRUE 否则FALSE
print(str8.isalnum()) # 运行结果 True # 非空字符串所有字符都是shuzi数字或zimu字母返回TRUE 否则FALSE
print(str9.isspace()) # 运行结果 True # 非空字符串所有字符都是kongge空格返回TRUE 否则FALSE
2:列表
list1 = ["flower", "fcr", "he"] # 列表中数据的数据类型可不同
print(list1[0]) # 运行结果 flower # 下标
print(list1[1]) # 运行结果 fcr # 下标
print(list1.index("fcr")) # 运行结果 1 # 查找 index() 查找不到报错
print(list1.count("fcr")) # 运行结果 1 # 出现次数 count()
print(len(list1)) # 运行结果 3 # 列表长度 即列表中数据个数
#------------------------------------------------------------
print("fcr"