python入门简单教学

python引入

相信大家都对python有所耳闻,这是一门简单且使用广泛的语言,相信掌握了这门语言的你会得到不小的提升。

python入门

在这里我们使用pycharm作为python的开发环境,pycharm简单易用在这里我就不多解释了。

神奇的"Hello world"

相信学习个C语言的人都对"hello world"印象深刻,这个简单的程序几乎是所有编程人员的入门程序,相较于C语言的来编写"hello world"python更加简洁。

print("hello world")

是不是很简洁?用python只用一行就打出了hello world。

数据类型与变量

数据类型

python默认拥有七种类型:

1 数字(num):整数,浮点数,复数

2 布尔(bool):True/False

3 字符串类型(str):字符序列

4 列表类型(list):有序的值的序列

5 元祖类型(tuple):有序的值得序列且不可改变

6 集合类型(set):无序的不含重复值得序列

7 字典类型(dict):无序的键值对的组合

数字类型就是整数,小数之类的数值

布尔类型只有True和False,它可以用and,or,not来计算

其他的类型我们在后续会相应的学到。

变量

变量不仅是数字还可以是其它的类型。但注意:变量不能以数字开头,其它没什么要求。 如:## ##

a=1 就是数字类型

a="sdafdsad" 就是字符串类型

可以用type()函数来验证python中的任意对象类型

x='dandk'
y='123'
print(type(x))
print(type(x))

类型转换

int()表示将数据转换为整形

float()表示将数据转换为浮点型

str()表示将数据转换为字符串

实例:

整数

x=int(2.8)
y=int('25')
z=int(2)
print(x)
print(y)
print(z)

浮点数

x=float(2.8)
y=float(2)
z=float('25')
printf(x)
print(y)
print(z)

字符串

x=str(2)
y=str(2.8)
z=str(ds)
printf(x)
print(y)
print(z)

list

list是一种有序的集合,在python它被叫做列表,但在C语言中它相当于数组。

list1=['ni','zheng','shuaiqi']
print(list1)

索引

变量list1就是一个list,你可以通过下标索引来访问元素

list1=['ni','zheng','shuaiqi']
pint(list1[2])

这里你要注意,2表示的是第三号元素,第一号元素是从0开始的。

如果你要从最后一个元素开始索引你可以下标写为-1

list1=['ni','zheng','shuaiqi','sdnkan','k2ad']
print(list1[-1])

你也可以指定从第几个元素到第几个元素输出 list1=['ni','zheng','shuaiqi'] print(list[1:4])

如果你是从第一个元素开始索引你也可以省略

list1=['ni','zheng','shuaiqi']
print(list1[:2])

如果你是索引到最后一个元素你也可以省略

list1=['ni','zheng','shuaiqi']
print(list1[1:])

同样的你也可以从后往前索引,这都是一样的,你只要用负数索引就OK了。

更改项目值

使用索引就可以更改元素值

list1=['ni','zheng','shuaiqi']
list1[1]='damkm'

确认列表中有多少项

你可以使用len()方法

list1=['ni','zheng','shuaiqi']
print(len(list1))

元组

元组是有序且不可更改的集合。在 Python 中,元组是用圆括号编写的。

tuple=('you','are','handsome')
print(tuple)

在元组中也可以通过下标访问元组中的项目

tuple=('you','are','handsome')
print(tuple[1])

同样的,元组中也可以负索引

tuple=('you','are','handsome')
print(tuple[-1])

范围索引也是可以的,你既可以正索引,你也可以负索引

tuple=('you','are','handsome')
print(tuple[0:2])
print(tuple[-1:0])

可以使用len()函数来确定元组中有多少项

tuple=('you','are','handsome')
print(len(tuple))

如果元组中只有一个项目,那必须在项目后面加上','

tuple=('you',)
tuple1=('you')
print(type(tuple))
print(type(tuple1))

元组是可以合并的,使用 + 就可以合并元组

tuple1=('you','are','handsome')
tuple2=('you','are','beautiful')
tuple=tuple1 + tuple2
print(tuple)

集合

在python中集合用花括号表示

set={'you','are','handsome'}
print(set)

集合无法通过索引来访问其中的项目,这是因为set是无序的,但我们可以通过循环来访问,我们在后面学习循环是会提到。

更改项目

集合是无法更改项目的,但是你可以添加新的项目

python中有add()方法,此方法用于给集合添加一个项目

python中有update()方法,此方法用于给集合添加多个项目

实例

add():

set={'you','are','handsome'}
set.add('too')
print(set)

updata():

set={'you','are','handsome'}
set.update(['you','are','beautiful'])
print(set)

删除

在集合中我们可以使用remove(),discard()或者pop()方法来删除集合中的元素。

可以用clear()方法清空集合

可以用del()方法删除集合

不同

由于pop()是用来删除最后一个项目的,但集合是无序的,所以使用pop()来删除元素相当于是随机删除项目。

如果要删除的项目是不存在的,使用remove()是会报错的,discard()是不会报错的

实例

remove():

set={'you','are','handsome'}
a=set.remove('handsome')
print(a)

discard()

set={'you','are','handsome'}
a=set.discard('handsome')
print(a)

pop():

set={'you','are','handsome'}
a=set.pop()
print(a)

clear():

set={'you','are','handsome'}
a=set.clear()
print(a)

del():

set={'you','are','handsome'}
a=set.del()
print(a)

合并

在集合中我们可以使用union()和update()方法来合并集合

注意

这两种方法都是是随机合并的而且都可以排除重复项

实例

union():

set1={'you','are','handsome'}
set2={'you','are','beautiful'}
a=set1.union(set2)

update():

set1={'you','are','handsome'}
set2={'you','are','beautiful'}
a=set1.update(set2)

字典

字典是特殊的集合,它是无序但可变的集合

dictionary={"you":"handsome","she":"beautiful","he":"第三者"}
print(dictionary)

在字典中我们直接使用键名来访问项目

dictionary={"you":"handsome","she":"beautiful","he":"第三者"}
print(dictionary["you"])
print(dictionary.get("she"))

在字典中我们直接通过键值修改项目

dictionary={"you":"handsome","she":"beautiful","he":"第三者"}
dictionary["you"]="love"

用循环可以打印出字典中的使用项目,我们在后续介绍

用len()方法可以确定字典中的项目数量

dictionary={"you":"handsome","she":"beautiful","he":"第三者"}
print(len(dictionary))

在字典中我们直接添加新的索引来为字典赋值

dictionary={"you":"handsome","she":"beautiful","he":"第三者"}
dictionary["she2"]="第四者"

在字典中我们使用pop(),popitem()方法删除项目,使用pop()删除指定项目,使用popitem()删除最后一个项目

实例

pop():

dictionary={"you":"handsome","she":"beautiful","he":"第三者"}
dictionary.pop("he")
print(dictionary)

popitem():

dictionary={"you":"handsome","she":"beautiful","he":"第三者"}
dictionary.popitem()
print(dictionary)

由于字典是特殊的集合,使用del()和clear()方法也是适用的

复制字典

如果现在有两个字典,我们让dic1=dic2,在这里dic1是对dic2的引用。dic1变化会引起dic2跟着变化,所以我们不能通过简单的dic1=dic2就完成复制

在python中我们可以通过copy()方法来完成字典的复制

dic2={"you":"handsome","she":"beautiful","he":"第三者"}
dic1=dic2.copy()
print(dic1)

也可以使用dic()方法创建副本

dic2={"you":"handsome","she":"beautiful","he":"第三者"}
dic1=dic2.dic()
print(dic1)

在字典中是可以嵌套字典的

dic1={"you":"handsome","she":"beautiful","he":"第三者"}
dic1={"you":"handsome","she":"beautiful","he":"第三者","resylt":"break"}
dic={"dic1":dic1,"dic2":dic2}

条件语句

在python中if...else语句的抽象程度是高于C等语句的,使用python更加灵活多变。

逻辑条件

等于: == 不等于: != 小于: < 小于等于: <= 大于: > 大于等于: >=

简单实例

a=3
b=4
if a>b:
    print("we are brother")
else:
    print("we are enemies")

elif语句

在python中存在elif语句,elif就相当于C语言中的else if语句

a=3
b=4
if a>b:
    print("we are brother")
elif a<b:
    print("we are enemies")

and,or,not

and,or可被用于条件语句。

且: and 或: or

实例

and:

a=3
b=4
c=5
if a>b and a>c:
    print("we are brother")
else:
    print("we are enemies")

or:

a=3
b=4
c=5
if a>b or a>c:
    print("we are brother")
else:
    print("we are enemies")

if语句嵌套和pass语句

if语句是可以嵌套if语句的,但是你要注意缩进

if语句一般不能为空,但如果为空的话,你可以使用pass语句来避免错误

a=3
b=4
if a>b:
    pass
else:
    print("we are brother")

循环语句

循环有while语句和for语句

实例

while:

i=0
a=0
while i<10:
    a=a+i
    i+=1
print(a)

for:

a=0
for i in range(10)
    a+=i
print(a)

else语句

else不仅可以在条件语句中使用,它也可以在while语句和for语句中使用,它在循环结束时起作用

while:

a=10
b=4
i=0
sum=0
while a>b:
    sum+=i
    a++
else:
    print("we are enemies")

for:

sum=0
for i in range(6):
    sum+=i
else:
    print("good!")

break,continue语句

break和continue语句都可以跳出循环,不过两者是有区别的

break是停止循环

continue是跳过本次循环,进入下次循环

pass语句

pass语句可以被用在for语句中,与条件语句一样,for语句无内容时可以用pass语句避免报错

for循环中的range()函数

range(开始, 结束)

当然如果你只在括号中输入一个值,那表示从0开始递增。

for i in range(10)
    print(i)

while语句和for语句循环嵌套

while语句和for语句都是可以实现循环嵌套的,两者也是可以相互嵌套的,我相信这难不倒你

用for语句实现对列表,元组,集合,字典中的项目进行访问

列表:

for i in list:
    print(i)

元组:

for i in tuple:
    print(i)

集合:

for i in set:
    print(i)

字典: 1.打印键名

for x in dictionary:
    print(x)

2.打印字典中的所有值

for x in dictionary
    print(dictionary[x])

3.可以使用values()函数返回字典中的值:

for x in dictionary。values():
        print(x)

4.可以使用items()函数返回键和值:

for x,y in dictionary.items():
    print(x,y)

函数

函数是我们在使用前就编写好的代码,当你编写的程序无比长和复杂时,使用函数可以节省我们的时间,也可以使代码更加简洁。

创建函数

不同的编程语言有着不同的方式创建函数,在python中我们使用 def 来定义函数,我们以经典"hello world"来编写一个函数

def first():
    print("hello world")

调用

调用函数时我们只需要使用函数的名称加上括号即可

def first():
    print("hello world")
first()

参数

在函数中我们是可以设置参数的,参数被添加在括号内

def first(a):
    b = 2
    sum=a+b
    print(sum)
k=first(4)

参数分为形参和实参,在上面的代码中函数里的a为形参,调用时的4位实参

参数个数是可以自己定义的,你只需要在参数的后面加上','即可。

当然如果你不知道要传入的参数个数,你也可以在形参前加上一个*

关键字参数

我们直接看实例:

def family('you','he'):
    print("a family = you girl" + you)

我们也可以在参数前加上来输入任意数量的关键字参数 def first(you): print("a family = you girl" + you[a]) first(a="all")

我们在引用函数时也可以不输入参数,程序会自动引入我们在函数中输入的参数

列表,元组,集合,字典也可以作为参数

返回值

我们可以用return语句返回值

def sum():
    sum1=0
    for i in range(10)
    sum1=sum1+i
    return sum1
sum()

函数不能为空,如果你定义无内容的函数,可以使用pass语句来避免错误

递归

递归是函数的自身调用

我们来看实例

经典的阶乘实例

def factorial(k):
    if(k>0):
        return k*(k-1)
print(factorial(5))

Lambda函数

lambda 函数是一种匿名函数,它可以接受任意数量的参数,但只能有一个表达式。

它的表达也更加简洁。

我们来看实例

x=lambda a,b:a+b
print(x(10,50))

类和对象

创建类

使用class关键字:

class first:
    x=6

创建对象

实例:

class first:
    x=6
a=first()
print(a.x)

在python中有init()函数,所以的类都有init()函数,它将值赋给对象属性。

class Students:
    def __init__(self,name,grades):
        self.name = name
        self.grades = grades
a = students('jion',111)
print(a.name)
print(a.grades)

每次使用类创建新对象时,都会自动调用init()函数,注意前后都是两个下划线。

我们也可以在类中插入函数

class Students:
    def __init__(self,name,grades):
        self.name = name
        self.grades = grades

    def others(self):
        print(self.name + " are good!")
a = students('jion',111)
a.others()

self必须是首个参数,但你不必命名它,且你可以随意调用。

对象的属性是可以修改的,就如上面的代码,你可以让 a.grades = 55 来修改成绩

del函数可以删除对象:

del a

class的定义也是不能为空的,可以使用pass来避免报错

继承

在python中我们可以让一个类来继承另一个类的方法和属性,被继承的类是父类也叫基类,继承的类叫子类也叫派生类

创建父类和子类

父类:

class Students:
    def __init__(self,name,grades):
        self.name = name
        self.grades = grades

    def others(self):
        print(self.name + " are good!")
a = students('jion',111)
print(a.name)
print(a.grades)

子类:

class Students:
    def __init__(self,name,grades):
        self.name = name
        self.grades = grades

    def others(self):
        print(self.name + " are good!")

class children(students):
    pass
a = children('jion',111)
print(a.name)
print(a.grades)

子类中也是可以添加init()函数,但子类将不会继承父类的init()函数,当然如果你想保留父类的init()函数,你可以添加对父类的声明

class Children(students):
    def __init__(self,friend,happy)
        students.__init__(self,name,grades)

在python中还有super()函数,它可以使子类继承父类的方法和属性

class children(students):
    def __init__(self,friend,happy)
        super().__init__(name,grades)

迭代

迭代器是可迭代的对象,它包含方法iter()和next()。

迭代器和可迭代对象

列表,元组,字典,集合甚至字符串都是可迭代对象,它们都有获得迭代器的iter()方法

我们从元组返回一个迭代器

all = ("red","green","brown")
my = iter(all)
print(next(my))
print(next(my))
print(next(my))

我们也可以用for循环来返回

all = ("red","green","brown")
for i in all:
    print(i)

我们也可以创建一个迭代器,这需要同时用到iter()和next()方法

iter()有着与init()相同的作用,但它必须始终返回迭代器本身。

class   Students:
    def __iter__(self):
        self.a=1
        return self

    def __next__(self):
        x=self.a
        self.a+=1
        return x
    A=Students()
    B=iter(A)
    print(next(A))
    print(next(A))
    print(next(A))
    print(next(A))
    print(next(A))

如果你有足够的 next() 语句,或者在 for 循环中使用,则上面的例子将永远进行下去。

为了防止迭代永远进行,我们可以使用 StopIteration 语句。

完结

学到这里你的python基本算是入门了,这里给大家总结一下一些有用的东西

列表方法 Python 有一组可以在列表上使用的内建方法。

方法 描述 append() 在列表的末尾添加一个元素 clear() 删除列表中的所有元素 copy() 返回列表的副本 count() 返回具有指定值的元素数量。 extend() 将列表元素(或任何可迭代的元素)添加到当前列表的末尾 index() 返回具有指定值的第一个元素的索引 insert() 在指定位置添加元素 pop() 删除指定位置的元素 remove() 删除具有指定值的项目 reverse() 颠倒列表的顺序 sort() 对列表进行排序

元组方法 Python 提供两个可以在元组上使用的内建方法。

方法 描述

count() 返回元组中指定值出现的次数。

index() 在元组中搜索指定的值并返回它被找到的位置。

Set 方法

Python 拥有一套能够在集合(set)上使用的内建方法。

方法 描述

add() 向集合添加元素。

clear() 删除集合中的所有元素。

copy() 返回集合的副本。

difference() 返回包含两个或更多集合之间差异的集合。

difference_update() 删除此集合中也包含在另一个指定集合中的项目。

discard() 删除指定项目。

intersection() 返回为两个其他集合的交集的集合。 intersection_update() 删除此集合中不存在于其他指定集合中的项目。 isdisjoint() 返回两个集合是否有交集。

issubset() 返回另一个集合是否包含此集合。

issuperset() 返回此集合是否包含另一个集合。

pop() 从集合中删除一个元素。

remove() 删除指定元素。

symmetric_difference() 返回具有两组集合的对称差集的集合。

symmetricdifferenceupdate() 插入此集合和另一个集合的对称差集。

union() 返回包含集合并集的集合。

update() 用此集合和其他集合的并集来更新集合。

字典方法

Python 提供一组可以在字典上使用的内建方法。

方法 描述

clear() 删除字典中的所有元素

copy() 返回字典的副本

fromkeys() 返回拥有指定键和值的字典

get() 返回指定键的值

items() 返回包含每个键值对的元组的列表

keys() 返回包含字典键的列表

pop() 删除拥有指定键的元素

popitem() 删除最后插入的键值对

setdefault() 返回指定键的值。如果该键不存在,则插入具有指定值的键。

update() 使用指定的键值对字典进行更新

values() 返回字典中所有值的列表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值