Python的简单使用
Posted 搬砖小天使
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python的简单使用相关的知识,希望对你有一定的参考价值。
python简介
1、python是一种解释性语言,不需要编译,类似于php
2、Python是交互式语言,可以直接执行python进入交互页面
3、面向对象编程
如果输出有中文需要指定编码
# -*- coding: UTF-8 -*-
如何运行python
第一行代码#!/usr/bin/env python作用用来指定Python的解释器
可以写成 ./test.py运行文件否则报错
也可以python test.py运行
b=a和b=a[:]区别
b=a将两者指向同一个对象
b=a[:]会创建一个新的与a完全相同的对象,但是与a并不指向同一对象。
import sys的作用与用法
import sys 引入 python 标准库中的 sys.py 模块;这是引入某一模块的方法。
用法
sys.argv 是一个包含命令行参数的列表。
sys.path 包含了一个 Python 解释器自动查找所需模块的路径的列表。
sys.exit()退出程序
sys.version()获取版本信息
sys.maxint()获取最大值
sys.platform()返回模块的搜索路径
sys.getrecursionlimt()获取最大递归层级
import os的作用 详情见手册
os 模块提供了非常丰富的方法用来处理文件和目录
什么是i/o操作
nonlocal声明的变量不是局部变量,也不是全局变量,而是外部嵌套函数内的变量。
global修改全局变量
元组和集合是不可以修改,数组和列表和字典都可以修改,元组不能修改也不能追加,除非元组里面有数组,可以更改数组
python内置函数的调用
# 内置函数的调用 from functools import wraps def test(fun): # *:元组 **:字典 内置函数 @wraps(fun) # 必须要引用warps来确保原函数在使用装饰器时不改变自身的函数名及应有属性。 def warp(*args, **kwargs): print("this is begin...") fun(*args, **kwargs) print("this is end...") return warp # 对handle_event方法进行包装 @test def handle_event(*args, **kwargs): print("this is service") handle_event() #输出结果 this is begin... this is service this is end...
nonloca的使用
# nonlocal的使用
def handle_test():
num = 10
def inner():
nonlocal num
num = 100
print(num)
inner()
print(num)
handle_test() # 100 100
取出数组中的key,val值
for key,val in enumerate(names): print(names[key], scores[key])
取出字典dict中的key,val值
for key,val in dict.items(): print(key,val)
获取字典dict中所有的value
# 获取所有的value for val in d.values(): print(val)
set的简单使用,使用set去重,求交集、差集、并集
x = set(\'hobby\') y = set(\'rabbit\') # 集合中重复的值会被删除 {\'b\', \'o\', \'y\', \'h\'} {\'a\', \'i\', \'b\', \'t\', \'r\'} print(x,y) # 并集 b {\'o\', \'a\', \'y\', \'h\', \'i\', \'b\', \'t\', \'r\'} print(x | y) # 交集 {\'b\'} print(x & y) # 差集 {\'o\', \'h\', \'y\'} print(x - y) print(y-x)
set区分大小写
# set是区分大小写的 输出:bob不是我们班的同学 students = set([\'Alices\', \'Bob\', \'Candy\', \'David\', \'Ellena\']) # 请问\'bob\'是班里面的同学吗? if \'bob\' in students: print(\'True\') else: print(\'{}不是我们班的同学\'.format(\'bob\'))
# 请问\'bob\'是班里面的同学吗? # 由于name_set不能识别小写的名字,请改进name_set,是小写的名字也能判断在name_set里面。 names_bob = \'bob\' for keys in students: keys = keys.lower() if \'bob\' in keys: print(\'{}是我们班同学\'.format(names_bob))
给集合追加、删除、清空元素
# 给集合追加一个元素 students.add(\'insert\') # 给元素追加多个元素 ins_list = [\'one\', \'two\', \'three\'] students.update(ins_list) print(students)
# 删除set中的元素
students.remove(\'one\')
print(students)
# discard,删除集合中没有的元素不会报错
students.discard(\'two\')
print(students)
# 清空set中所有的元素
students.clear()
print(students)
*args和**kwargs的区别:元组和字典的区别
# 编写一个函数,它接受关键字参数names,gender,age三个list,分别包含同学的名字、性别和年龄,请分别把每个同学的名字、性别和年龄打印出来 def info(**kwargs): names = kwargs[\'names\'] gender_list = kwargs[\'gender\'] age_list = kwargs[\'age\'] index = 0 for name in names: gender = gender_list[index] age = age_list[index] print(\'name: {}, gender: {}, age: {}\'.format(name, gender, age)) index += 1 info(names = [\'Alice\', \'Bob\', \'Candy\'], gender = [\'girl\', \'boy\', \'girl\'], age = [16, 17, 15])
def average(*args): sum = 0 if len(args) == 0: return sum for item in args: sum += item avg = sum / len(args) return avg
average(1, 2) # ==> 1.5 average(1, 2, 2, 3, 4) # ==> 2.4
请练习定义一个动物类,并创建出两个实例dog
, cat
,打印实例,再比较两个实例是否相等。
class Person: count = 0 count_self = 0 def __init__(self, name, age): self.name = name self.age = age # Person.count相当于静态变量,是类的变量,初始值为0,实例化一次+1 # self.count 是实例的变量,也叫对象的变量。如果这样写,不会计数 Person.count += 1 xiao_xue = Person(\'xiaoxue\', 18) xiao_ming = Person(\'xiaoming\', 19) print(Person.count)
format语法
# <内容居左 一共10个字符 不足10个用“=”填充 效果:开始执行====== str1 = \'{x:=<10}\'.format(x=\'开始执行\') print(str1) # >内容居右 一共10个字符 不足10个用“=”填充 效果:======开始执行 str2 = \'{x:=>10}\'.format(x=\'开始执行\') print(str2) # ^内容居中 一共10个字符 不足10个用“=”填充 效果:===开始执行=== str3 = \'{x:=^10}\'.format(x=\'开始执行\') print(str3) # 保留三位小数 四舍五入 str4 = \'{salary:.3f}\'.format(salary=123123.123956) print(str4)
‘f语法
# f\'语法 # 如何给f字符串中变量值加{} x = \'egon\' y = 18 res = f\'name:{{{x}}} age:{y}\' print(res) # 如何给f字符串中运算 res = f\'{10 + 3}\' print(res)
以上是关于Python的简单使用的主要内容,如果未能解决你的问题,请参考以下文章