Python_变量和数据类型_chapter2

0.

(1)py3对中文支持较好;py2需要在程序中加入‘#coding:utf-8’才能支持中文字符

(2)py3中msg = input()读入的内容是字符串,相当于py2中的raw_input();py2中的input()函数要求类型,比如字符串必须有引号'Hello',否则会报错

(3)命令

    dir()列出指定类或者模块包含的全部内容(函数,方法,类,变量等)     dir(str)

    help()查看某个函数或者方法的帮助文档    help(str.title)

(4)1 和  True相同;   0和False相同

1.type(),输出传入数据的类型

>>> a = 's'
>>> type(a)
<class 'str'>

2.print(value, ..., sep='', end='', file=sys.stdout, flush=False)输出函数

参数可以指定 分隔符, 结束符(默认是\n), 目标文件(默认是sys.stdout),是否立即刷新输出缓存

#输出字符串到终端
>>> print('key:', key, 'value:', value, sep='*', end='@')
key:*name*value:*test@>>>

#输出内容到文件
>>> f = open('d:/py_print.txt', 'w')
>>> print('将内容输出至文件', file = f)
>>> f.close()

3.Python 中的关键字

>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def',
 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in',
 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 
'with', 'yield']

4.Py3中的内置函数

https://www.cnblogs.com/yuxuanlian/p/10289190.html

5. 数值类型

  (1)整型支持None

>>> a = None
>>> print(a)
None
>>> print(type(a))
<class 'NoneType'>

    注:    支持  1_000_000    ~   1000000 

  (2)进制数表示

    0x30   ~  0X30   十六进制

    0b30  ~   0B30   二进制

    0o30  ~  0O30    八进制

>>> hex_val = 0x30
>>> print(hex_val)
48

  (3)浮点数

    3.14

    5.12e2    ~    512

    注:科学计数法表示的数类型是浮点数类型

>>> f1 = 3.14
>>> f2 = 3.14e2
>>> f3 = 5e2
>>> type(f1)
<class 'float'>
>>> type(f2)
<class 'float'>
>>> type(32)
<class 'int'>
>>> type(f3)
<class 'float'>

  (4)复数

>>> cp1 = 3+1j
>>> cp2 = 1-2j
>>> type(cp1)
<class 'complex'>
>>> print(cp1-cp2)
(2+3j)

#复数开方
>>> import cmath
>>> print(cmath.sqrt(-1))
1j

 6.字符串(其内容是不能通过下标访问的方式改变的)

(1)用’‘和“”没有任何区别

(2)如果字符串内容中包含了', 可以用""将字符串包含;反之也有效;若单双引号都包含,则可以用\进行转义

"I'm a Dever"
'I"m a Dever'
'I\"m \'a "Dever"'

(3)这种情况会进行字符串拼接

>>> s1 = '123'   "345"
>>> print(s1)
123345

>>> print(s1+s1)
123345123345

(4)py允许字符串之间的直接拼接, 但是不允许数字与字符串直接拼接,需借助str()或者repr()将数字转为字符串

 注: str()和repr()有所不同,看代码输出

>>> a = 2.13
>>> print(s1 + str(a))
1233452.13
>>> print(s1 + '|' + str(a))
123345|2.13

#注意str和repr的区别
>>> print(s1, str(s1), repr(s1), sep='\n')
123345
123345
'123345'

(5)长字符(用三个’或者"包含, 内容可以包含单引号,双引号等等,无需转义)

(6)接续符   \

>>> s= '123 456\
...  789'
>>> print(s)
123 456 789

(7)原始字符串,不受转义符号\的影响(或者直接用'''G\Dir\File'''也行)

>>> s = 'G\Dir\file'
>>> print(s)
G\Dirile
>>> sr = r'G\Dir\file'
>>> print(sr)
G\Dir\file

(8)字节串bytes

>>> s = '''G\File汉字\Dir'''
>>> print(s[2:3])
F
>>> print(s[6:7])
汉
>>> print(s[5:7])
e汉



>>> sb = bytes(s, encoding='utf-8')
>>> print(sb)
b'G\\File\xe6\xb1\x89\xe5\xad\x97\\Dir'
>>> sd_decode = sb.decode('utf-8')
>>> print(sd_decode)
G\File汉字\Dir

(9)格式化字符串

     -表示左对齐(默认是右对齐)

     +表示数值总是带着符号(正数带+,负数带-)

     0表示不补充空格,补充0

>>> a= 1
>>> b = str
>>> print("a=%+6d, b=%6s" % (a, b))
a=    +1, b=<class 'str'>



>>> b = 'str'
>>> print("a=%+6d, b=%6s" % (a, b))
a=    +1, b=   str

# 8表示最小宽度是8, 3表示保留三位小数
>>> print("%+-08.3f" % a)
+3.142
>>> print("%+08.3f" % a)
+003.142

# 字符串
>>> s = 'Chanalle'
>>> print("%.3s" % s)
Cha
>>> print("%10.3s" % s)
       Cha

(10)序列化字符串

>>> s = 'this is a test'
>>> s[1:2]
'h'
>>> s[1:-5]
'his is a'
>>> s[1:]
'his is a test'
>>> s[-5:]
' test'

(11)字符串常用函数

    大小写相关:    s.title()每个单词首字母大写;lower()全小写;upper()全大写

    删除空格:    strip()删除首尾空格;lstrip()删除开始空格;rstrip()删除末尾空格

   查找替换相关: startswith()/endswith()以某串开始/结束;

                           find()返回指定串第一次出现的下标(没有返回-1)(可以指定开始的下标)

                           index()返回指定串的下标,没有会引发错误

                           replace(a, b, 2)将串中的第2个a替换为b

                           translate()

>>> s = 'this is a test'
#116(t)  ->  964(τ)
>>> table = {116:964}
>>> s.translate(table)
'τhis is a τesτ'

# 可以用str.maketrans创建table(已最后出现的为准)
>>> table = str.maketrans('thisis', 'THISIS')
>>> s.translate(table)
'THIS IS a TeST'
>>> table = str.maketrans('thisis', 'THISOD')
>>> s.translate(table)
'THOD OD a TeDT'


>>> s = '123;;456'
>>> s.split(';')
['123', '', '456']
>>> s.split(';;')
['123', '456']
>>> s.replace(';;', '/')
'123/456'
>>> s = '123;;456;;567;;333'

# 最多找到两个;;后停止分割
>>> s.split(';;', 2)
['123', '456', '567;;333']

7.运算符

/除;//整数除法;**乘方

and;or;not  与;或;非

in运算符

>>> s = 'this is a test'
>>> 'is' in s
True

三目运算符    True对应的行为     if     表达式      else      False对应的行为

>>> print(123) if 13 > 10 and 12 < 13 else print(456)
123
>>> print(123) if 1 > 10 and 12 < 13 else print(456)
456
>>> print(123) if not 1 and 1 > 10 and 12 < 13 else print(456)
456
>>> print(123) if not 1 and 11 > 10 and 12 < 13 else print(456)
456
>>> print(123) if not 0 and 11 > 10 and 12 < 13 else print(456)
123

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值