python语法学习笔记2

1.生成随机数
from random import randint
player_life = randint(100,150)
import random
#--------------------------------------------------------------------------------------------------#
2.随机选取元素
(1)随机选取元素
import random # 调用random模块

a = random.random()  # 随机从0-1之间抽取一个小数
print(a)

a = random.randint(0,100)  # 随机从0-100之间抽取一个数字
print(a)

a = random.choice('abcdefg')  # 随机从字符串/列表/字典等对象中抽取一个元素(可能会重复)
print(a)

a = random.sample('abcdefg', 3) # 随机从字符串/列表/字典等对象中抽取多个不重复的元素
print(a)

items = [1, 2, 3, 4, 5, 6]  # “随机洗牌”,比如打乱列表
random.shuffle(items)
print(items)
(2) string模块返回元素字符串
#返回大写字母+小写字母a-z,A-Z
string.ascii_letters
打印:'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
#返回小写字母a-z
string.ascii_lowercase
打印:'abcdefghijklmnopqrstuvwxyz'
#返回大写字母A-Z
string.ascii_uppercase
打印:'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
#返回数字,0-9
string.digits
打印:'0123456789'
#string模块详细链接
https://cloud.tencent.com/developer/article/1344618

#--------------------------------------------------------------------------------------------------#
3.延时函数
import time
(1)延时
time.sleep(1)
(2)时间戳
time.strftime("%Y-%m-%d-%H-%M-%S", time.localtime())
#--------------------------------------------------------------------------------------------------#
4.重新循环
continue
退出循环:break
#--------------------------------------------------------------------------------------------------#
5.列表
(1)列表排序(升序)
a=[4,5,3,2]
a.sort()
列表排序(降序)
a.sort(comp)
(2)列表删除
del a[0]
(3)列表添加
a.append(“元素”)
()
a.index(“元素”) # 返回索引

#--------------------------------------------------------------------------------------------------#
6.字符串处理
(1)分割
以下实例以 # 号为分隔符,指定第二个参数为 1,返回两个参数列表。
txt = “Google#Runoob#Taobao#Facebook”
# 第二个参数为 1,返回两个参数列表
x = txt.split("#", 1)
print x
以上实例输出结果如下:
[‘Google’, ‘Runoob#Taobao#Facebook’]
(2) 替换
replace(“str1”,“str2”,max)
m = “aaaaaaaaaaaaaaa”
n = m.replace(“a”,“b”,5)
print(m)
print(n)
#把 将字符串中的 a 替换成 b,如果 max 指定,则替换不超过 max 次。
以上实例输出结果如下:
aaaaaaaaaaaaaaa
bbbbbaaaaaaaaaa
(3)去掉字符串两边多余的空格
a = " chen "
a = a.strip()
print(a)
输出:
chen
(4).upper() # 功能将字符串中的小写字母转换为大写字母
(5).lower() # 功能将字符串中的大写字母转换为小写字母
#--------------------------------------------------------------------------------------------------#
7.异常处理
try:
age = int(input(‘请输入一个整数:’))
except ValueError as e:
print(‘处理捕捉到的错误异常{e}’)
else:
print(“如果try下面的代码没有发生异常那么就执行else下面的代码,如果发生异常就不执行”)
finally:
print(“不管try下面的代码是否遇到异常finally下面的代码一定会执行”)

except AttributeError and ValueError:#错误类型可以用and连接

#--------------------------------------------------------------------------------------------------#
8.字典
(1)遍历字典 .items()
dict = {‘老大’:‘15岁’,‘老二’:‘14岁’,‘老四’:‘1岁’}
print(dict.items())
for key,values in dict.items():
print(key + ‘已经’ + values + ‘了’)
(2)删除字典 del
del dict[‘Name’] # 删除键 ‘Name’
del dict #删除字典
(3)删除字典 .pop()方法
dic.pop(‘老五’)#此时如果没有老五的key,就会报错 KeyError: ‘老五’
print(dict)
print(dict.pop(‘老五’,‘没有’)) #此时虽然找不到‘老五’key,但是不会报错,并且将‘henan’返回
print(dict)             #此时字典没有被改变 :{‘老大’:‘15岁’,‘老二’:‘14岁’,‘老四’:‘1岁’}
(4)随机删除字典元素 .popitem()方法
dict.popitem()
#--------------------------------------------------------------------------------------------------#
9.类
(1).#创建类属性和类方法
class 智能机器人():
智商 = 200
def 打招呼():
print(‘主人你好!’)
print(智能机器人.智商)
智能机器人.打招呼()
(2).使用类类属性和类方法
class 幸运():
@classmethod
def 好运翻倍(cls):
print(“好的我把它存起来了然后翻了888倍给你%s”%cls.幸运数)

	幸运.幸运数 = input("输入你的幸运数")
	幸运.好运翻倍()
	# 请直接运行和体验代码
	(3).类实例化(1.当类支持实例化的时候,就不能再直接使用类方法了 ;
				 2.在类中可以修改属性,实例类也会随之变化,
				 3.实例化的类中可以在实例中修改属性,但不能修改方法 ,
				 4.修改实例属性后该属性不会在被类修改;)
	class 成绩单():
		def 录入成绩单(self):
			self.学生姓名 = input('请输入学生姓名:')
			self.语文_成绩 = int(input('请输入语文成绩:'))
			self.数学_成绩 = int(input('请输入数学成绩:'))

		def 打印成绩单(self):
			print(self.学生姓名 + '的成绩单如下:')
			print('语文成绩:'+ str(self.语文_成绩))
			print('数学成绩:'+ str(self.数学_成绩))


	成绩单1 = 成绩单() # 实例化,得到实例对象“成绩单1”
	成绩单2 = 成绩单() # 实例化,得到实例对象“成绩单2”
	成绩单3 = 成绩单() # 实例化,得到实例对象“成绩单3”

	print('现在开始录入三份成绩单:')
	成绩单1.录入成绩单()
	成绩单2.录入成绩单()
	成绩单3.录入成绩单()

	print('现在开始打印三份成绩单:')
	成绩单1.打印成绩单()
	成绩单2.打印成绩单()
	成绩单3.打印成绩单()
(4).初始化函数(当你创建一个实例的时候,这个函数就会被调用)
	class 类():
		def __init__(self):
			print('实例化成功!')
	实例 = 类()
(5)类的继承,和重写
	class 父类():
		def __init__(self):
			pass
		
		def han():
			pass
		
	class 子类(父类)
		def han():
			pass
	子类继承了父类的所有方法,同时又重写了父类的第二个方法
	
(6)类的超继承
	class 父类():
		def __init__(self):
			pass
		
		def han():
			pass
		
	class 子类(父类)
		super().__init__  #类的超继承相当于,在子类中调用父类的方法
	
(7)类的多重继承
	class 父类1():
			def __init__(self):
				pass
			
			def han():
				pass
	class 父类2():
			def __init__(self):
				pass
			
			def han():
				pass					
	class 父类3():
			def __init__(self):
				pass
			
			def han():
				pass					
			
	class 子类(父类1,父类2,父类3)
		pass			#多重继承时若多个父类方法重名,继承的是第一个父类的方法
			
(8)修饰器			
staticmethod 静态方法,如果声明 此类中的某一个def a()为静态方法,那么可以不用实例化就能直接调用
classmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等。

#--------------------------------------------------------------------------------------------------#
10.文件编码和解码
(1)编码
name = ‘陈永奇’
name_utf8 = name.encode(‘utf-8’)
print(name_utf8)

(2)解码
name = b'\xe9\x99\x88\xe6\xb0\xb8\xe5\xa5\x87'
name_u8 = name.decode('utf-8')
print(name_u8)

#--------------------------------------------------------------------------------------------------#
11.文件读写
(1)文件读写:
f1 = open(’./1.txt’,‘a’,encoding=‘utf-8’)
#以追加的方式打开一个文件,./为返回上一级每加一个.返回一级
f1.write(‘难念的经’)
#写入’难念的经’的字符串
f1.close()
#关闭文件

	f2 = open('./1.txt','r',encoding='utf-8')
	#以读的方式打开这个文件
	content = f2.read()
	#把读取到的内容放在变量content里面
	print(content)
	#打印变量content
	f2.close()
	#关闭文件
(2)文件读写with
	# 使用with关键字的写法
	with open('abc.txt','a') as file1:  #with open('文件地址','读写模式') as 变量名:  #格式:冒号不能丢
		file1.write('张无忌')  #格式:对文件的操作要缩进 #格式:无需用close()关闭
(3).readlines() #逐行读取
(4).writelines() #逐行写入
(5)split()  #使用split()来把字符串分开,它会按空格把字符串里面的内容分开。	
(6)join()  #join()函数,是把字符串合并的。
	a=['c','a','t']
	b=''
	print(b.join(a))
	c='-'
	print(c.join(a))

#--------------------------------------------------------------------------------------------------#
12. (1)导入模块
from test import a,hi,Go1,Go2
(2)当xx.py文件被直接运行时,代码块②将被运行”,
“xx.py文件作为模块是被其他程序导入时,代码块②不被运行。

代码块 ①……
if __name__ == '__main__':
	代码块 ②……

#--------------------------------------------------------------------------------------------------#
13.延时函数
import time
(1)延时
print(‘第一句话,过两秒出现第二句。’)
time.sleep(2)
print(‘第二句话。’)
(2)时间戳
print(time.strftime("%Y-%m-%d-%H-%M-%S", time.localtime()))

#--------------------------------------------------------------------------------------------------#
14. 我们还可以使用dir()函数查看一个模块,看看它里面有什么变量、函数、类、类方法。
甚至不是模块,我们也可以用这种方式自学:dir(x),可以查询到x相关的函数,x可以是模块,也可以是任意一种对象。
#--------------------------------------------------------------------------------------------------#
15.quote() #url编码函数
#屏蔽特殊的字符、比如如果url里面的空格!url里面是不允许出现空格的。
按照标准, URL 只允许一部分 ASCII 字符(数字字母和部分符号),其他的字符(如汉字)是不符合 URL 标准的。
所以 URL 中使用其他字符就需要进行 URL 编码。
URL 中传参数的部分(query String),格式是:
name1=value1&name2=value2&name3=value3
假如你的 name 或者 value 值中有『&』或者『=』等符号,就当然会有问题。所以URL中的参数字符串也需要把『&=』等符号进行编码。
URL编码的方式是把需要编码的字符转化为 %xx 的形式。通常 URL 编码是基于 UTF-8 的(当然这和浏览器平台有关)。
例子:
比如『我』,unicode 为 0x6211, UTF-8 编码为 0xE6 0x88 0x91,URL 编码就是%E6%88%91

  1. json模块
    import json
    a = ‘{“a”:1,“b”:2}’
    value = json.loads(字符串) # 字符串(JSON格式)转字典

    a = {“a”:1,“b”:2}
    value = json.dumps(字典) # 字典转字符串(json),注意:字典里面的引号一定要用双引号

#--------------------------------------------------------------------------------------------------#
17.Python内置方法和内置函数
#方法
(1).upper() # 功能将字符串中的小写字母转换为大写字母
(2).lower() # 功能将字符串中的大写字母转换为小写字母
(3).reverse() #倒叙,反置列表
(4).sort() # 列表排序正序小->大 .sort(reverse=True)# 列表排序反序大->小

#函数
(1)set(value)  #集合
(2)list()  # 列表
(3)id()  # 返回变量地址
(4)isinstance(object, classinfo) # 函数来判断一个对象是否是一个已知的类型,类似        type(),如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False
(5)getattr(类名, “类属性”, “默认值”)  # 动态获取变量,若变量不存在则取默认值若不传默认为None
(6)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值