厦门海投工程建设有限公司网站,为什么做网站备案的人态度差,杭州注册公司,北京和隆优化招聘1. 整型 整型即整数#xff0c;用 int 表示#xff0c;在 Python3 中整型没有长度限制。
1.1 内置函数 1. int#xff08;num, baseNone#xff09; int( ) 函数用于将字符串转换为整型#xff0c;默认转换为十进制。 int(123)
123int(123, …1. 整型 整型即整数用 int 表示在 Python3 中整型没有长度限制。
1.1 内置函数 1. intnum, baseNone int( ) 函数用于将字符串转换为整型默认转换为十进制。 int(123)
123int(123, base16)
2912. bit_length( num) 当前数字的二进制至少用多少位表示。 a 5a.bit_length()
32. 浮点型 浮点型即小数用 float 表示也可以用科学计算法表示。 a 0.005a # 科学计数法
5e-3类型转换 float(2)
2.0float(2)
2.03. 布尔型 布尔型是一种特殊的整型用 True 和 False 或 0 和 1 表示Python 中是 False 的有
None、“”、0、[ ]、、{ } 类型转换 bool(None)
False4. 字符串 字符串是 Python 里的文本用 str 表示创建一个字符串使用单引号【’ 】或双引号【 】引起即可。
字符串一旦创建不可修改同时它也是可迭代对象。 如果字符串中的内容既有单引号又有双引号有两种办法解决
使用转义符号【\】对字符串中的引号转义 Let\s go
Lets go使用不同的引号表示 Lets go
Lets go4.1 长字符串 当字符串内容行数比较多时我们可以使用 三重引号引起内容。 print(
... 从明天起做一个幸福的人
... 喂马劈柴周游世界
... )从明天起做一个幸福的人
喂马劈柴周游世界4.2 内置方法 PART 1
# capitalize将字符串内容首字母转换为大写s i am roses.capitalize()
I am rose# casefold将字符串的所有字符转换为小写与 lower一样但是可以转换特殊字符# lower将字符串里的所有字符都转换为小写s i love Yous.lower()
i love you# upper将字符串里的所有字符都转换为大写s.upper()
I LOVE YOU# countsubstartend统计字符串中某个字符出现的次数可指定范围s i am Rose, age 18s.count(a)
2s.count(a, 3, 5)
0# startswithsuffixstartend、endswithsuffixstartend
# 查找这个字符串判断是以什么字符开头或结尾返回布尔值可指定范围s i am Rose, age 18s.startswith(I)
Trues.endswith(I)
False# findsubstartend查找某个字符返回其下标若有多个只返回第一个的下标若不存在则返回 -1s I am rose # 空格也占位s.find(a)
2# indexsubstartend与 find一样但是不存在则抛出 ValueError# format*args**kwargs格式化字符串将字符串中的占位符替换为指定值不限参数可以是位置、关键字参数
I am {0}, age {1}.format(rose, 18) # 位置参数
I am {name}, age {age}.format(namerose, age18) # 关键字参数 d {name: rose, age: 18} # 传入字典加 **
I am {name}, age {age}.format(**d) l [rose, 18] # 传入列表加 *I am {:s}, age {:d}.format(*l)
I am rose, age 18# format_map格式化字符串接收字典I am {name}, age {age}.format_map({name: rose, age: 18})
I am rose, age 18# isalnum判断当前字符串是否只包含字母或数字返回布尔值s1 sda12s.isalnum()
Trues2 12s2.isalnum()
Trues3 s_s3.isalnum()
False# isalpha判断当前字符串所有字符是否都是字母包括汉字返回布尔值s1 sda12s1.isalpha()
Falses2 汉字s2.isalpha()
True# isdecimal判断当前字符串所有字符是否都是数字返回布尔值s 123s.isdecimal()
Trues1 123ss1.isdecimal()
False# isdigit判断当前字符串所有字符是否都是数字可识别 ②返回布尔值s2 ②s2.isdigit()
Trues3 二s3.isdigit()
False# isnumeric判断当前字符串所有字符是否都是数字可识别 ②和二返回布尔值s3.isnumeric()
True# isprintable判断字符串是否存在不可显示的字符如 \t、\n空格等返回布尔值s6 s6.isprintable()
Trues6 s6.isprintable()
True# isspace判断字符串是否都是空格返回布尔值s5.isspace()
Trues6 s6.isspace()
False# istitle判断字符串中每个单词首字母是否都是大写即是否是标题s i love yous.istitle()
False# title将字符串标题化s.title()
I Love YouPART 2
# joiniterable以字符串为分隔符插入到序列的每个字符间传入的列表、元组等其中的元素必须是字符串不能是数字-.join(内置方法) # 以 - 分隔符
内-置-方-法.join(内置方法)
内 置 方 法-.join([abd, 123])
abd-123# ljustwidthfillcharNone将字符串居左右边以字符填充默认以空格填充可以指定宽度
# rjustwidthfillcharNone将字符串居右左边以字符填充默认以空格填充可以指定宽度
# centerwidthfillcharNone将字符串居中两边以字符填充默认以空格填充可以指定宽度s loves.ljust(10, *)
love******s.rjust(10, *)
******loves.center(10, *)
***love***# zfillwidth返回长度为 width 的字符串原字符串右对齐前面以 0 填充s abcs.zfill(10)
0000000abc# islower、isupper判断字符串所有字符是否都是小写或大写返回布尔值s i love yous.islower()
Trues.isupper()
False# lstripcharsNone去掉字符串左边所有空格包括 \t、\n
# rstripchrasNone去掉字符串右边所有空格包括 \t、\n
# stripchrasNone去掉字符串两边所有空格包括 \t、\ns 123 s.lstrip()
123 s.rstrip()123s.strip()
123# partitionsepseparator 分隔符从左边开始分割字符串只能分成三份多个时只返回第一个s testsadsabcs.partition(s)
(te, s, tsadsabc)# rpartitionsep从右边开始分割字符串只能分成三份多个时只返回第一个s.rpartition(s)
(testsad, s, abc)# splitsepNonemaxsplit-1不带参数默认以空格分割字符串可指定最大分割次数返回分割后子串列表s testlosve # 不包含分割字符s.split(s)
[te, tlo, ve]# rsplitsepNonemaxsplit-1从右边分割字符串与 split类似s.rsplit(s)
[te, tlo, ve]# splitlines[keepends]以 \n 分割返回一个列表TRUE、False 表示是否保留换行符s testab\ncd\nhs.splitlines()
[testab, cd, h]s.splitlines(True)
[testab\n, cd\n, h]s.splitlines(False)
[testab, cd, h]# swapcase翻转大小写s abcs.swapcase()
ABC# maketrans用于创建字符映射的转换表两个参数第一个为要转换的字符第二个为转换的目标两者长度一致
# translatetable根据 table规则由 str.maketransa, b)制定转换字符串字符。s this is strings.translate(s.maketrans(aeiou, 12345)) # aeiou 与 12345 一一对应
th3s 3s str3ng# replaceoldnew[count]把字符串中的 old 字符替换成 new 字符count 为替换次数可选s hellos.replace(e, h)
hhllos # 不改变原始字符串
hello# expandtabs[tabsize8]将字符串中的 \t 转换为空格可指定长度默认 tabsize 8s username\teamil\tpassword\nlixiang\tlixiangqq.com\t123456s.expandtabs(20)
username eamil password
lixiang lixiangqq.com 123456# bit_length返回一个 int 用二进制表示需要多少位不包含前导数和符号n 37n.bit_length()
6# binnumber返回一个 int 的二进制表示bin(37)
0b100101 # 37 用二进制表示刚好 6 位# encodeencodingutf-8, errorsstrict以 encoding 方式编码字符串errors 指定不同的错误处理方案返回编码后的字符串是一个 bytes 对象
# bytes.decodeencodingutf-8, errorsstrict以指定的编码格式解码 bytes 对象默认 utf-8s 编码解码s1 s.encode(utf-8)s2 s.encode(gbk)s1
b\xe7\xbc\x96\xe7\xa0\x81\xe8\xa7\xa3\xe7\xa0\x81s2
b\xb1\xe0\xc2\xeb\xbd\xe2\xc2\xeb s1.decode(utf-8, strict) # 解码以什么方式编码就以什么方式解码
编码解码s2.decode(gbk, strict)
编码解码4.3 索引 获取字符串中某个字符只需传入索引即可索引从 0 开始支持负数索引最后一个为 -1 s hellos[0]
hs[-1]
o字符串是可迭代对象因此也支持切片 s hellos[0:2]
hes[-2:-1]
l同样地 也支持 for 循环遍历其中每一个元素 for i in s:
... print(i)
...
h
e
l
l
o4.4 内置函数 len可以获取字符串长度 len(hi)
24.5 字符串拼接 为了保证内存的连续性字符串一旦创建不允许被修改一旦修改将会产生新的字符串使用连接符 可以将两个字符串拼接成一个新的字符串。 myteacher 李yourteacher 老师ourteacher myteacher yourteacherourteacher
李老师Python 中不同数据类型是不能拼接的但是可以使用别的方法实现 print(score : str(95)) # 使用 连接符需要考虑是否是相同数据类型
score:95print(score:,95) # 可以不用考虑数据类型
score: 954.6 原始字符串 所有的字符串都是按照字面的意思来使用没有转义特殊和不能打印的字符。 当字符串中有反斜杠 \ 时往往会被当成转义字符处理而有些时候我们并不需要将反斜杠保存下来有两种方法一是再加一个反斜杠将其保存下来但是当反斜杠很多时候就显得很乱 s c:\\nows
c:\\nowprint(s)
c:\now另一个方法就是使用原始字符串 raw只需要在字符串前面加个 r 即可它会自动在程序内部添加反斜杠无需手动添加 s rc:\nows # 自动添加 \
c:\\nowprint(s)
c:\now4.7 格式化字符串 格式化字符串即将字符串中的占位符替换为指定值。 1. format format方法接收位置参数和关键字参数分别使用位置、关键字占位 语法
format*args**kwargs位置参数
I am {0}, age {1}.format(rose, 18) # 位置参数
I am rose, age 18关键字参数
I am {name}, age {age}.format(namerose, age18) # 关键字参数
I am rose, age 18也可以接收列表和字典作为参数传入只需在列表前面添加 *字典前面添加 ** 即可 d {name: rose, age: 18} # 传入字典加 **
I am {name}, age {age}.format(**d) l [rose, 18] # 传入列表加 *I am {:s}, age {:d}.format(*l)
I am rose, age 182. 格式化操作符 % Python 提供了一系列的格式化操作符用于格式化字符串。
Python 常见格式化操作符及含义符号含义%s格式化字符串%d格式化整数%c格式化字符及 ASCII 码%o格式化无符号八进制数%x格式化无符号十六进制数%X格式化无符号十六进制大写%f格式化浮点数可指定小数点后的精度%e用科学计数法格式化浮点数%E作用同 %e用科学计数法格式化浮点数%g根据值的大小决定使用 %f 或 %e%Gz作用同 %g根据值的大小决定使用 %f 或 %E示例 msg I am %s, age %d % (rose, 18) msg
I am rose, age 18 # 保留两位有效小数在 f 前面添加 .2s percent: %.2f % 97.687 s
percent: 97.69# 保留百分号在 f 后面添加两个 %s1 percent: %.2f%% % 97.687 s1
percent: 97.69% s2 I am %(name)s, age %(age)d % {name:rose, age:18} s2
I am rose, age 18 s3 I am %(pp).2f % {pp:123.4567} s3
I am 123.46 5. 练习题 1. Python 2 和 Python 3 中 range区别
**Python 2**直接全部生成所有数字xrange 与 Python 3 一样**Python3**循环一次生成一个节省内存 2. 实现一个加法计算器如 5 9
value 5 9
v1, v2 value.split()
print(int(v1) int(v2))3. int 和 2、str 和 ‘xx’ 的关系 类和对象的关系 4. 计算用户输入的内容有几个数字几个字母
n input(请输入内容) # input接收的内容为 字符串
a 0, b 0 # 统计数字、字母
for i in n: # 对内容遍历循环if i.isdecimal(): # 判断是否是数字a 1else:b 1
print(a, b)5. 制作随机验证码不区分大小写 流程如下
用户执行程序给用户显示要输入的验证码用户输入验证码判断用户输入的验证码是否和随机生成的相同相同则打印输入正确否则重新输入
# 每次生成一个字符循环四次生成四个字符即一个验证码
import randomverify_coe
for i in range(4):current random.randrange(0, 4) #if current ! i:# chr()可以将数字转换为 ASCII 码表中所对应的字符65~90 对应 A~Z98~122 对应 a~z# 生成一个 65~90 的随机整数并将其转换为大写字母temp chr(random.randint(65, 90))else:temp random.randint(0, 9) # 生成一个 0~9 的随机整数verify_code str(temp)while True:n input(请输入验证码)if n.upper verify_code:print(输入正确)breakelse:print(输入错误请重新输入)使用函数写
import randomdef check_code():生成随机验证码:return: 验证码verify_code for i in range(4):current random.randrange(0, 4) #if current ! i:# chr()可以将数字转换为 ASCII 码表中所对应的字符65~90 对应 A~Z98~122 对应 a~z# 生成一个 65~90 的随机整数并将其转换为大写字母temp chr(random.randint(65, 90))else:temp random.randint(0, 9) # 生成一个 0~9 的随机整数verify_code str(temp)return verify_codedef verify(code):验证用户输入的验证码是否与随机生成的一致:param code::return:while True:n input(请输入验证码)if n.upper() code: # 不区分大小写print(输入正确)breakelse:print(输入错误请重新输入)def main():code check_code()print(code)verify(code)
main()6. 制作表格 循环提示用户输入用户名、密码和邮箱不超过 20 个字符超过只取前 20 个字符若输入 q 或 Q 则退出将内容以表格形式显示
s
while True:user input(请输入用户名)if user q or user Q:breakpsd input(请输入密码)email input(请输入邮箱)user_one user[0:20]psd_one psd[0:20]email_one email[0:20]temp1 username\tpassword\temial\ntemp2 {0}\t{1}\t{2}\na temp2.format(user_one, psd_one, email_one)s aprint(temp1.expandtabs(20), s.expandtabs(20))请输入用户名rose
请输入密码123456
请输入邮箱123456qq.com
username password emialrose 123456 123456qq.com