python的基本知识点

news/2024/7/7 20:02:24

一.数据类型

1.整数
2.浮点数
3.字符串
4.布尔值:True/False
5.空值:None

二.变量

变量名必须是大小写英文、数字和_的组合,且不能以数字开头

三.常量

全部大写的变量名表示常量,python没有一种机制保证常量不能被修改.
PI = 3.14156

四.特殊的地板除 //

// 除法只取结果的整数部
如:
10 // 3
输出3

五.字符串和编码

1.编码的发展:

最开始ASCII(1个字节),存储127个字符(字母和一些符号).遇到中文或其他国家的文字时,出现了乱码,为了解决这个问题,又出现了Unicode编码(2个字节表示一个字符,特殊字符用到4个字节).但因为通常Unicode用2个字节表示一个字符,这导致了它比较占用空间,比如A,这其实可以用一个字节就能表示.于是出现了编码转化为“可变长编码”的UTF-8编码,UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。

在计算机内存中统一用Unicode编码,但需要保存或传输的时候,就转换为utf-8编码.

2.python的字符串是Unicode编码

ord()函数获取字符的整数表示
chr()函数把编码转换为对应的字符

print(ord('夏'))
print(chr(20013))

  

输出:
22799

如果知道字符的整数编码,还可以用十六进制这么写

print(hex(ord('中')))
print(hex(ord('文')))
print('\u4e2d\u6587')

  

输出:
0x4e2d
0x6587
中文

 

3.字节

Python对bytes类型的数据用带b前缀的单引号或双引号表示:
x = b'ABC'

bytes中的每个字符只占用一个字节

4.字符和字节的相互转换

(1).字符转字节

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

print('ABC'.encode('ascii'))
print('中文'.encode('utf-8'))

  

输出:
b'ABC'
b'\xe4\xb8\xad\xe6\x96\x87'

(2).字节转字符:

通过字节的decode实现

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

  

输出:
ABC
中文

5.常用的len函数:

(1).计算字符串长度
(2).计算字节长度
(3).计算列表/元组等长度

如:

print(len(b'\xe4\xb8\xad\xe6\x96\x87'))
print(len(b'abc'))
print(len('ok中文'))
print(len([0, 1]))

  

输出:
6
3
4
2

 

应当始终坚持使用UTF-8编码对str和bytes进行转换

 

6.格式化:

(1).% 元组,如

"%s world, my name is %s, age: %d" % ('hello', 'rorshach', 14)
"%s word" % 'hello'

常见占位符:
占位符   替换内容
%d     整数
%f     浮点数
%s     字符串
%x     十六进制整数

(2).format

"{0} world, my name is {1}, age: {2}".format('hello', 'rorshach', 14)

 

六.判断

python使用and做与运算,使用or做或运算;对于非零数值、非空字符串、非空list等,就判断为True,否则为False

 

如:

a = [1]
if a:print('right')
else:print('wrong')

  

输出:
wrong

示例代码:

a = 1
b = 2if a == 1 and b ==2:print('a=1,b=2')
elif a == 1 or b == 2:print('a=1 or b=2')
else:print('no')

  

七.循环

两种循环:

1.for ... in

如:

for x in range(10):print(x)

2.while:

x = 0
while x <= 9:print(x)x += 1

  

注:python没有++,--等自增/自减运算

3.break:跳出循环

4.continue:忽略本次,继续下一次循环

 

转载于:https://www.cnblogs.com/itfenqing/p/10253421.html


http://lihuaxi.xjx100.cn/news/235559.html

相关文章

玩转ios友盟远程推送,16年5月图文防坑版

最近有个程序员妹子在做远程推送的时候遇到了困难&#xff0c;求助本帅。尽管本帅也是多彩的绘图工具&#xff0c;从没做过远程推送&#xff0c;但是本着互相帮助&#xff0c;共同进步的原则&#xff0c;本帅还是掩饰了自己的彩笔身份&#xff0c;耗时三天&#xff08;休息时间…

微信支付 常见报错

2019独角兽企业重金招聘Python工程师标准>>> https://blog.csdn.net/hj7jay/article/details/51217784 转载于:https://my.oschina.net/f839903061/blog/3058256

HDFS的shell和API操作

1. HDFS的shell操作 hadoop version //查看版本 hadoop fs -appendToFile src(Linux中的文件) dest(hdfs目录下的文件) //追加 hadoop fs -cat file(hdfs目录下的文件) //查看文件内容 Hadoop fs -tail file(hdfs目录下的文件) //查看文件末尾1kb的数据…

【mysql错误】用as别名 做where条件,报未知的列 1054 - Unknown column 'name111' in 'field list'...

需求&#xff1a;SELECT a AS b WHRER b1; //这样使用会报错&#xff0c;说b不存在。 因为mysql底层跑SQL语句时&#xff1a;where 后的筛选条件在先&#xff0c; as B的别名在后。所以机器看到where 后的别名是不认的&#xff0c;所以会报说B不存在。 这个b只是字段a查询结…

【Swift】 GETPOST请求 网络缓存的简单处理

GET & POST 的对比 源码&#xff1a; https://github.com/SpongeBob-GitHub/Get-Post.git 1. URL - GET 所有的参数都包含在 URL 中 1. 如果需要添加参数&#xff0c;脚本后面使用 ? 2. 参数格式&#xff1a;值对 参数名值 3. 如果有多个参数&#xff0c;使用 & 连接 …

CF1148F - Foo Fighters

CF1148F - Foo Fighters 题意&#xff1a;你有n个物品&#xff0c;每个都有val和mask。 你要选择一个数s&#xff0c;如果一个物品的mask & s含有奇数个1&#xff0c;就把val变成-val。 求一个s使得val总和变号。 解&#xff1a;分步来做。发现那个奇数个1可以变成&#x…

iOS中几种定时器

一、NSTimer 1. 创建方法 NSTimer *timer [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:selector(action:) userInfo:nil repeats:NO];TimerInterval : 执行之前等待的时间。比如设置成1.0&#xff0c;就代表1秒后执行方法target : 需要执行方法的对象…

Ubuntu 上创建常用磁盘阵列

RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出&#xff0c;最初是为了组合小的廉价磁盘来代替大的昂贵磁盘&#xff0c;同时希望磁盘失效时不会使对数据的访问受损 失而开发出一定水平的数据保护技术。RAID就是一种由多块廉价…