默认教学计划
929人加入学习
(28人评价)
Python 基础
价格 ¥ 299.00
该课程属于 高校公益行 | 网络安全实践训练营 请加入后再学习

字符串的格式化方法 

# !/usr/bin/env python
# -*- coding:UTF-8 -*-
import getpass

text = input("请输入你的名字:")
print(text,"你好!")


name = input("请输入你的名字:")
age = int(input("请输入你的年龄:"))
sex = input("请输入你的性别:")
words = input("请输入你的祝福的话语:")


information = """
-------------------来自%s的真实的信息-------------------
你的名字是%s
你的年龄是%d
你的性别是%s
你的祝福的话语是%s
"""%(name,name,age,sex,words)


new_information = """
-------------------来自{0}的真实的信息-------------------
你的名字是{1}
你的年龄是{2}
你的性别是{3}
你的祝福的话语是{4}
""".format(name,name,age,sex,words)

print(new_information.encode().decode())
'''
encode() 方法以 encoding 指定的编码格式编码字符串。字符串转换为二进制。
decode() 方法以 encoding 指定的编码格式解码字符串。二进制转换为字符串。
布尔值
    True 和 False
对应数字
    1    和     0
'''

 

属性读取:
Object.attribute格式的表达式可以理解为“读取object对象的属性attribute值”。

 

字符串操作方法

  1. S.capitalize() - 第一个字母大写,其余都变成小写字母。
  2. S.title() - 每一词的头字母大写,其余都变成小写字母。
  3. S.upper() - 全改成大写。
  4. S.lower() - 全改成小写。
  5. S.swapcase() - 大小写转换。
  6. S.center(width[, fill])/ S.ljust(width[, fill])/S.rjust(width[, fill])
    - 原来的字符扩到指定长度,再用fill来填充其余空处,默认空格。
  7. S.expandtabs(tabsize)
    - 更改tabs(在字符串里”\t”)转换为空格的数量,默认为8。
  8. S.zfill(width)
    - 原来的字符串扩到指定长度,前面使用0来填充。数字计算的时候会用到。
  9. S.strip([chars])/S.lstrip([chars])/S.rstrip([chars])
    - 删除两遍/左边/右边的指定字符(默认为空格和换行符)。
  10. 在这里所有的start和start, end看成是S[start:]和S[start:end]
    S.startswith(prefix[, start[, end]])/S.endswith(suffix[ ,start[ ,end]])
    - 以特定字符串开头/结尾的,返回真假。
  11. S.count(sub[, start[, end]])
    - 相应字符串在文本里的个数
  12. S.find(sub [, start[, end]])/S.rfind(sub[, start[, end]])
    - 查找第一个与sub匹配的字符串位置,没找到返回-1
  13. S.index(sub[, start[, end]])/S.rindex(sub[, start[, end]])
    - 与find差不多,但没找到会返回错误
  14. S.replace(old, new[, count])
    - 查找old,替换成new,count是只替换相应个数,默认全替换。

 

 

 

 

 

 
 
G
M
T
 
 
检测语言世界语中文简体中文繁体丹麦语乌克兰语乌兹别克语乌尔都语亚美尼亚语伊博语俄语保加利亚语僧伽罗语克罗地亚语冰岛语加利西亚语加泰罗尼亚语匈牙利语南非祖鲁语卡纳达语印地语印尼巽他语印尼爪哇语印尼语古吉拉特语哈萨克语土耳其语塔吉克语塞尔维亚语塞索托语威尔士语孟加拉语宿务语尼泊尔语巴斯克语布尔语(南非荷兰语)希伯来语希腊语德语意大利语意第绪语拉丁语拉脱维亚语挪威语捷克语斯洛伐克语斯洛文尼亚语斯瓦希里语旁遮普语日语格鲁吉亚语毛利语法语波兰语波斯尼亚语波斯语泰卢固语泰米尔语泰语海地克里奥尔语爱尔兰语爱沙尼亚语瑞典语白俄罗斯语立陶宛语索马里语约鲁巴语缅甸语罗马尼亚语老挝语芬兰语苗语英语荷兰语菲律宾语葡萄牙语蒙古语西班牙语豪萨语越南语阿塞拜疆语阿尔巴尼亚语阿拉伯语韩语马其顿语马尔加什语马拉地语马拉雅拉姆语马来语马耳他语高棉语齐切瓦语
 
世界语中文简体中文繁体丹麦语乌克兰语乌兹别克语乌尔都语亚美尼亚语伊博语俄语保加利亚语僧伽罗语克罗地亚语冰岛语加利西亚语加泰罗尼亚语匈牙利语南非祖鲁语卡纳达语印地语印尼巽他语印尼爪哇语印尼语古吉拉特语哈萨克语土耳其语塔吉克语塞尔维亚语塞索托语威尔士语孟加拉语宿务语尼泊尔语巴斯克语布尔语(南非荷兰语)希伯来语希腊语德语意大利语意第绪语拉丁语拉脱维亚语挪威语捷克语斯洛伐克语斯洛文尼亚语斯瓦希里语旁遮普语日语格鲁吉亚语毛利语法语波兰语波斯尼亚语波斯语泰卢固语泰米尔语泰语海地克里奥尔语爱尔兰语爱沙尼亚语瑞典语白俄罗斯语立陶宛语索马里语约鲁巴语缅甸语罗马尼亚语老挝语芬兰语苗语英语荷兰语菲律宾语葡萄牙语蒙古语西班牙语豪萨语越南语阿塞拜疆语阿尔巴尼亚语阿拉伯语韩语马其顿语马尔加什语马拉地语马拉雅拉姆语马来语马耳他语高棉语齐切瓦语  
 
 
 
 
 
 
 
 
 
文本转语音功能仅限200个字符
 
 
选项 : 历史 : 反馈 : Donate 关闭
[展开全文]

列表方法:

sortes(list):创建新的列表,并排序,不改变原列表顺序。

 

>>>sorted([x.lower() for x in List7], reverse=True)

['abe','abd','abc']

列表取值用法:

>>>info=['myname',18,[1997,9,7]]

>>>_name,_age,_birth=info

......

>>>_name,_age,(_birth_y,_birth_m,_birth_d) =info

......

print('hello world')

 

[展开全文]

键(除了列表和元祖)

Dict={'a':97,'A':65}

要读取时用Dict['a']

{}作为输出格式

len()

'a' in Dict判断的是有没有这个键

Dict.keys()可以列出所有的键

在2位列表

在3为dict_keys(['a','A'])

用list(Dict.keys())结果为列表

Dict['brunch']=98会增加或者['a','d']

del

list(Dict.balues())可以取值

list(Dict.items())

形成元祖[('a',97),('A',65)]

Dict.get('b')可以判断有没有

Dict.get('b',0)0是自己设的没有时返回0

有时返回键对应的值

可以这样创建dict(['name','Abby'),('age',24)])

或者这样初始化所有key的值

dict.fromkeys(['eggs','bake'],0)这里的dict类似于函数

max时比较键的字母大小

zip(q.values(),q.keys())不会改变原来

将键与值颠倒

这时再用max就行

[展开全文]

导入模块的方式:

  1. from modname import funcname
  2. import modname
  3. import modname as name

数据运算时存在类型的转换。

等级低的向等级高的转换(精度)。

 

is 是判断两个标识符是不是引用自一个对象。

 

is not 是判断两个标识符是不是引用自不同对象。

 

比较运算符的连续性。

如:1 < 2 < 3等同于1 < 2 and 2 < 3

 

pow(a , b):a的b次方,等同于**,幂函数。

abs():结果为整形,绝对值

fabs():结果为浮点数,绝对值

round:如果距离两边一样远,会保留到偶数的一边,四舍五入

ceil,floor:向上、向下取整(math)

int,bin,oct,hex,float等:格式转换

random:随机函数(random)。

cmp:当前面的数值小,结果是-1;一样的时
候结果为0,前面的数值大的时候结果为1,比较函数(*2.x)。

log:算出自然对数(math)。

log10:算出底数为10的对数(math)。

max,min:选出所有数字中的最大,最小值。
modf:对浮点数分成小数部分和整数部分(math)。
sqrt:结果为浮点数,算术平方根(math)。

 

取自定义数里的随机数(多个元素)

  1. random.choice((1,2,3,4,5))
  2. random.sample((1,2,3,4,5),2)

获取N位随机数(二进制):
random.getrandbits(200)

modf()把浮点数的整数位和小数位
单独取出来:

 

log()默认的底数是e。

log(a,b)b为底数。

 

Decimal模块来解决精度问题。

 

用format来格式化输出。

 

 

 

 

 

 

 

 

 

[展开全文]

list.insert(2,'')

.pop(2)

del list[0]

del list[1:]删除切片

list2=sorted(list)会生成一个新的列表

sorted([x.lower() for x in list],reverse=True)

info=['name',18,[1997,9,7]]

_name,_age,_birth=info

可以这样赋值

也可以

_name,_age,(_birth_y,_birth_m,_birth_d)=info

_开头防止和系统变量重名

py3 *_a可以存放后面多个,形成一个列表

这多个变量中只有一个可以带*

from collections import deque

q=deque(maxlen=5)

可以设置最长长度

再加会将第一个除掉

.appendleft(1)会除掉最右的应为设置了maxlen

min(l)

max()

from heapq import nlargest,nsmallest

nlargest(3,list)可以着最大3个

sum(list)可以算总值

为切片命名

_slice1=slice(1,3)slice是一个函数

from collections import Counter

计算重复数

counter_list=Counter(list)

会形成一个元组列举出每个元素的重复数

counter_list.most_common(2)

会列举出最多的两个

可以用counter_list.update(['a','a','b'])来更新

 

 

[展开全文]

ord函数:把字符转化为数字

chr函数:把数字转化为单个字符

[展开全文]

类代码编写:实例对象是具体的元素

类接口技术:super:超类,定义所有子类的需要的变量

Inheritor:完全继承,没有任何修改的子类

Replacer:继承超类后,修改一些变量的子类

Extender:在继承超类的基础上,自己添加了其他变量的子类

 

[展开全文]

宏观蓝图——2:

oop-属性继承搜索:查找当前,查找先继承的,查找其他

 

[展开全文]

列表

l[0:3]它取的是右开区间,所以只会取到2

print(i,end=' ')可以用空格隔开for循环的输出,而不用换行

list=[c*4 for c in 'adfada']就会将重复4次的字符串作为列表元素

list(map(abs,[-1,-32,0]))

可以产生一个绝对值列表

嵌套可以产生矩阵

字符串不可以修改,而列表却可以

list.append()可以增加元素

list.sort可以派列,按照字母顺序

list.sort(key=str.lower)这样就可以先按照小写字母来排序

list.sort(reverse=True)就可以

+和extend(list2)一样

.pop取最后一个值,会消失

 

[展开全文]

异常基础:

异常处理:try/except:捕捉由python或你引起的异常并恢复

try/finally:无论异常是否发生,执行清理行为

raise:手动在代码中触发异常

assert:有条件地在程序代码中触发异常

with/as:实现环境管理

 

 

[展开全文]

高级模块话题:

在模块中因此数据:隐藏某些文件,可以使用如下方式:1.在__init__.py中使用变量__all__来限制导入的模块(变量)名。2.在使用下划线(_)开头的作为变量,就不会被导入了。

单元测试:__name__

[展开全文]

模块包:

包导入基础:包导入与模块导入相似,可以直接导入模块包,使用.来使用相应模块,也可以用点来分割目录。

__init__.py包文件:包导入的路径中的每个目录都必须有__init__.py文件,否则会报错。

 

[展开全文]

模块代码编写基础:模块的使用:from/import语句,是用来导入部分变量、模块的。

from语句:可以指定要导入的具体变量(属性)。导入多个变量(属性)的时候,可以使用逗号分隔,或者使用from<module_name>import*来导入所有变量(属性),导入只发生一次

import与from是赋值语句:import与from是可执行语句。可嵌套在if,得分等语句里,直到执行该语句时才会进行解析。

import将整个模块对象赋值给一个变量名

from

[展开全文]

模块的宏伟蓝图:模块是最高级别的程序组织单元,它将程序代码和数据封装起来以便重用。模块由两个语句和一个重要的内置函数进行处理。

使用模块的意义:1.代码重用;2.系统命名空间的划分;3.实现共享服务和数据。

import如何工作:1.找到模块文件;2.编译成位码(需要时);3.

[展开全文]

函数的高级话题:函数可以跨模块,以参数形势等传递

匿名函数:lambda  lambda会生成函数对象,但不赋值给任何变量,lambda作用域与函数相当,也遵循LEGB原则。

在序列中映射函数:map:map的第一个传递参数是函数,第二个是可迭代的对象,每个对象当做函数的输入,输出结合为可迭代的对象

函数式编程工具(1):filter:filter与map相似,但是真对返回的bool结果判断,结果为真,保留元素;结果为假,弃用元素。结果也是保存在可迭代的对象里

函数式编程工具(2):reduce:reduce函数是在functools里的,因此我们得import这个函数。这个方法是,第一次从可迭代对象里提取两个元素当做函数的参数传入,按前面的函数进行运算,保存返回值,当可迭代对象里还有元素的时候,之前的返回值作为第一个参数,可迭代对象里取下一个继续运算,

[展开全文]

必须使用关键字传递:在python2.x里,参数顺序必须是0个或多个常规参数+0个或一个*args+0个或一个**args;在python3.0里,使用方法是0个或多个常规参数+*或*args+“必须使用关键字传递的参数”+0个或1个**args。

特殊

[展开全文]

参数:argement或parameter,对象作为输入值传递给函数的方式。不可变对象“通过值”进行传递——数值、字符串等;可变对象是通过“指针”进行传递——列表、字典等。

参数传递——避免可变参数的修改:b[:]方式会生成一个列表对象

参数传递——输出对象方法:可以使用return来进行参数的输出

注:传递参数时,请注意顺序:非关键字参数>关键字参数>字典参数

特定的参数匹配模型——常规参数函数:当调用常规参数函数时,可以使用常规参数调用、关键字参数调用、迭代调用与字典调用。

可变参数函数:可以传递任意个参数(包涵0个),*args方法是把所有常规参数调用与迭代调用放进一个元祖里;**args方式是把任意个关键字参数与字典调用方式存放在变量名为args的字典里。

[展开全文]

import re

re.findall('replace','Replace,replace,REPLACE',flags=re.IGNORECASE)如果没有最后一个是要看大小写的

re.sub(a,b,c,flags=re.IGNORECASE)这是将c里面所有的a换成b

r=re.compile(r'****')生成的是一种正则表达式r'\"(.*?)\"'这是最短匹配加()可以只获得括号内的东西可以不用'/\*(.*?)\*/’两边的

匹配多行要两边的/

r.findall(text) /\*((?:.|\n)*?)\*/

或者用'/\*(.*?)\*/’,re.DOTALL就可以多行匹配,第二种更好

print('a','b')

结果为元组

import textwrap

textwrap.fill(zifuchuan,40)每40个换一行

不会分开单词

 

[展开全文]