一、python开发工具
1.pycharm(推荐)
# 专业版
# 不要汉化
2.eclipse
二、运算符
1.算术运算
+ - * / ** //(取商) %(取余)
运算原则:先计算括号内的,乘除优先,加减在后,没有括号就从前往后执行
2.成员运算
in not in # 判断某个东西是否在某个东西里面
a = "蚊" in "郑建文" #返回True or False
3.逻辑运算
and or not
a = 1>6 or 1==1
4.比较运算
< > <= >= 比较的本质也是真或假,因为返回的结果要么是真要么是假
5.赋值运算
= += -= //= %= 等等
count = count + 1相当于 count += 1
总结:
结果是值:算数运算 赋值运算
结果是布尔值:比较运算 逻辑运算 成员运算
三、基本数据类型
1.布尔值(bool)
True(1)、False(0)
查看数据类型
type(变量名)
2.数字(int)
python3不管是多大的数字,都是整型(int),而python2里面在超过某个数字后,就用long
2.1数字常用方法
将字符串转换为数字
a = "123"
print(type(a),a)
b = int(a)
print(type(b),b)
把二进制数转换成十进制
num = "0011"
v = int(num, base=2)
print(v)
当前数字的二进制,至少用n位表示
r = age.bit_length()
print(r)
3.字符串(str)
3.1.常用方法
# 1 首字母大写
# test = "aLex"
# v = test.capitalize()
# print(v)
# 2 所有变小写,casefold更牛逼,很多未知的对相应变小写
# v1 = test.casefold()
# print(v1)
# v2 = test.lower()
# print(v2)
# 3 设置宽度,并将内容居中
# 20 代指总长度
# * 空白未知填充,一个字符,可有可无
# v = test.center(20,"中")
# print(v)
# test = "alex"
# v = test.ljust(20,"*") #20放在左边
# print(v)
# test = "alex"
# v = test.rjust(20,"*")#20放在右边
# print(v)
# test = "alex"
# v = test.zfill(20)#默认用0填充至20位(0+alex)
# print(v)
# 4 去字符串中寻找,寻找子序列的出现次数
# test = "aLexalexr"
# v = test.count(‘ex‘)
# print(v)
# test = "aLexalexr"
# v = test.count(‘ex‘,5,6)
# print(v)
# 5 以什么什么结尾,以什么什么开始
# test = "alex"
# v = test.endswith(‘ex‘)
# v = test.startswith(‘ex‘)
# print(v)
# 6 expandtabs,断句20,
# test = "username\temail\tpassword\nlaiying\[email protected]\t123\nlaiying\[email protected]\t123\nlaiying\[email protected]\t123"
# v = test.expandtabs(20) # 以20个字符为一句
# print(v)
# 7 从开始往后找,找到第一个之后,获取其位置
# > 或 >=
# test = "alexalex"
# 未找到 -1
# v = test.find(‘ex‘)
# print(v)
# 8 index找不到,报错(忽略)
# test = "alexalex"
# v = test.index(‘8‘)
# print(v)
# 9 格式化,将一个字符串中的占位符替换为指定的值
# test = ‘i am {name}, age {a}‘
# print(test)
# v = test.format(name=‘alex‘,a=19)
# print(v)
# test = ‘i am {0}, age {1}‘
# print(test)
# v = test.format(‘alex‘,19)
# print(v)
# 10 格式化,传入的值 {"name": ‘alex‘, "a": 19}
# test = ‘i am {name}, age {a}‘
# v1 = test.format(name=‘df‘,a=10)
# v2 = test.format_map({"name": ‘alex‘, "a": 19}) # 跟format效果一样
# 11 字符串中是否只包含 字母和数字
# test = "123"
# v = test.isalnum()
# print(v)
# str
# 12 是否是字母,汉字
# test = "as2df"
# v = test.isalpha()
# print(v)
# 13 当前输入是否是数字
# test = "二" # 1,②
# v1 = test.isdecimal() # 判断是否数字,但是不能判断②这种数字
# v2 = test.isdigit()
# v3 = test.isnumeric() # 可以判断中文的“一”、“二”、“三”
# print(v1,v2,v3)
# 14 是否存在不可显示的字符
# \t 制表符
# \n 换行
# test = "oiuas\tdfkj"
# v = test.isprintable()
# print(v)
# 15 判断是否全部是空格
# test = ""
# v = test.isspace()
# print(v)
# 16 判断是否是标题
# test = "Return True if all cased characters in S are uppercase and there is"
# v1 = test.istitle() # 标题的每个单词的首字母必须大写
# print(v1)
# v2 = test.title() # 将你的字符串转换成标题的形式
# print(v2)
# v3 = v2.istitle()
# print(v3)
# 17 ***** 将字符串中的每一个元素按照指定分隔符进行拼接
# test = "你是风儿我是沙"
# print(test)
# # t = ‘ ‘
# v = "_".join(test) #join会循环整个字符串,每个字符串空格分开
# print(v)
# 18 判断是否全部是大小写 和 转换为大小写
# test = "Alex"
# v1 = test.islower()
# v2 = test.lower()#网站的验证码,用户输入,全部变成小写,跟数据库中(也是小写)比较。所以网站的验证码都能忽略用户输入的是大写还是小写
# print(v1, v2)
# v1 = test.isupper()
# v2 = test.upper()
# print(v1,v2)
# 19 移除指定字符串,原则是“有限最多匹配”
# test = "alex"
# v = test.lstrip(‘al‘) # 左边开始匹配去掉al
# v = test.rstrip(‘9lexxexa‘)
# # v = test.strip(‘xa‘) # 去掉ax了
# print(v)
# 去除左右空白
#test = " alex "
# v = test.lstrip()
# v = test.rstrip()
# v = test.strip()
# print(v)
# print(test)
# 去除\t \n
# test = "\nalxa\n"
# v = test.lstrip()
# v = test.rstrip()
# v = test.strip()
# print(v)
# 20 对应关系替换
# test = "aeiou"
# test1 = "12345"
# v = "asidufkasd;fiuadkf;adfkjalsdjf" #待会对这个进行操作
# m = str.maketrans("aeiou", "12345")#先自己创建一个对应关系
# new_v = v.translate(m)
# print(new_v)
# 20 对应关系替换
# v = "asidufkasd;fiuadkf;adfkjalsdjf" # 待会对这个进行操作
# m = str.maketrans("aeiou", "12345") # 先自己创建一个对应关系
# new_v = v.translate(m)
# print(new_v)
# 21 分割为三部分
# test = "testasdsddfg"
# v = test.partition(‘s‘) # 找到第一个s,然后在s的左右切,分割成三个部分
# print(v)
# v = test.rpartition(‘s‘) # 右边起找到第一个s,然后在s的左右切,分割成三个部分
# print(v)
# 22 分割为指定个数
# v = test.split(‘s‘,2)#根据s分割两次,s字母一分割就没有了,这个功能可以用来做计算器计算"1*2/7+4-1"
# print(v)
# test.rsplit()
# 23 分割,根据true或者false决定是否保留换行符
# test = "asdfadfasdf\nasdfasdf\nadfasdf"
# v = test.splitlines(False) # False不保留换行符
# print(v)#返回一个列表
# 24 以xxx开头,以xx结尾
# test = "backend 1.1.1.1"
# v = test.startswith(‘a‘)
# print(v)
# test.endswith(‘a)
# 25 大小写转换
# test = "aLex"
# v = test.swapcase()
# print(v)
# 26 字母,数字,下划线 : 标识符 def class
# a = "def"
# v = a.isidentifier()
# print(v)
# 27 将指定字符串替换为指定字符串
# test = "alexalexalex"
# v = test.replace("ex",‘bbb‘)
# print(v)
# v = test.replace("ex",‘bbb‘,2)#只替换前两个
# print(v)
###################### 7个基本魔法 ######################
上面27个方法中,一下几个最常用
# join # ‘_‘.join("asdfasdf")
# split
# find
# strip
# upper
# lower
# replace
###################### 4个灰魔法(大部分数据类型会用到的方法) ######################
test = "Taylor swift给我个亲亲"
# 1.for循环
# for 变量名 in 字符串:
# 变量名
# break
# continue
# index = 0
# while index < len(test):
# v = test[index]
# print(v)
#
# index += 1
# print(‘=======‘)
# for zjw in test:
# print(zjw)
# test = "Taylor swift给我个亲亲"
# for item in test:
# print(item)#只输出“郑”
# break
# for item in test:
# continue#没有输出
# print(item)
# 2.索引,下标,获取字符串中的某一个字符
# v = test[3]
# print(v)
# 3.切片
# v = test[0:-1] # 0=< <1
# print(v)
# 4.获取长度
# Python3: len获取当前字符串中由几个字符组成
# v = len(test)
# print(v)
# len(list) 一个元素为一个长度
# 获取连续或不连续的数字,
# Python2中直接创建在内存中
# python3中只有for循环时,才一个一个创建,相当于一个公式摆在内存,当你调用时才给你生成
# r1 = range(10)
# r2 = range(1,10)
# r3 = range(1,10,2)
# 帮助创建连续的数字,通过设置步长来指定不连续
# v = range(0, 100, 5)
# for item in v:
# print(item)
###################### 1个深灰魔法 ######################
# 字符串一旦创建,不可修改
# 一旦修改或者拼接,都会造成重新生成字符串
# name = "zhengjianwen"
# age = "18"
#
# info = name + age
# print(info)