美文网首页
#python入门1#入门

#python入门1#入门

作者: MORESIR | 来源:发表于2016-11-28 11:14 被阅读9次
终端进入命令行模式

python

命令行退出终端

exit()

命令行执行.py脚本

python hello.py

打印信息

print() 函数也可以接受多个字符串,用逗号“,”隔开,就可以连成一串输出

用户输入

input()
input('提示文字')

# print absolute value of an integer:
a = 100
if a >= 0: 
    print(a)
else: 
    print(-a)

以#开头的语句是注释,注释是给人看的
其他每一行都是一个语句,当语句以冒号: 结尾时,缩进的语句视为代码块。
Python还允许用r'' 表示''内部的字符串默认不转义

数据类型
  1. 如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用 '''...''' 的格式表示多行内容
    **
>>> print('''line1
... line2
... line3''')
line1
line2
line3
  1. 空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。
注意事项

Python程序是大小写敏感的,如果写错了大小写,程序会报错

字符串编码

以Unicode表示的str通过 ** encode() ** 方法可以编码为指定的bytes

>>> 'ABC' . encode('ascii')
b'ABC'
>>>'中文'  . encode('utf-8')
b'\xe4\xb8\xad\xe6\x96\x87'
  • 纯英文的str可以用ASCII编码为bytes,内容是一样的,含有中文的str可以用UTF-8编码为bytes。含有中文的str无法用ASCII编码,因为中文编码的范围超过了ASCII编码的范围,Python会报错。
  • 在bytes中,无法显示为ASCII字符的字节,用\x##显示。

反过来,如果我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就需要用 ** decode() **方法

>>> b'ABC'.decode('ascii')
'ABC'
>>> b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
'中文'
字符串操作函数
  • 计算str 包含多少字符,可以用 ** len() **
>>> len('abc')
3
>>> len('汇总')
2
  • len()函数计算的是str的字符数,如果换成bytes, len()函数就计算成字节数
 >>>len(b'ABC')
3
>>>len(b'\xe4\xb8\xad\xe6\x96\x87)
6
>>>len('中文' . encode('utf-8'))
6
当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:

#!/usr/bin/env python3
# -- coding: utf-8 --

  • 第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;
  • 第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。
  • 确保文本编辑器正在使用UTF-8 without BOM编码
格式化输出
  • 在Python中,采用的格式化方式和C语言是一致的,用%实现
%d 整数
%f 浮点数
%s 字符串
%x 十六进制整数
>>> 'Hello, %s' % 'world'
'Hello, world'
>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)
'Hi, Michael, you have $1000000.'
  • 格式化整数和浮点数还可以指定是否补0和整数与小数的位数
>>> '%05d' %2
'00002'
>>> '%.3f' % 3.14245234234
'3.142'

list 和 tuple

  • list是一种有序的集合
>>> classmates = ['michael', 'bob', 'tracy']
>>> classmates[0]   // michael
>>> classmates[1]   // bob
>>> classmates[2]  // tracy
>>> classmates[-1] // tracy
>>> classmates[-2] //bob
末尾插入数据
>>> classmates.append('adam')  // ['michael', 'bob', 'tracy', 'adam']
指定位置插入数据
>>> classmates.insert(1, 'jack') // 'michael', 'jack', 'bob', 'tracy', 'adam']
删除末尾数据
>>> classmates.pop()  // ['michael', 'jack', 'bob', 'tracy']
删除指定位置数据
>>> classmates.pop(1) // ['michael', 'bob', 'tracy']
替换指定元素
>>> classmates[1] = 'hello' // ['michael', 'hello', 'tracy']
元素可以是另一个list
>>> s = ['michael', 'jack', ['asp', 'php', 'ios'], 'tracy']
>>> len(s)  // 4
获取php值
>>> len[2][1]
  • tuple 另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改

>>> classmates = ('michael', 'bob', 'tracy')

现在,classmates这个tuple不能变了,它也没有append(),insert()这样的方法。其他获取元素的方法和list是一样的,你可以正常地使classmates[0]
,classmates[-1],但不能赋值成另外的元素。

>>> class = () //定义空的tupple

但是,要定义一个只有1个元素的tuple,如果你这么定义:

>>> t = (1)
>>> t
1

定义的不是tuple,是1这个数!这是因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是1。所以,只有1个元素的tuple定义时必须加一个逗号,,来消除歧义:

>>> t = (1,)
>>> t
(1,)

  • 最后来看一个“可变的”tuple
>>> t=('a', 'b', ['A', 'B'])
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a', 'b', ['X', 'Y'])

看看定义的时候tuple包含的3个元素

tuple-0
所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变
学习来源于廖雪峰教程

相关文章

网友评论

      本文标题:#python入门1#入门

      本文链接:https://www.haomeiwen.com/subject/fikwuttx.html