pyhon入门--简单知识点

字符串

修改字符串大小写

s.title()     首字母大写

s.upper()   全部大写

s.lower()   全部小写

+可以合并字符串:  “ada”+”lovelace” çè “adalovelace” 中间没有空格

删除空白

s.rstrip()     删除末尾多余空白

s.lstrip()     删除开头空白

s.strip()     同时剔除两端空白

以上删除操作只是暂时的,需要获取没有空白的字符需要重新存储进变量

 

 

数字

+:加

-:减

*:乘

/:除

**:乘方

str()函数可以将非字符串值表示为字符串:

  age = 24;

  str(age)   // “age is” + “ “ + str(age) 可以   “age is” + “ ” + age  报错—类型不匹配

 

 

注释

Python中使用 # 表示行注释

“””  “”“表示段落注释

 

 

列表

使用[]来创建列表,使用逗号分隔其中元素:

bicycle = [“trek”,”cannondale”,”redline”]

直接打印列表会包含[]---如print(bicycle)

访问列表的元素:

  1. 使用下标:bicycle[0] 即 trek //当列表元素为字符串,还可以调用上面说的字符串方法

下标从0开始,-1表示最后一个元素

对列表中元素做操作:

  1. 修改列表元素

bicycle[0] = “ducati” à bicycle = [“ducati”,”cannondale”,”redline”]

不能对不存在的元素做修改

  1. 增加元素

使用append方法可以在列表末尾增加元素

bicycle.append(“new”)

使用insert方法可以在任意位置添加元素

bicycle.insert(0,”new”)

不能使用下标添加元素

  1. 删除元素

使用del语句删除:

del bicycle[0] – 可以删除任意位置的元素

使用pop方法删除元素—删除列表尾(栈顶)元素

bicycle.pop()

通过给pop方法传递参数也可以删除任意位置的元素

bicycle.pop(0) 即删除bicycle[0]

根据值删除元素—使用remove方法,不知道位置但知道值时可以使用这种方法

bicycle.remove(“ducati”)

值得注意的是remove只删除第一个指定的值,如果多次出现则需要用循环删除

NOTE pop 和 remove方法删除的元素只要赋值给变量就可以再次使用,del则不行

example = bicycle.pop()

组织列表

1、使用sort()方法对列表可以进行永久排序

bicycle.sort()

向sort方法传递参数reverse=True可以反向排序

bicycle.sort(reverse=True)

2、使用sorted函数对列表进行临时排序

sorted(bicycle)

这里bicycle的顺序不变

3、使用方法reverse()可以倒序打印列表

bicycle.reverse() –这里的修改是永久的,想复原再次调用reverse即可

4、使用len函数可以获知列表的长度

len(bicycle)

 

操作列表

  1. 遍历整个列表
  1. 使用for循环

for bicycle in bicycles:

  statement

  1. 使用下标

while i<len(bicycles):

  statement

  1. 创建数值列表

使用range函数可以生成一系列数字

range(1,5)生成 1 2 3 4 注意 5 不会生成

range还使用第三个参数来指定步长:range(2,11,2) 生成 2 4 6 8 10

for value in range(2,11,2):

  print(value)

直接print(range(2,11,2))或num = range(2,11,2) print(num) 都输出range(2,11,2)会将其解释为字符串

使用range就可以创建数字列表:
numbers = list(range(1,6))

此时numbers = [1,2,3,4,5]

同样可以用循环加append方法向列表中添加元素

max()  //列表最大值

min()  //列表最小值

sum()  //列表元素和

以上三个函数用于处理数字列表

max(numbers)

对数字列表的数字列表列表,形如矩阵,max调出的是最大行,max(max())输出列表的最大值,这类似与matlab中矩阵函数,此时不能调用sum(matrixs)

 

列表解析:

squares = [value**2 for value in range(1,11)]

即生成一个1-10的数字平方的列表,类似将for循环加生成列表的表达式组成一句话

详细解析以后在学

 

列表切片—列表的部分元素

创建切片要使用列表的下标,其指示类似range,不会有第二个索引指示的列表元素

newbicycle = bicycle[1:3]

不指示第一个索引默认从0开始

不指示第二个索引默认到末尾

第一个索引为负数,即是从列表为开始计数-3即为倒数第三个

同样可以使用for循环遍历列表切片,形式一样

复制列表就可以使用切片做到,忽略第一和第二个索引即可

newbicycle = bicycles[:]

 

 

元组—类似不可变列表

使用圆括号()创建元组

可以使用下标访问元素

dimensions = (200,50)

dimensions[0]即是200,索引下标还是用[]括起来

值得一提的是虽然不可以修改元组的元素,但是可以给整个元组变量赋新值,如

dimensions = (400,50)

 

 

 

if语句

if conditions :

  statement

elif conditions :

  statement

else :

  statement

可以使用if检查特定值是否在列表中

user = “xxx”

if user (not) in banned_users:

  statement

还可使用if确定列表是否为空

if banned_users :

  statement

如果列表不空,执行statement

 

 

 

字典

字典使用花括号创建

字典是一系列键—值对,每个键都与一个值相关联,值得类型不定,python任何对象都可以做值,键值对之间用逗号隔开

alien_0 = {“color” : “green” , “points” : 5}

这里alien_0就是一个字典,含有两个键值对

访问字典中的值

----使用键可以访问字典中的值

print(alien_0[“color”])

添加键值对

----依次指定字典名,用方括号括起的键和相关联的值

alien_0[“x_position”] = 0

就添加了 “x_position” : 0 这个键值对进alien_0字典中

修改字典中的值

----依次指定字典名,用方括号括起的键以及与键相关联的新值

alien_0[“color”] = “newcolor”

删除键值对

----使用del语句,指定字典名和要删除的键

del alien_0[“points”]

遍历字典

  1. 遍历所有键值对

----使用for循环,items()方法

for key,value in alien_0.items() :

  statement

items方法返回一个键值对列表

  1. 遍历字典中所有键

----使用keys方法

for k in alien_0.keys() :

  statement

按顺序遍历字典中所有键:

----可以在for循环中对返回的键排序:

for k in sorted(alien_0.keys()) :

  statement

  1. 遍历字典中所有值

----使用方法values(返回一个值列表,不包含任何键)

for v in alien_0.values() :

  statement

当值有很多重复,而我们有不需要考虑重复值的时候,可以使用集合来剔除重复项

集合类似于列表,但是每个元素都独一无二,使用set()

for v in set(alien_0.values()) :

  statement

 

关于嵌套,调用只需要一层一层,按照数据组织的方式向下即可

 

 

 

用户输入

  1. input()函数

input()函数让程序暂停运行,等待用户输入,获取输入后,返回一个变量

message = input()

print(message)

input()函数还接受一个参数:向用户显示的提示或说明,如

message = input(“please input your name”)

  1. 用int()来获取数值输入

使用input函数会将输入解读为字符串,这里如果要是获取数值,可以使用int将输入数据转换为数值类型

age = input()

age = int(age) //将字符型age转换成整形,若是浮点数使用float()

如何判断输入字符串是否是数字:

https://www.cnblogs.com/zxmbky/p/9160822.html

更进一步的处理之后学习

 

 

while循环

while conditions :

  statement

break语句同样可以退出while循环----和C一样,continue类似

使用ctrl+C可以强制终止程序运行

 

 

函数

  1. 定义函数

----使用关键字 def

def function_name() :

  statement

def greet_user() :

  “””显示最简单的打印语句”””

  print(“hello”)

向函数传递信息(参数)
括号内为参数列表

def greet_user(username) :

  print(username.title() + “ hello”)

  1. 关于传递参数

1)使用对应位置传递对应实参

2)使用关键字实参

默认值

在编写函数时,可以给每个形参指定默认值,当传递实参时,使用实参值,否则使用指定的默认值

def describe_pet(pet_name,animal_type=’dog’) :

指定的默认值的形参应当放在最后

  1. 关于返回值

----使用return语句返回值

使用默认值可以让实参变成可选的,给默认值不指定任何信息,当给其赋实参值,使用实参值,否则就不会有信息产生

def get_formatted_name(first_name,last_name,middle_name=’’) :

  1. 传递副本

对于传递列表,如果对其操作,列表会被修改,此时可以通过传递副本将原列表保留下来,基本格式如下

function_name(list_name[:])

  1. 传递任意数量的实参

----使用形参*toppings,*表示创建一个名为toppings的空元组,并将收到的所有值都封装到这个元组中

def make_pizza(*toppings) :

make_pizza(“mushroom”,”green peppers”,”extra cheese”)

----这里也可以结合位置实参和任意数量实参

def make_pizza(size,*toppings) :

只有第一个值被存进size,余下传递的所有实参都存入toppings

----使用任意数量的关键字实参,** 两个*表示创建一个空字典

def build_profile(first,last,**user_info) :

这里就创建了一个user_info的字典,并将收到的所有键值对都存入其中,传递键值对可使用如下格式

key_name = “expressions”

  1. 将函数存储进模块

----将函数导入模块使用import,在同一个文件夹下直接import 模块(文件)名即可

使用模块(文件)名.function_name 即可调用相应模块中的方法

----导入特定的模块

from module_name import function_name

通过逗号分割函数名,可以从对应模块中导入任意数量的函数

from mudule_name import function_name1,function_name2,…

----使用as给函数指定别名

from module_name import function_name as fn

----使用as给模块指定别名

import module_name as mn

----导入模块中所有函数(除直接导入模块之外),使用*运算符

from module_name import *

 

 

  1. 创建和使用类

----使用class关键字

class class_name() :

  statement

 

class Dog():

  def _ _ init_ _(self,name,age) :

“””初始化属性name和age”””

self.name = name

self.age = age

         def sit(self) :

           statement

         def roll_over(self) :

           statement

 

方法 _ _ init _ _ () :

类中的函数称为方法,__init__()方法是一个特殊的方法,每当创建dog类的时候,python都会自动运行它,开头和末尾各有两个下划线

这里定义了三个形参,self形参必不可少,并且必须位于其他形参前面。每个与类相关联的方法调用都自动传递实参self,是一个指向实例本身的调用,让实例能访问类中的属性和方法

my_dog = Dog(“willie”,6)

访问属性 :my_dog.name

调用方法 :my_dog.set()

 

修改属性的值

  1. 直接修改
  2. 通过方法修改
  3. 通过方法对属性的值进行递增

 

继承

一个类继承另一个类时,自动获得另一个类的所有属性和方法,原有的类称为父类,新类称为子类

创建子类实例,首先需要给父类的所有属性赋值

class Car():

  statement

class ElectricCar(Car):

  def __init__(self,make,model,year):

super().__init(make,model,year)

创建子类时,父类必须包含在当前文件中,且位于子类前面,定义子类时,必须在括号内指定父类的名称,方法__init__接受创建Car实例所需的信息

super是一个特殊函数,将父类和子类相联系

也可以重写父类方法,在子类中定义这样一个方法:与要重写的父类方法同名,这样python会忽略该父类方法而只关注在子类中定义的相应方法

 

导入类

----同样使用import语句

from module_name import class_name  – 导入单个类

from module_name import class_name1,class_name2,…  -- 导入多个类

import module_name  -- 导入整个模块

 

 

 

文件和异常

with open(“file_name.kind(文件类型)”) as file_object :

  statement

关键字with在不再需要访问文件后将文件关闭

方法read可以读取文件的全部内容

open中也可以加上文件的路径,在windows系统中,文件路径用 \ 而非 /

注意python只能将字符串写入文本文件,要将数值数据存储进文本文件,需要用str将其转换为字符串形式

 

异常(暂略)

 

存储数据

----使用模块json

json.dump()将数据写入文件

json.load()加载文件

 

import json

numbers = [1,2,3]

filename = “numbers.json”

with open(filename,”w”) as f_obj:

  json.dump(numbers,f_obj)

  “””

numbres = json.load(f_obj)   -- 需要在with语句块内完成

  print(numbres)

  “””

 

 

 

测试代码 – 后续用到再详细学习

python标准库中的模块unittest提供了代码测试工具                

单元测试用于核实函数的某个方面没有问题

测试用例是一组单元测试,这些单元测试一起核实函数在各种情形下的行为都符合要求

全覆盖式测试用例包含一整套单元测试

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值