02ython基础知识(一)

Python基础知识(一)

变量

name='monkeyfx'

变量定义的规则:

  • 变量名只能是 字母、数字或下划线的任意组合
  • 变量名的第一个字符不能是数字
  • 以下关键字不能声明为变量名:

    ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

字符编码

ascill

默认ascill 英文 1字符1字节8个比特位

ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。

GB2312(1980年)

7445个字符,包括6763个汉字和682个其它符号。

GBK(中文最常用的)

GB2312 支持的汉字太少。GBK 27484个汉字,手机、MP3一般只支持GB2312。

Unicode万国码

可以代表所有字符和符号的编码Unicode(统一码、万国码、单一码)所有的字符统一1字符2字节16个比特位 即:2 **16 = 65536

2.x版本报错:ascii码无法表示中文

 #-*- coding: utf-8 -*-

3.x版本默认Unicode

UTF-8

UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存

注释

单行注视:

# 被注释内容

多行注释:

""" 被注释内容 """

用户输入

input/raw_input

#name = raw_input("What is your name?") #only on python 2.x
#input读入数据位str格式
name = input("What is your name?")

getpass(在pycharm中不好使)

#输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即:
import getpass
# 将用户输入的内容赋值给 name 变量
pwd = getpass.getpass("请输入密码:")

数据类型

数字

int(整型)

  在32位机器上,整数的位数为32位,取值范围为-231~231-1,即-2147483648~2147483647
  在64位系统上,整数的位数为64位,取值范围为-263~263-1,即-9223372036854775808~9223372036854775807

long(长整型)

  Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。
  注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。
Python3没有long的概念,统一为int

float(浮点型)

  浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。

complex(复数)

  复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。
注:Python中存在小数字池:-5 ~ 257

布尔值

TrueFALSE
非00
非空

字符串

列表

元祖

运算符

算数运算:

假设变量a=10和变量b=20

操作符描述例子
+加法a + b = 30
-减法a - b = -10
*乘法a * b = 200
/b / a = 2
%模(取余)b % a = 0
**指数a**b = 10的20次幂
//地板除(结果是将小数点后的位数被除去的商,取挣)9//2 = 4 而 9.0//2.0 = 4.0

比较运算:

==|!=|<>|>|<|>=|<=
-|

赋值运算:

=|+=|-=|*=|/=|%=|**|//|
-|

位运算符:

位运算符作用于位和位操作执行位。假设,如果a =60;且b =13;现在以二进制格式它们将如下:

a = 0011 1100

b = 0000 1101


a&b = 0000 1100

a|b = 0011 1101

a^b = 0011 0001

~a = 1100 0011

操作符描述示例
&按位与(a & b) = 12 即 0000 1100
按位并(a 丨b) = 61 即 0011 1101
^按位异或(a ^ b) = 49 即 0011 0001
~按位翻转(~a ) = -61 即 1100 0011以2的补码形式由于带符号二进制数。
<<左移运算符a << 2 = 240 即 1111 0000
>>右移动运算符a >> 2 = 15 即 0000 1111
    a = 60            # 60 = 0011 1100b = 13            # 13 = 0000 1101c = 0c = a & b;        # 12 = 0000 1100print "Line 1 - Value of c is ", cc = a | b;        # 61 = 0011 1101print "Line 2 - Value of c is ", cc = a ^ b;        # 49 = 0011 0001 #相同为0,不同为1print "Line 3 - Value of c is ", cc = ~a;           # -61 = 1100 0011print "Line 4 - Value of c is ", cc = a << 2;       # 240 = 1111 0000print "Line 5 - Value of c is ", cc = a >> 2;       # 15 = 0000 1111print "Line 6 - Value of c is ", c

atANEFh.png

面试题

    1、判断一个数是否是2的N次方题目要求:用一个表达式,判断一个数X是否是2的N次方,即2,4,8,16……等,要求不可以用循环语句。解析:2,4,8,16这样的数转化成二进制是10,100,1000,10000。如果X减去1后(低一位并且二进制的每一位都是1),这个数与X做与运算,答案若是0,则X是2的N次方。2、两个数的交换题目要求:将a,b两个数的值进行交换,并且不使用任何的中间变量。解法1:a = a+b;b = a-b;a = a-b;解法2:采用异或位运算。异或运算:相同为0,相异为1。a = a^b;//a变为一个相同为0,相异为1的结果b = a^b;//该结果和b做运算,得到原来的aa = a^b;//该结果和a做运算,得到原来的b

学习资料
http://python.jobbole.com/85168/

逻辑运算:

运算符|描述|示例
-|
and |与运算符。如果两个操作数都是真的,那么则条件成立。|(a and b) 为 true.
or |或运算符。如果有两个操作数都是非零然后再条件变为真。|(a or b) 为 true.
not |非运算符。用于反转操作数的逻辑状态。如果一个条件为真,则逻辑非运算符将返回false。|not(a and b) 为 false.

成员运算:

操作符描述
in计算结果为true,如果它在指定找到变量的顺序,否则false。
not in计算结果为true,如果它不找到在指定的变量顺序,否则为false。

运算符优先级

运算符描述
**幂(提高到指数)
~ + -补码,一元加号和减号(方法名的最后两个+@和 - @)
* / % //乘,除,取模和地板除
+ -加法和减法
>> <<左,右按位转移
&位'AND'
^按位异'或'和定期或'
<= < > >=比较运算符
<> == !=等式运算符
= %= /= //= -= += *= **=赋值运算符
is is not标识运算符
in not in成员运算符
not or and逻辑运算符

流程控制

if-else

if-elif-elif-else

for循环

for i in range(10):print(i )
a=[1,2,3,4]
for item in a:print(item )

while 条件:

continue用于退出当前循环,继续下一次循环

break用于退出所有循环

三元运算

condition ? true_part : false_part
判定条件?为真时的结果:为假时的结果

    result=5>3?1:0>>> 1 if True else 01>>> 1 if False else 00>>> "Fire" if True else "Water"'Fire'>>> "Fire" if False else "Water"'Water'

lambda表达式

    m = lambda x,y,z: (x-y)*zprint m(3,1,2)#结果是4sum = lambda x, y:   x + y   #  def sum(x,y): #       return x + ysum = lambda x, y:   x + y   #  def sum(x,y): #   return x + y

杂记

  • 单双引号活用

      "I'm monkeyfx"
  • 模块一般放置在Python/2.7/site-packages目录下,所以自己写的模块调用记得加path,或放入上述目录

转载于:https://www.cnblogs.com/monkeyfx/p/6886464.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/269338.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用DataTable.Merge()解决了一个排序问题

首先明确一点&#xff0c;DataTable不支持排序。在一个DataTable(dt)中已经存在无序数据&#xff0c;要实现排序&#xff0c;我想到了两个方法&#xff1a; 方法一&#xff1a;可以先构造一个列表(list),按排序顺序存储dt主键列的值; 然后主要是利用DataTable.Merge方法 1 Stro…

x299服务器芯片组,18核心炸裂!X299主板全集:为它真拼了

慵懒了多年的Intel终于彻底爆发了&#xff0c;一出手就让人震颤&#xff0c;直接把桌面平台从10核心推到了18核心(36线程)&#xff0c;同时带来了新的家接口LGA2066&#xff0c;新的芯片组X299。这无疑是各家主板厂商的新机会&#xff0c;台北电脑展上X299主板就如同雨后春笋一…

常用口语

1. I see&#xff0e; 我明白了。2. I quit! 我不干了!3. Let go! 放手!4. Me too&#xff0e; 我也是。5. My god! 天哪!6. No way! 不行!7. Come on&#xff0e; 来吧(赶快)8. Hold on&#xff0e; 等一等。9. I agree。 我同意。10. Not bad&#xff0e; 还不错。11. Not ye…

更换密码之后连不上数据库

原因 &#xff0c;服务记录的是之前的账号密码&#xff0c;自动开启SQL Server (MSSQL)服务的时候报密码错误。 解决方案&#xff1a; 1.把登录为 不是本地系统的账户密码改成你修改之后的密码。 2.把登录为改成本地系统 然后 启动sql服务 net start mssqlserver . 转载于:htt…

steam服务器102修复,分享steam错误代码102的解决方法

今天来聊聊一篇关于分享steam错误代码102的解决方法的文章,现在就为大家来简单介绍下分享steam错误代码102的解决方法,希望对各位小伙伴们有所帮助。1、打开CMD命令行&#xff0c;具体操作为CtrlR&#xff0c;然后输入CMD&#xff0c;即可进入命令行2、在命令行里面输入“netsh…

【BZOJ3160】万径人踪灭 Manacher+FFT

【BZOJ3160】万径人踪灭 Description Input Output Sample Input Sample Output HINT 题解&#xff1a;自己想出来1A&#xff0c;先撒花~&#xff08;其实FFT部分挺裸的&#xff09; 做这道题&#xff0c;第一思路很重要&#xff0c;显然看到这题的第一想法就是ans总数-不合法&…

金山吹响讨伐灰鸽子的号角

连续三年染指年度十大病毒、被反病毒专家称为最危险的后门程序“灰鸽子”病毒随着“灰鸽子2007”的发布&#xff0c;正在大规模集中爆发&#xff0c;据金山毒霸全球反病毒中 心统计&#xff0c;仅3月1日至13日&#xff0c;金山截获的灰鸽子变种数就达到521个。盗号、偷窥、敲诈…

在架设网站服务器时,实习实习报告网站服务器架设.doc

文档介绍&#xff1a;实****7网站服务器架设一、实验目的了解Web服务器、Ftp服务器基本配置项目;掌握Web服务器、Ftp服务器配置方法;掌握使用Ftp工具向Web服务器发布网页的方法;理解“服务器/客户”网络应用模式。二、实验内容配置并测试Web服务器站点;配置并测试Ftp服务器站点…

nyoj-20-吝啬的国度(深搜)

吝啬的国度 时间限制&#xff1a;1000 ms | 内存限制&#xff1a;65535 KB难度&#xff1a;3描写叙述在一个吝啬的国度里有N个城市。这N个城市间仅仅有N-1条路把这个N个城市连接起来。如今&#xff0c;Tom在第S号城市&#xff0c;他有张该国地图。他想知道如果自己要去參观第…

ADOMD.net概述

ADOMD.NET是一个标准的.NET数据提供者&#xff0c;它主要用来与多维数据源进行通信。它使用支持 XML for Analysis version 1.1标准的数据提供者连接数据源&#xff0c;使用TCP/IP或 HTTP流传输和接受SOAP请求。使用ADOMD.NET可以获取和操作多维数据&#xff0c;KPI和挖掘模型。…

Build Provider 不得不说的事

之前有同学翻译了使用BuildProvider生成DAL的文章&#xff0c;又在网上搜索了一下&#xff0c;感觉这是个很有意思的功能&#xff0c;最近在做点东西用到这个&#xff0c;的确让我省了不少的事情。其实Build Provider所做的工作是把一个文件的内容来控制生成IL代码&#xff0c;…

Python 环境搭建

本章节我们将向大家介绍如何在本地搭建Python开发环境。Python可应用于多平台包括 Linux 和 Mac OS X。你可以通过终端窗口输入 "python" 命令来查看本地是否已经安装Python以及Python的安装版本。Unix (Solaris, Linux, FreeBSD, AIX, HP/UX, SunOS, IRIX, 等等。)W…

sql语句Order by 报错列名不明确

select top 10 column1,column2,column3 from table1 where table1.id not in(select top 0 table1.id from table1 order by column1 asc) order by column1 asc 注意这种写法会报错 列名 column1 不明确 在查下时不把列名写出来&#xff0c;用* 就不会报错&#xff0c;目前还…

div不能控制tr和td的隐藏

可以使用table.rows.length来便历使用table.rows[i].style.display"none";来隐藏 转载于:https://www.cnblogs.com/deadshot123/archive/2007/03/21/682849.html

解决Pytohn安装第三方库出现read timed out 问题

输入pip --default-timeout100 install -U Packages 如pip --default-timeout100 install -U Pillow转载于:https://www.cnblogs.com/yuyang26/p/6898773.html

开发短信发送程序的几则技巧

主要针对smpp协议(扩展协议:cmpp等).1. check resp status and process it, such as incorrect bind status;2. control the send speed, the gw maybe full and can be blocked.3. character encoding.4. test in simulator first.