Python入门学习

目录

Python基础与传统语言的区别

Python基础数据类型

1、得到变量的类型,type(变量名)

2、''' ''' 可以定义多行的字符串

3、强制类型转换

4、字符串的操作

Python中的数据处理容器

1、列表list

2、字典dictionary

3、元组

4、集合

Python中的流程控制语句

1、输入语句

2、条件语句

3、循环语句


Python基础与传统语言的区别

        Python的运行速度比较慢。其问题几乎都源于其数据类型的设定。计算机的内存中有两块区域:堆、栈。堆和栈主要区别就是栈内的空间是由系统自动分配和回收的,而且速度较快。而堆的空间是由程序员分配和回收的,例如c/c++中的malloc函数,自由度高,但是速度较慢。

        Python中定义变量时不需要指定数据类型,Python中的变量都可以看做是内存中对象的一个引用。例如我定义了一个string类型的变量a="123",然后定义b和c都="123",这时a、b、c的地址是相同的,都引用了"123"这个对象,"123"这个对象被引用了3次。也就是说a=b这个语句,并没有将b的数值复制给a,而是创建了一个新的对象的引用。

        这点是与C/C++、java很大的不同。当"123"这个对象被引用的次数减为0时,这个对象的内存就会被销毁。

        因为Python中的变量都是动态类型的,所以在Python中执行a+b这个简单的操作就会非常麻烦,因为a和b是一个对象的引用,这个引用本身没有类型,也没有值,是对象有类型、有值。所以在执行a+b是会先检查数据类型,如果能相加,才回去执行相加操作。本身堆的操作就很慢,再加上这么多判断就更慢了。

Python基础数据类型

      Python中定义变量不需要指定数据类型,但是必须赋值,原因就是上面所说的,Python中的变量其实是对象的引用。所以Python中定义变量非常自由。例如这样:

stu_name="李浩梁"
stu_age=21
stu_num='012345'
stu_Gender="男"
stu_result=True
stu_score=78.8
stu_local=None

        有关基本数据类型的操作大概有:

1、得到变量的类型,type(变量名)

i="test"
print(type(i))

输出为:<class 'str'>

2、''' ''' 可以定义多行的字符串

i='''Python
基础
'''
print(i)

输出为

3、强制类型转换

        例如将整型转换为字符串型

i=50
print(str(i))
i="50"
print(int(i))

        强制类型转换并不会改变原来变量的类型

4、字符串的操作

  (1) 字符串拼接

        直接用“+”连接两个字符串变量即可。例如:

num1="123"
num2="456"
print(num1+num2)

输出为“123456”,类型为字符串

  (2) 将字符串复制多次

        在字符串变量后面乘一个数值即可,例如:

num1="123"
num2=num1*3
print(num2)

输出为“123123123”

  (3) 寻找某个子串是否存在

        使用find函数可以判断一个子串是否存在于字符串中,返回值为子串第一次出现的位置

num1="1234567"
print(num1.find("345"))

输出为:2

  (4) 将字符串中的某段子串替换为其他字符串

        replace函数可以将字符串中的某段指定的子串替换为另一个指定的字符串,但只是临时的,这个函数会返回一个替换后的字符串,源字符串不会变。例如:

num1="1234567"
print(num1.replace("23","12"))
print(num1)

输出为:

  (5) 求字符串长度

        __len__()函数可以求字符串长度。例如:

num1="1234567"
print(num1.__len__())

输出为7

  (6) 字符串的切割

        split函数可以按关键字切割字符串,切割后的多个字符串会放在一个list中。例如:

num1="12 34 56 7"
list1=num1.split(" ")
print(list1)

输出为:['12', '34', '56', '7']

  (7) 字符串的索引和切片,字符串可以看成是数组。

        字符串可以通过索引来输出某一段的子串,指定开始位置和结束为止即可,结束位置的字符不会输出。例如:

num1="1234567"
print(num1[2:5])
print(num1[0:5])
print(num1[3:])

输出为:

        也可以倒着数。例如:

num1="1234567"
print(num1[-5:-1])

输出为:3456

        切片也可以拼接。例如:

num1="1234567"
print(num1[0:3]+num1[3:5])

输出为:12345

 

Python中的数据处理容器

1、列表list

        列表可以存储Python中的任何对象。列表中的元素都是可变的,而且是有序的,所以就可以通过索引来访问list。例如:

list_a=[1,1.0,"string",True,print(3),[2,3,4] ]
print(list_a)

输出为:

        print(3)输出为None,但是这个print被执行了一次。

        与list相关的常用操作有:

  (1) 增加一个元素

        append函数可以在列表插入一个元素。insert函数可以指定插入的位置,如果指定的下标不存在或者超过了列表的长度,则会添加到列表末尾。例如:

list_a=[1,1.0,"string",True,print(3),[2,3,4] ]
list_a.append("123")
print(list_a)
list_a.insert(-123,123)
print(list_a)

输出为:

        若想插入多个值,可以将插入的值放入一个列表中,再给原列表中的开头赋值为要插入的列表。例如:

list_a=[1,1.0,"string",True,[2,3,4] ]
list_a[0:0]=[9,8,7]
print(list_a)

输出为:[9, 8, 7, 1, 1.0, 'string', True,  [2, 3, 4]]

  (2) 删除一个元素

        remove函数可以删除指定的元素,按值删除。例如:

>>> str=[1,2,3,4,5,6,7]
>>> str.remove(2)
>>> str
[1, 3, 4, 5, 6, 7]

        pop函数可以按索引删除元素,并返回删除的元素。例如:

>>> str=[1,2,3,4,5,6,7]
>>> str.pop(2)
3

        del可以通过索引删除列表中的元素。例如:

>>> str=[1,2,3,4,5]
>>> del str[1]
>>> print(str)
[1, 3, 4, 5]

  (3) 修改某个元素的值

        list是有序的,所以可以通过索引进行修改。例如:

>>> str=[1,2,3]
>>> str[1]=5
>>> print(str)
[1, 5, 3]

  (4) 列表可以向字符串一样进行索引和切片。例如:

>>> str=[1,2,3,4,5]
>>> print(str[0:3])
[1, 2, 3]

2、字典dictionary

        字典相当于c++中的map,用来保存一些键值对。其中键不可以重复,若是重复了的话,这个键会以字典中最后一次定义的值为准。字典是无序的,不可以切片和索引。

        字典相关的基本操作有:

  (1) 增加键值对

        添加一个键值对可以直接通过字典的名字直接定义。例如:

>>> dic={"1":1,"2":2}
>>> dic["3"]=3
>>> print(dic)
{'1': 1, '2': 2, '3': 3}

        若想添加多个键值对,可以使用update函数。例如:

>>> dic.update({"4":4,"5":5})
>>> print(dic)
{'1': 1, '2': 2, '3': 3, '4': 4, '5': 5}

  (2) 删除一个键值对

        由于字典是无序的,所以不能通过索引来删除键值对,可以使用del通过键名来删除。例如:

>>> del dic["5"]
>>> print(dic)
{'1': 1, '2': 2, '3': 3, '4': 4}

  (3) 修改某个键值对的值

        修改其实就是重新定义,就使用增加一个键值对的方法修改,让新添加的覆盖掉旧的。例如:

>>> dic["4"]=10
>>> print(dic)
{'1': 1, '2': 2, '3': 3, '4': 10}

3、元组

        元组与列表十分类似,但是元组中的元素是不能被修改的。相当于定义了一个常数组。例如:

>>> dic=(1,2,3,"4","5","6",(7,8,9))
>>> print(dic)
(1, 2, 3, '4', '5', '6', (7, 8, 9))

4、集合

        Python中的集合和数学中的集合的概念非常相似,不能有重复的元素,是无序的。可以求交、并、差集。而且处理数据非常高效。一般用作查询某个元素是否存在于集合中。例如:

>>> a={1,2,3,4,5}
>>> print(a)
{1, 2, 3, 4, 5}

        set常用的操作有:

  (1)  添加元素

        add函数可以添加一个元素,若元素已经存在,不会报错,但不会重复地存进去。

>>> c={1,2,3}
>>> c.add(4)
>>> print(c)
{1, 2, 3, 4}
>>> c.add(1)
>>> print(c)
{1, 2, 3, 4}

  (2) 删除元素

        remove函数删除集合中的元素,若不存在则报错。

>>> c={1,2,3,4}
>>> c.remove(3)
>>> print(c)
{1, 2, 4}
>>> c.remove(3)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 3

        而discard函数与remove用法相同,只是用discard时,若删除的元素不存在也不会报错。

  (3) 求两个集合的交集

        直接使用位运算符“&”即可。

>>> a={1,2,3}
>>> b={2,3,4}
>>> print(a&b)
{2, 3}

  (4) 求两个集合的并集

        使用位运算符“|”

>>> a={1,2,3}
>>> b={2,3,4}
>>> print(a|b)
{1, 2, 3, 4}

Python中的流程控制语句

1、输入语句

        Python中使用input函数来从控制台接收一个输入。例如:

>>> i=input("请输入一个数:")
请输入一个数:10
>>> print(i)
10

2、条件语句

        Python中对缩进要求非常严格,其条件语句的基本格式为:

if 条件表达式:
    代码块
      ·
      ·
      ·
else:
    代码块
      ·
      ·
      ·

        例如:

i=10
if(i>5):
    if(i<15):
        print("好大的数") 
    else:
        print("一般般吧")
else:
    print("好小的数")

        每个代码块的缩进必须一致。例如:

i=10
if(i>5):
    if(i>15):
        print("好大的数")
        print("嘿嘿")
    print("哈哈")

        输出哈哈的语句并不包括在第二个if后面的代码块中,所以会输出哈哈。

3、循环语句

        Python中的循环有for循环和while循环两种

  (1)  for循环

        for循环可以用来遍历某一对象

例如:

>>> for temp in range(1,11):
...     print(temp,end=" ")
... else:
...     print("循环完成!")
...
1 2 3 4 5 6 7 8 9 10 循环完成!

        else语句会在for循环遍历完或者while后的表达式边为false时执行,但是若循环被break中断则不会执行。

  (2) while循环

>>> i=10
>>> while(i>5):
...     print(i,end=" ")
...     i-=1
... else:
...     print("循环完成!")
...
10 9 8 7 6 循环完成!

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值