tip:
pycharm中选中按ctrl+/ 整体注释,再按一次返回 shift+enter 直接换行
代码过长通过 \换行接着写
print('adsfdasfadsfdsafdsafaddf\ asdfdafdf11111111')
#等待一个输入值(以字符串的形式)赋予变量n n=input('请输入')
#如输入10则 n='10'
#用 int(n) 转换为数字
#输出到屏幕 print()
print('1','3','a, ','b',sep='')-->13a, b #print()中间以空字符隔开的效果
print('a',3,4,5) -->a 3 4 5 #print()中间以,隔开默认分隔符sep=' '
print('adf',end='') #输出以空字符结尾(不换行),也可以其他字符结尾
print() #换行
#单行注释 """ 三引号多行注释 """
#变量只能由字母 数字 _ 组成 ,且数字不能开头
#变量名不要使用系统占用的名字
#if语句
#布尔值 True False (注意首字母大写,小写的不行)可直接用于条件判断(if True:)
#'' --> 空字符串为假,其它为真. 0为假,其它为真
if 逻辑判断语句 : 执行语句 if 逻辑判断语句 : pass else: pass else: 执行语句 #严格的嵌套关系,从属下的语句要缩进,否则报错。标准的是4格,按Tab自动缩进4格 #如果不想执行东西需要缩进后pass #多条件判断语句 if a==b : 执行语句 elif a==c : 执行语句 elif a==d : ... ... ... else: 执行语句
#字符串 三种形式 'aaa' "aaa" '''aaa''' """aaa""" #字符串的加法和乘法 #'aaa'+'bbb' ='aaabbb' #'abc'*3 = 'abcabcabc' #数字 #加减乘除 30/4 #带小数 30//4 #除后取整 30%4 #取余数 #可用 x%2 是否为0 来判断奇数偶数
if 'a' in 'abc':
print('yes')
else:
print('no')
#in可用于判断字符串里有无某字符或字符的子序列(如abc中有ab、bc两个子序列),所以若'ac' in 'abc'为假
#not in则相反
#while语句 n=0
while n<10: print(n) n=n+1 #while else语句,不满足条件后执行一次else里的内容 n=0 while n<10: print(n) n=n+1 else: print('end') #循环体中出现break,跳出循环 #出现continue 直接执行下一次循环
python里的逻辑运算是按从左到右进行一旦前面能判断出真假值,后面的就不运行。如 False and True or True and True 的值为False,因为第一个为False,无论后面是什么and的值都为假。再如
True and True or False and False的值为真,同理。加()先计算括号内的
n+=1 等于n=n+1 其他运算符号同理
一个定义了类型的变量n输入.号有多种函数选择,Tab键补齐
python数据类型 type(变量名) 查看变量类型 输入数据类型 str or int 之类 按住Ctrl再点击它,会出现源码说明,如下图(其中sub为子序列,start是字符串的开始位置,end为结束位置,详情用法看下文字符串章节)
self : 括号
value : 代表必须有值
start : 开始的位数
end : 结束的位数
iterable : 加的参数为可迭代的对象(如列表,字符串)
index : 索引位置
@staticmetho : 静态类型 类名.方法 (如 dict.fromkeys)
**kwargs : 代表可以参数可以是字典
#数字 #整型( python2里有长整形long,python3里统一都是整型int) a='123' int(a) #将a由str转换为int num='b' int(num,base=16) #将num视为16进制数转换为10进制 a.bit_length() #得到a的最小二进制位数 #浮点型 (float) a='11.2' float(a) #将a由str转换为float
字符串(str)
a='test'
#首字母大写
a.capitalize()
#大写变小写
a.casefold() #更普适,可用作多种语言的对应关系
a.lower() #只能用于英文字母的大写变小写
#!!!!!!!重要!!!!!!
#设置宽度为20,将a居中,除a以外的空余位置用*填充,ljust放左边,rjust放右边!!
a.center(20,'*')
a.center(20) #默认用空格填充
a.ljust(20,'*')
a.rjust(20,'*')
#寻找a字符串中子序列'e'出现的次数
a.count('e') #默认从第一个开始找
a.count('e',2,4) #从第2个字符开始找,到第4个字符结束
#判断a是否以't'结尾或开头,返回值为True或False
a.endswith('t')
a.startswith('t')
#从a第一个位置开始寻找'es'在a中的位置,未找到返回的值为-1,找到了返回值,第一位的值为0,以此类推
a.find('es')
a.find('es',1,3) #在区间[1,3)开始找
#index跟find的功能一样,但用index未找到的话会报错,所以不用它
a.index('es')
#格式化,将a中的占位符替换为指定的值
a='i am {name},age {b}'
v=a.format(name='alex' , b=19)
#或者用0代表第一个占位符,1代表第二个,以此类推
a='i am {0},age {1}'
v=a.format('alex' , 19)
#又或者这种形式
a='i am {name},age {b}'
v=a.format_map({'name': 'alex', 'b': 19})
#判断a中是否只含数字和字母(或汉字),返回布尔值
a.isalnum()
#判断a中是否只含字母(或汉字),返回布尔值
a.isalpha()
#判断a中是否只含数字有两种
a.isdecimal() #只能判断阿拉伯数字
a.isdigit() #可以判断如①这种特殊数字
a.isnumeric() #可以判断汉字的数字
#判断是否是数字,字母,下划线开头,是否是标准的变量名,是否尊循了变量命名规范
a.isidentifier()
#是否存在不可见或不可显示的内容,如换行符\n 制表符\t,因为这类字符在打印的时候是不会出现的
a.isprintable()
#是否都为空格
a.isspace()
#是否为标题样式(只能英文):单词首字母大写
a.istitle()
#英文字符串转换为标题样式
a.title()
#将字符串中的每一个字符用指定字符连接
a='你好吗'
v='_'.join(a)
#去字符串左空格、右空格、左右空格(也可去\n \t)
text=' adfasd '
text.lstrip()
text.rstrip()
text.strip()
#如果在后面加上'特定字符串'就可去掉特定字符串,包括特定字符串中的字符
text='aledx'
text.strip('axd') --> le
#将字符做一个映射如:a-->1 b-->2 c-->3
m=str.maketrans('abc','123')
#将字符串中的字符按映射关系替换
text='abcdasfbadf'
text.translate(m)
#将字符串中的子序列替换(如'ab'替换为'2134',从左开始替换两次)
text.replace('ab','2134',2)
#将字符串以某个字符串(s)分隔开,从左开始第一个检测到的。从右开始用rpartition
text.partition('s')
text.lpartition('s')
#将字符串以某个字符串(s)分隔开,且去掉s。从左开始全部检测到的(默认),也可设定总的分割个数为3(如下)。右边开始同理用rsplit
text.split('s',3) -->['abcda','fbadf']
text.rsplit('s',3)
#以\n分隔开
text.splitlines(True) -->True代表保留\n,False不保留
#判断字符串是否以'ab'开头(在位数区间[3,5]里)
text.startswith('ab',3,5)
#判断字符串是否以'ab'结尾 (在位数区间 [3,5]里)
text.endswith('ab',3,5)
#大小写反转
text.swapcase()
#-----------------------------------------------------------------------------------------
# 索引、切片 :直接从字符串中取子序列(包括各种标点中文之类)
str='adsfdasf'
str[3] --> f
str[0:3] --> ads (在序列号[0,3)之间取)
str[0:-1] --> adsfdas (区间为[0,最后一位))
# 获得字符串的字符个数(在python2里len()一个中文位数为3(因为utf8一个中文占3个字节),python3里为1)
str='中文'
len(str) --> 2 python3
--> 6 python2
#对于列表来说
tabs=[11,22,33,44,'dadf']
len(tabs) --> 5 (算的是列表中元素的个数)
#for循环的小例子
for str in len(str):
print(str)
#枚举打印str里的每一个字符
#生成连续的数字,在区间[0,10)里,步长为2
range(0,10,2)
#Python2中直接就创建了所有数字存于内存中(或者用Xrange来达到跟python3的效果一样),python3中优化了,等用的时候才创建,节省内存。
#-------------------------------------------------------------------------------------------------
字符串一旦被创建,就不可修改
一旦修改或拼接都是开辟新的内存存储
#-------------------------------------------------------------------------------------------------
换行符\n
#print("I'm Bob.\nWhat's your name?")
制表符\t
#print("学号\t姓名\t语文\t数学\t英语")
#不定义默认\t与前面的字符共占8个字符
例:v='namedafds\tdasffa\tadfadfd' ; print (v) --> namedafds dasffa adfadfd
#定义\t与前面的字符共占6个字符
v.expandtabs(6) --> namedafds dasffa adfadfd