第一个python程序(2)

1 命令行模式和 Python 交互模式

 

  看到类似cmd 窗口  是在 Windows提供的命令行模式:

在命令行模式下,可以执行 python 进入 Python 交互式环境,也可以执

python hello.py 运行一个 .py 文件。

如:

 

Python 交互式环境会把每一行 Python代码的结

果自动打印出来,但是,直接运行 Python 代码却不会



2 数据类型和变量

 

变量定义 会变的量,作用是保存数据

 

请务必牢记下述有关变量的规则。

q  1 变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打 头,例如,可将变量命名为message_1,但不能将其命名为1_message

q  2 变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名greeting_message 可行,但变量名greeting message会引发错误。

q  3 不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,

q  4 变量名应既简短又具有描述性。例如,namen好,student_names_n好,name_length length_of_persons_name好。

q  5 慎用小写字母l和大写字母O,因为它们可能被人错看成数字10

要创建良好的变量名,需要经过一定的实践,在程序复杂而有趣时尤其如此。随着你编写的

程序越来越多,并开始阅读别人编写的代码,将越来越善于创建有意义的变量名



数据类型

 

1、字符串
2、布尔类型
3、整数
4、浮点数
5、数字
6、列表
7、元组
8、字典
9、日期

10 , 空值

11 ,自定义数据类型

 

先看布尔类型  整数  浮点数  数字  空值  字符串 其他的放置后面

 

 

数据类型判断

 

isinstance(判断参数,类型) #可以判断继承关系的类型

type(查看数据类型)

 

 

数据类型转换

数字类型和字符串之间转换

1 int函数能够
     1)把符合数学格式的数字型字符串转换成整数
     2)把浮点数转换成整数,但是只是简单的取整,而非四舍五入。

 

2 float函数将整数和字符串转换成浮点数

   


3 str函数将数字转换成字符

 

 

3 输入和输出

输出  :  print() 在括号中加上字符串,就可以向屏幕上输出指定的文字。比

如输出 'hello, world'

输入 : Python 提供了一个input(),可以让用户输入字符串,并存放到一个变量里

 

 

常量

所谓常量就是不能变的变量 Python 中,通常用全部大写的变量名表示常量:

PI = 3.14159265359

Python 根本没有任何机制保证PI不会被改变,所以,用全部大写的变量名表示常量只是一个习惯上的用法

 

 

 

字符串常见的方法和字符编码

 

字符串比较特殊的是还有一个编码问题 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理

ASCII 编码只有 127个字母被编码到计算机里,也就是大小写英文字母、数字和一些符号

 

 

但是不可以保存中文中国制定了 GB2312编码,用来把中文编进去。这样一来每个国家都有自己的编码,结果就是,在多语言混合的文本中,显示出来会有乱码

因此,Unicode应运而生。Unicode把所有语言都统一到一套编码里,

 

Utf-8

Unicode 编码转化为“可变长编码”

UTF-8 编码。UTF-8 编码把一个Unicode字符根据不同的数字大小编

码成 1-6 个字节,常用的英文字母被编码成 1 个字节,汉字通常是3

字节,只有很生僻的字符才会被编码成 4-6个字节。如果你要传输的文

本包含大量英文字符,用UTF-8编码就能节省空间

 

Python中提供了

ord() 函数获取字符的整数表示,

chr() 函数把编码转换为对应的字符如:

ord('A')

65

>>> ord('')

20013

>>> chr(66)

'B'

>>> chr(25991)

''

 

 

字符转换字节

一个字符对应若干个字节。如果要在网络上传输,或者保存到磁盘上,就需要把

str 变为以字节为单位的bytesPythonbytes类型的数据用带b前缀的单引号或双引号表示如:

     x = b'ABC'

要注意区分 'ABC' b'ABC',前者是str,后者虽然内容显示得和前者一

样,但 bytes 的每个字符都只占用一个字节

 

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

>>> 'ABC'.encode('ascii')

b'ABC'

>>> '中文'.encode('utf-8')

b'\xe4\xb8\xad\xe6\x96\x87'

>>> '中文'.encode('ascii')

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1:

ordinal not in range(128)

纯英文的 str 可以用 ASCII 编码为 bytes ,内容是一样的,含有中文的str

可以用 UTF-8 编码为bytes。含有中文的str无法用ASCII编码,因为中

文编码的范围超过了 ASCII 编码的范围,Python 会报错

 

字节转换成字符

 bytes 变为 str,就需要用decode()方法:

>>> b'ABC'.decode('ascii')

'ABC'

>>> b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')

'中文

 

str中常见的函数

1  len() 函数计算的是 str的字符数,如果换成byteslen()函数就计算字

节数:

>>> len(b'ABC')

3

>>> len(b'\xe4\xb8\xad\xe6\x96\x87')

6

>>> len('中文'.encode('utf-8'))

6

可见,1 个中文字符经过 UTF-8 编码后通常会占用3个字节,而1个英

文字符只占用 1 个字节

 

2  title() 以首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写

name = "ada lovelace"

print(name.title())

结果是:Ada Lovelace

 

3  upper() 转换成大写  lower()转换成小写

name = "Ada Lovelace"

print(name.upper())

print(name.lower())

结果是:

ADA LOVELACE

ada lovelace

 

 

 

4  合并字符串  Python使用加号(+)来合并字符串

first_name = "ada"

last_name = "lovelace"

full_name = first_name + " " + last_name

print(full_name)

结果是

ada lovelace

 

5 rstrip() 去字符串后面空格(空白)

  lstrip()

  strip() 两端

 

6 count() 方法用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置 

 如:

str="www.runoob.com"

sub='o'

print ("str.count('o') : ", str.count(sub))

结果

str.count('o') :  3

 

 

7 find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1

 

str1 = "Runoob example....wow!!!"

str2 = "exam";

 

print (str1.find(str2))

print (str1.find(str2, 5))

print (str1.find(str2, 10))

 

结果如下:

7

7

-1

 

8  index() 方法检测字符串中是否包含子字符串 str,如果指定beg(开始) 和end(结束) 范围,则检查是否包含在指定范围内,该方法与python find()方法一样,只不过如果str不在string中会报一个异常

 

 9 join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串

s1 = "-"

s2 = ""

seq = ("r", "u", "n", "o", "o", "b") # 字符串序列

print (s1.join( seq ))

print (s2.join( seq ))

结果如下:

r-u-n-o-o-b

Runoob

 

10 replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次

str = "www.w3cschool.cc"

print ("菜鸟教程新地址:", str)

print ("菜鸟教程新地址:", str.replace("w3cschool.cc", "runoob.com"))

 

str = "this is string example....wow!!!"

print (str.replace("is", "was", 3))

 

结果如下:

菜鸟教程新地址: www.w3cschool.cc

菜鸟教程新地址: www.runoob.com

thwas was string example....wow!!!

 

11 split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串

  str = "this is string example....wow!!!"

print (str.split( ))

print (str.split('i',1))

print (str.split('w'))

 

结果如下:

['this', 'is', 'string', 'example....wow!!!']

['th', 's is string example....wow!!!']

['this is string example....', 'o', '!!!']


 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值